pub trait Deserialize<'de>: Sized {
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where
        D: Deserializer<'de>
; }
Expand description

A data structure that can be deserialized from any data format supported by Serde.

Serde provides Deserialize implementations for many Rust primitive and standard library types. The complete list is here. All of these can be deserialized using Serde out of the box.

Additionally, Serde provides a procedural macro called serde_derive to automatically generate Deserialize implementations for structs and enums in your program. See the derive section of the manual for how to use this.

In rare cases it may be necessary to implement Deserialize manually for some type in your program. See the Implementing Deserialize section of the manual for more about this.

Third-party crates may provide Deserialize implementations for types that they expose. For example the linked-hash-map crate provides a LinkedHashMap<K, V> type that is deserializable by Serde because the crate provides an implementation of Deserialize for it.

Lifetime

The 'de lifetime of this trait is the lifetime of data that may be borrowed by Self when deserialized. See the page Understanding deserializer lifetimes for a more detailed explanation of these lifetimes.

Required Methods

Deserialize this value from the given Serde deserializer.

See the Implementing Deserialize section of the manual for more information about how to implement this method.

Implementations on Foreign Types

Implementors

impl<'de, T> Deserialize<'de> for BinaryTreeNode<T>where
    T: Deserialize<'de>,

impl<'de, T> Deserialize<'de> for BinaryTree<T>where
    T: Deserialize<'de>,

impl<'de> Deserialize<'de> for Loss

impl<'de> Deserialize<'de> for Config

impl<'de> Deserialize<'de> for Data

impl<'de> Deserialize<'de> for DecisionTree

impl<'de> Deserialize<'de> for GBDT

impl<'de> Deserialize<'de> for FileFormat

impl<'de> Deserialize<'de> for InputFormat

impl<'de> Deserialize<'de> for Map<String, Value>

impl<'de> Deserialize<'de> for Value

impl<'de> Deserialize<'de> for Number

impl<'de> Deserialize<'de> for StartServiceInput

impl<'de> Deserialize<'de> for StartServiceOutput

impl<'de> Deserialize<'de> for InitEnclaveInput

impl<'de> Deserialize<'de> for InitEnclaveOutput

impl<'de> Deserialize<'de> for RunTestInput

impl<'de> Deserialize<'de> for RunTestOutput

impl<'de> Deserialize<'de> for RawJsonInput

impl<'de> Deserialize<'de> for RawJsonOutput

impl<'de> Deserialize<'de> for RuntimeConfig

impl<'de> Deserialize<'de> for AesGcm256Key

impl<'de> Deserialize<'de> for AesGcm128Key

impl<'de> Deserialize<'de> for TeaclaveFile128Key

impl<'de> Deserialize<'de> for UserRegisterRequest

impl<'de> Deserialize<'de> for UserUpdateRequest

impl<'de> Deserialize<'de> for UserLoginRequest

impl<'de> Deserialize<'de> for UserLoginResponse

impl<'de> Deserialize<'de> for UserAuthClaims

impl<'de> Deserialize<'de> for ListUsersRequest

impl<'de> Deserialize<'de> for ListUsersResponse

impl<'de> Deserialize<'de> for DeleteUserRequest

impl<'de> Deserialize<'de> for UserCredential

impl<'de> Deserialize<'de> for FileCryptoInfo

impl<'de> Deserialize<'de> for TaskOutputs

impl<'de> Deserialize<'de> for TaskFailure

impl<'de> Deserialize<'de> for TaskResult

impl<'de> Deserialize<'de> for Result

impl<'de> Deserialize<'de> for Entry

impl<'de> Deserialize<'de> for TaskStatus

impl<'de> Deserialize<'de> for ExecutorStatus

impl<'de> Deserialize<'de> for ExecutorCommand

impl<'de> Deserialize<'de> for GetRequest

impl<'de> Deserialize<'de> for GetResponse

impl<'de> Deserialize<'de> for PutRequest

impl<'de> Deserialize<'de> for DeleteRequest

impl<'de> Deserialize<'de> for EnqueueRequest

impl<'de> Deserialize<'de> for DequeueRequest

impl<'de> Deserialize<'de> for DequeueResponse

impl<'de> Deserialize<'de> for GetInputFileRequest

impl<'de> Deserialize<'de> for FunctionInput

impl<'de> Deserialize<'de> for FunctionOutput

impl<'de> Deserialize<'de> for FunctionArgument

impl<'de> Deserialize<'de> for OwnerList

