pub trait SeqAccess<'de> {
type Error: Error;
// Required method
fn next_element_seed<T>(
&mut self,
seed: T,
) -> Result<Option<<T as DeserializeSeed<'de>>::Value>, Self::Error>
where T: DeserializeSeed<'de>;
// Provided methods
fn next_element<T>(&mut self) -> Result<Option<T>, Self::Error>
where T: Deserialize<'de> { ... }
fn size_hint(&self) -> Option<usize> { ... }
}
Expand description
Provides a Visitor
access to each element of a sequence in the input.
This is a trait that a Deserializer
passes to a Visitor
implementation,
which deserializes each item in a sequence.
§Lifetime
The 'de
lifetime of this trait is the lifetime of data that may be
borrowed by deserialized sequence elements. See the page Understanding
deserializer lifetimes for a more detailed explanation of these lifetimes.
§Example implementation
The example data format presented on the website demonstrates an
implementation of SeqAccess
for a basic JSON data format.
Required Associated Types§
Required Methods§
Sourcefn next_element_seed<T>(
&mut self,
seed: T,
) -> Result<Option<<T as DeserializeSeed<'de>>::Value>, Self::Error>where
T: DeserializeSeed<'de>,
fn next_element_seed<T>(
&mut self,
seed: T,
) -> Result<Option<<T as DeserializeSeed<'de>>::Value>, Self::Error>where
T: DeserializeSeed<'de>,
This returns Ok(Some(value))
for the next value in the sequence, or
Ok(None)
if there are no more remaining items.
Deserialize
implementations should typically use
SeqAccess::next_element
instead.
Provided Methods§
Sourcefn next_element<T>(&mut self) -> Result<Option<T>, Self::Error>where
T: Deserialize<'de>,
fn next_element<T>(&mut self) -> Result<Option<T>, Self::Error>where
T: Deserialize<'de>,
This returns Ok(Some(value))
for the next value in the sequence, or
Ok(None)
if there are no more remaining items.
This method exists as a convenience for Deserialize
implementations.
SeqAccess
implementations should not override the default behavior.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.