impl<'de> Deserialize<'de> for GetFunctionRequest

impl<'de> Deserialize<'de> for GetFunctionResponse

impl<'de> Deserialize<'de> for DataMap

impl<'de> Deserialize<'de> for CreateTaskRequest

impl<'de> Deserialize<'de> for CreateTaskResponse

impl<'de> Deserialize<'de> for GetTaskRequest

impl<'de> Deserialize<'de> for GetTaskResponse

impl<'de> Deserialize<'de> for AssignDataRequest

impl<'de> Deserialize<'de> for ApproveTaskRequest

impl<'de> Deserialize<'de> for InvokeTaskRequest

impl<'de> Deserialize<'de> for CancelTaskRequest

impl<'de> Deserialize<'de> for SaveLogsRequest

impl<'de> Deserialize<'de> for AuthorizeApiRequest

impl<'de> Deserialize<'de> for SubscribeResponse

impl<'de> Deserialize<'de> for HeartbeatRequest

impl<'de> Deserialize<'de> for HeartbeatResponse

impl<'de> Deserialize<'de> for PullTaskRequest

impl<'de> Deserialize<'de> for PullTaskResponse

impl<'de> Deserialize<'de> for PublishTaskRequest

impl<'de> Deserialize<'de> for EnclaveMeasurement

impl<'de> Deserialize<'de> for FileAuthTag

impl<'de> Deserialize<'de> for FileCrypto

impl<'de> Deserialize<'de> for ECallStatus

impl<'de> Deserialize<'de> for TeeServiceError

impl<'de> Deserialize<'de> for TeaclaveInputFile

impl<'de> Deserialize<'de> for TeaclaveOutputFile

impl<'de> Deserialize<'de> for HandleFileCommand

impl<'de> Deserialize<'de> for FileAgentRequest

impl<'de> Deserialize<'de> for HandleFileInfo

impl<'de> Deserialize<'de> for FunctionInput

impl<'de> Deserialize<'de> for FunctionOutput

impl<'de> Deserialize<'de> for User

impl<'de> Deserialize<'de> for Function

impl<'de> Deserialize<'de> for FunctionArgument

impl<'de> Deserialize<'de> for FunctionUsage

impl<'de> Deserialize<'de> for FunctionArguments

impl<'de> Deserialize<'de> for FunctionInputFiles

impl<'de> Deserialize<'de> for FunctionOutputFiles

impl<'de> Deserialize<'de> for FunctionInputFile

impl<'de> Deserialize<'de> for FunctionOutputFile

impl<'de> Deserialize<'de> for StagedTask

impl<'de> Deserialize<'de> for UserID

impl<'de> Deserialize<'de> for OwnerList

impl<'de> Deserialize<'de> for TaskStatus

impl<'de> Deserialize<'de> for OutputsTags

impl<'de> Deserialize<'de> for TaskOutputs

impl<'de> Deserialize<'de> for TaskFailure

impl<'de> Deserialize<'de> for ExternalID

impl<'de> Deserialize<'de> for TaskResult

impl<'de> Deserialize<'de> for TaskFileOwners

impl<'de, T: Clone> Deserialize<'de> for TaskFiles<T>where
    T: Deserialize<'de>,

impl<'de> Deserialize<'de> for TaskState

impl<'de, S: StateTag> Deserialize<'de> for Task<S>where
    S: Deserialize<'de>,

impl<'de> Deserialize<'de> for Create

impl<'de> Deserialize<'de> for Assign

impl<'de> Deserialize<'de> for Approve

impl<'de> Deserialize<'de> for Stage

impl<'de> Deserialize<'de> for Run

impl<'de> Deserialize<'de> for Finish

impl<'de> Deserialize<'de> for Done

impl<'de> Deserialize<'de> for Cancel

impl<'de> Deserialize<'de> for Fail

impl<'de> Deserialize<'de> for UserRole

impl<'de> Deserialize<'de> for UserAuthClaims

impl<'de> Deserialize<'de> for ExecutorType

impl<'de> Deserialize<'de> for Executor

impl<'de> Deserialize<'de> for Map<String, Value>

impl<'de> Deserialize<'de> for Value

impl<'de> Deserialize<'de> for Datetime

impl<'de, T> Deserialize<'de> for Spanned<T>where
    T: Deserialize<'de>,

impl<'de, S> Deserialize<'de> for Host<S>where
    S: Deserialize<'de>,

impl<'de> Deserialize<'de> for Url

impl<'de> Deserialize<'de> for Uuid