| <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A data format that can deserialize any data structure supported by Serde."><meta name="keywords" content="rust, rustlang, rust-lang, Deserializer"><title>Deserializer in serde - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../normalize.css"><link rel="stylesheet" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../ayu.css" disabled><link rel="stylesheet" href="../dark.css" disabled><link rel="stylesheet" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../main.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../serde/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../serde/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Deserializer</a></h2><div class="sidebar-elems"><section><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Error">Error</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.deserialize_any">deserialize_any</a></li><li><a href="#tymethod.deserialize_bool">deserialize_bool</a></li><li><a href="#tymethod.deserialize_byte_buf">deserialize_byte_buf</a></li><li><a href="#tymethod.deserialize_bytes">deserialize_bytes</a></li><li><a href="#tymethod.deserialize_char">deserialize_char</a></li><li><a href="#tymethod.deserialize_enum">deserialize_enum</a></li><li><a href="#tymethod.deserialize_f32">deserialize_f32</a></li><li><a href="#tymethod.deserialize_f64">deserialize_f64</a></li><li><a href="#tymethod.deserialize_i16">deserialize_i16</a></li><li><a href="#tymethod.deserialize_i32">deserialize_i32</a></li><li><a href="#tymethod.deserialize_i64">deserialize_i64</a></li><li><a href="#tymethod.deserialize_i8">deserialize_i8</a></li><li><a href="#tymethod.deserialize_identifier">deserialize_identifier</a></li><li><a href="#tymethod.deserialize_ignored_any">deserialize_ignored_any</a></li><li><a href="#tymethod.deserialize_map">deserialize_map</a></li><li><a href="#tymethod.deserialize_newtype_struct">deserialize_newtype_struct</a></li><li><a href="#tymethod.deserialize_option">deserialize_option</a></li><li><a href="#tymethod.deserialize_seq">deserialize_seq</a></li><li><a href="#tymethod.deserialize_str">deserialize_str</a></li><li><a href="#tymethod.deserialize_string">deserialize_string</a></li><li><a href="#tymethod.deserialize_struct">deserialize_struct</a></li><li><a href="#tymethod.deserialize_tuple">deserialize_tuple</a></li><li><a href="#tymethod.deserialize_tuple_struct">deserialize_tuple_struct</a></li><li><a href="#tymethod.deserialize_u16">deserialize_u16</a></li><li><a href="#tymethod.deserialize_u32">deserialize_u32</a></li><li><a href="#tymethod.deserialize_u64">deserialize_u64</a></li><li><a href="#tymethod.deserialize_u8">deserialize_u8</a></li><li><a href="#tymethod.deserialize_unit">deserialize_unit</a></li><li><a href="#tymethod.deserialize_unit_struct">deserialize_unit_struct</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.deserialize_i128">deserialize_i128</a></li><li><a href="#method.deserialize_u128">deserialize_u128</a></li><li><a href="#method.is_human_readable">is_human_readable</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In serde</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="index.html">serde</a>::<wbr><a class="trait" href="#">Deserializer</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/serde/de/mod.rs.html#905-1236">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait Deserializer<'de>: Sized { |
| type <a href="#associatedtype.Error" class="associatedtype">Error</a>: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>; |
| |
| <details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 32 methods</span></summary> fn <a href="#tymethod.deserialize_any" class="fnname">deserialize_any</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_bool" class="fnname">deserialize_bool</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_i8" class="fnname">deserialize_i8</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_i16" class="fnname">deserialize_i16</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_i32" class="fnname">deserialize_i32</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_i64" class="fnname">deserialize_i64</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_u8" class="fnname">deserialize_u8</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_u16" class="fnname">deserialize_u16</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_u32" class="fnname">deserialize_u32</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_u64" class="fnname">deserialize_u64</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_f32" class="fnname">deserialize_f32</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_f64" class="fnname">deserialize_f64</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_char" class="fnname">deserialize_char</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_str" class="fnname">deserialize_str</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_string" class="fnname">deserialize_string</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_bytes" class="fnname">deserialize_bytes</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_byte_buf" class="fnname">deserialize_byte_buf</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_option" class="fnname">deserialize_option</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_unit" class="fnname">deserialize_unit</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_unit_struct" class="fnname">deserialize_unit_struct</a><V>(<br> self,<br> name: &'static str,<br> visitor: V<br> ) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_newtype_struct" class="fnname">deserialize_newtype_struct</a><V>(<br> self,<br> name: &'static str,<br> visitor: V<br> ) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_seq" class="fnname">deserialize_seq</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_tuple" class="fnname">deserialize_tuple</a><V>(<br> self,<br> len: usize,<br> visitor: V<br> ) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_tuple_struct" class="fnname">deserialize_tuple_struct</a><V>(<br> self,<br> name: &'static str,<br> len: usize,<br> visitor: V<br> ) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_map" class="fnname">deserialize_map</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_struct" class="fnname">deserialize_struct</a><V>(<br> self,<br> name: &'static str,<br> fields: &'static [&'static str],<br> visitor: V<br> ) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_enum" class="fnname">deserialize_enum</a><V>(<br> self,<br> name: &'static str,<br> variants: &'static [&'static str],<br> visitor: V<br> ) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_identifier" class="fnname">deserialize_identifier</a><V>(<br> self,<br> visitor: V<br> ) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.deserialize_ignored_any" class="fnname">deserialize_ignored_any</a><V>(<br> self,<br> visitor: V<br> ) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>; |
| |
| fn <a href="#method.deserialize_i128" class="fnname">deserialize_i128</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.deserialize_u128" class="fnname">deserialize_u128</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><br> <span class="where">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.is_human_readable" class="fnname">is_human_readable</a>(&self) -> bool { ... } |
| </details>}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A <strong>data format</strong> that can deserialize any data structure supported by |
| Serde.</p> |
| <p>The role of this trait is to define the deserialization half of the <a href="https://serde.rs/data-model.html">Serde |
| data model</a>, which is a way to categorize every Rust data type into one of |
| 29 possible types. Each method of the <code>Deserializer</code> trait corresponds to one |
| of the types of the data model.</p> |
| <p>Implementations of <code>Deserialize</code> map themselves into this data model by |
| passing to the <code>Deserializer</code> a <code>Visitor</code> implementation that can receive |
| these various types.</p> |
| <p>The types that make up the Serde data model are:</p> |
| <ul> |
| <li><strong>14 primitive types</strong> |
| <ul> |
| <li>bool</li> |
| <li>i8, i16, i32, i64, i128</li> |
| <li>u8, u16, u32, u64, u128</li> |
| <li>f32, f64</li> |
| <li>char</li> |
| </ul> |
| </li> |
| <li><strong>string</strong> |
| <ul> |
| <li>UTF-8 bytes with a length and no null terminator.</li> |
| <li>When serializing, all strings are handled equally. When deserializing, |
| there are three flavors of strings: transient, owned, and borrowed.</li> |
| </ul> |
| </li> |
| <li><strong>byte array</strong> - [u8] |
| <ul> |
| <li>Similar to strings, during deserialization byte arrays can be |
| transient, owned, or borrowed.</li> |
| </ul> |
| </li> |
| <li><strong>option</strong> |
| <ul> |
| <li>Either none or some value.</li> |
| </ul> |
| </li> |
| <li><strong>unit</strong> |
| <ul> |
| <li>The type of <code>()</code> in Rust. It represents an anonymous value containing |
| no data.</li> |
| </ul> |
| </li> |
| <li><strong>unit_struct</strong> |
| <ul> |
| <li>For example <code>struct Unit</code> or <code>PhantomData<T></code>. It represents a named |
| value containing no data.</li> |
| </ul> |
| </li> |
| <li><strong>unit_variant</strong> |
| <ul> |
| <li>For example the <code>E::A</code> and <code>E::B</code> in <code>enum E { A, B }</code>.</li> |
| </ul> |
| </li> |
| <li><strong>newtype_struct</strong> |
| <ul> |
| <li>For example <code>struct Millimeters(u8)</code>.</li> |
| </ul> |
| </li> |
| <li><strong>newtype_variant</strong> |
| <ul> |
| <li>For example the <code>E::N</code> in <code>enum E { N(u8) }</code>.</li> |
| </ul> |
| </li> |
| <li><strong>seq</strong> |
| <ul> |
| <li>A variably sized heterogeneous sequence of values, for example <code>Vec<T></code> |
| or <code>HashSet<T></code>. When serializing, the length may or may not be known |
| before iterating through all the data. When deserializing, the length |
| is determined by looking at the serialized data.</li> |
| </ul> |
| </li> |
| <li><strong>tuple</strong> |
| <ul> |
| <li>A statically sized heterogeneous sequence of values for which the |
| length will be known at deserialization time without looking at the |
| serialized data, for example <code>(u8,)</code> or <code>(String, u64, Vec<T>)</code> or |
| <code>[u64; 10]</code>.</li> |
| </ul> |
| </li> |
| <li><strong>tuple_struct</strong> |
| <ul> |
| <li>A named tuple, for example <code>struct Rgb(u8, u8, u8)</code>.</li> |
| </ul> |
| </li> |
| <li><strong>tuple_variant</strong> |
| <ul> |
| <li>For example the <code>E::T</code> in <code>enum E { T(u8, u8) }</code>.</li> |
| </ul> |
| </li> |
| <li><strong>map</strong> |
| <ul> |
| <li>A heterogeneous key-value pairing, for example <code>BTreeMap<K, V></code>.</li> |
| </ul> |
| </li> |
| <li><strong>struct</strong> |
| <ul> |
| <li>A heterogeneous key-value pairing in which the keys are strings and |
| will be known at deserialization time without looking at the serialized |
| data, for example <code>struct S { r: u8, g: u8, b: u8 }</code>.</li> |
| </ul> |
| </li> |
| <li><strong>struct_variant</strong> |
| <ul> |
| <li>For example the <code>E::S</code> in <code>enum E { S { r: u8, g: u8, b: u8 } }</code>.</li> |
| </ul> |
| </li> |
| </ul> |
| <p>The <code>Deserializer</code> trait supports two entry point styles which enables |
| different kinds of deserialization.</p> |
| <ol> |
| <li> |
| <p>The <code>deserialize_any</code> method. Self-describing data formats like JSON are |
| able to look at the serialized data and tell what it represents. For |
| example the JSON deserializer may see an opening curly brace (<code>{</code>) and |
| know that it is seeing a map. If the data format supports |
| <code>Deserializer::deserialize_any</code>, it will drive the Visitor using whatever |
| type it sees in the input. JSON uses this approach when deserializing |
| <code>serde_json::Value</code> which is an enum that can represent any JSON |
| document. Without knowing what is in a JSON document, we can deserialize |
| it to <code>serde_json::Value</code> by going through |
| <code>Deserializer::deserialize_any</code>.</p> |
| </li> |
| <li> |
| <p>The various <code>deserialize_*</code> methods. Non-self-describing formats like |
| Postcard need to be told what is in the input in order to deserialize it. |
| The <code>deserialize_*</code> methods are hints to the deserializer for how to |
| interpret the next piece of input. Non-self-describing formats are not |
| able to deserialize something like <code>serde_json::Value</code> which relies on |
| <code>Deserializer::deserialize_any</code>.</p> |
| </li> |
| </ol> |
| <p>When implementing <code>Deserialize</code>, you should avoid relying on |
| <code>Deserializer::deserialize_any</code> unless you need to be told by the |
| Deserializer what type is in the input. Know that relying on |
| <code>Deserializer::deserialize_any</code> means your data type will be able to |
| deserialize from self-describing formats only, ruling out Postcard and many |
| others.</p> |
| <h2 id="lifetime"><a href="#lifetime">Lifetime</a></h2> |
| <p>The <code>'de</code> lifetime of this trait is the lifetime of data that may be |
| borrowed from the input when deserializing. See the page <a href="https://serde.rs/lifetimes.html">Understanding |
| deserializer lifetimes</a> for a more detailed explanation of these lifetimes.</p> |
| <h2 id="example-implementation"><a href="#example-implementation">Example implementation</a></h2> |
| <p>The <a href="https://serde.rs/data-format.html">example data format</a> presented on the website contains example code for |
| a basic JSON <code>Deserializer</code>.</p> |
| </div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="associatedtype.Error" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#908">source</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a>: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a></h4></section></summary><div class="docblock"><p>The error type that can be returned if some error occurs during |
| deserialization.</p> |
| </div></details></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_any" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#919-921">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_any" class="fnname">deserialize_any</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Require the <code>Deserializer</code> to figure out how to drive the visitor based |
| on what data type is in the input.</p> |
| <p>When implementing <code>Deserialize</code>, you should avoid relying on |
| <code>Deserializer::deserialize_any</code> unless you need to be told by the |
| Deserializer what type is in the input. Know that relying on |
| <code>Deserializer::deserialize_any</code> means your data type will be able to |
| deserialize from self-describing formats only, ruling out Postcard and |
| many others.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_bool" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#924-926">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_bool" class="fnname">deserialize_bool</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a <code>bool</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_i8" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#929-931">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_i8" class="fnname">deserialize_i8</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting an <code>i8</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_i16" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#934-936">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_i16" class="fnname">deserialize_i16</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting an <code>i16</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_i32" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#939-941">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_i32" class="fnname">deserialize_i32</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting an <code>i32</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_i64" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#944-946">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_i64" class="fnname">deserialize_i64</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting an <code>i64</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_u8" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#963-965">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_u8" class="fnname">deserialize_u8</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a <code>u8</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_u16" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#968-970">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_u16" class="fnname">deserialize_u16</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a <code>u16</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_u32" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#973-975">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_u32" class="fnname">deserialize_u32</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a <code>u32</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_u64" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#978-980">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_u64" class="fnname">deserialize_u64</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a <code>u64</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_f32" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#997-999">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_f32" class="fnname">deserialize_f32</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a <code>f32</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_f64" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1002-1004">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_f64" class="fnname">deserialize_f64</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a <code>f64</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_char" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1007-1009">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_char" class="fnname">deserialize_char</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a <code>char</code> value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_str" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1018-1020">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_str" class="fnname">deserialize_str</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a string value and does |
| not benefit from taking ownership of buffered data owned by the |
| <code>Deserializer</code>.</p> |
| <p>If the <code>Visitor</code> would benefit from taking ownership of <code>String</code> data, |
| indicate this to the <code>Deserializer</code> by using <code>deserialize_string</code> |
| instead.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_string" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1029-1031">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_string" class="fnname">deserialize_string</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a string value and would |
| benefit from taking ownership of buffered data owned by the |
| <code>Deserializer</code>.</p> |
| <p>If the <code>Visitor</code> would not benefit from taking ownership of <code>String</code> |
| data, indicate that to the <code>Deserializer</code> by using <code>deserialize_str</code> |
| instead.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_bytes" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1040-1042">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_bytes" class="fnname">deserialize_bytes</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a byte array and does not |
| benefit from taking ownership of buffered data owned by the |
| <code>Deserializer</code>.</p> |
| <p>If the <code>Visitor</code> would benefit from taking ownership of <code>Vec<u8></code> data, |
| indicate this to the <code>Deserializer</code> by using <code>deserialize_byte_buf</code> |
| instead.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_byte_buf" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1051-1053">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_byte_buf" class="fnname">deserialize_byte_buf</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a byte array and would |
| benefit from taking ownership of buffered data owned by the |
| <code>Deserializer</code>.</p> |
| <p>If the <code>Visitor</code> would not benefit from taking ownership of <code>Vec<u8></code> |
| data, indicate that to the <code>Deserializer</code> by using <code>deserialize_bytes</code> |
| instead.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_option" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1060-1062">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_option" class="fnname">deserialize_option</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting an optional value.</p> |
| <p>This allows deserializers that encode an optional value as a nullable |
| value to convert the null value into <code>None</code> and a regular value into |
| <code>Some(value)</code>.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_unit" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1065-1067">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_unit" class="fnname">deserialize_unit</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a unit value.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_unit_struct" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1071-1077">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_unit_struct" class="fnname">deserialize_unit_struct</a><V>(<br> self,<br> name: &'static str,<br> visitor: V<br>) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a unit struct with a |
| particular name.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_newtype_struct" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1081-1087">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_newtype_struct" class="fnname">deserialize_newtype_struct</a><V>(<br> self,<br> name: &'static str,<br> visitor: V<br>) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a newtype struct with a |
| particular name.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_seq" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1090-1092">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_seq" class="fnname">deserialize_seq</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a sequence of values.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_tuple" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1096-1098">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_tuple" class="fnname">deserialize_tuple</a><V>(<br> self,<br> len: usize,<br> visitor: V<br>) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a sequence of values and |
| knows how many values there are without looking at the serialized data.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_tuple_struct" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1102-1109">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_tuple_struct" class="fnname">deserialize_tuple_struct</a><V>(<br> self,<br> name: &'static str,<br> len: usize,<br> visitor: V<br>) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a tuple struct with a |
| particular name and number of fields.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_map" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1112-1114">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_map" class="fnname">deserialize_map</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a map of key-value pairs.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_struct" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1118-1125">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_struct" class="fnname">deserialize_struct</a><V>(<br> self,<br> name: &'static str,<br> fields: &'static [&'static str],<br> visitor: V<br>) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting a struct with a particular |
| name and fields.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_enum" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1129-1136">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_enum" class="fnname">deserialize_enum</a><V>(<br> self,<br> name: &'static str,<br> variants: &'static [&'static str],<br> visitor: V<br>) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting an enum value with a |
| particular name and possible variants.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_identifier" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1140-1142">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_identifier" class="fnname">deserialize_identifier</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting the name of a struct |
| field or the discriminant of an enum variant.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.deserialize_ignored_any" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1148-1150">source</a><h4 class="code-header">fn <a href="#tymethod.deserialize_ignored_any" class="fnname">deserialize_ignored_any</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type needs to deserialize a value whose type |
| doesn’t matter because it is ignored.</p> |
| <p>Deserializers for non-self-describing formats may not support this mode.</p> |
| </div></details></div><h2 id="provided-methods" class="small-section-header">Provided Methods<a href="#provided-methods" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deserialize_i128" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#953-959">source</a><h4 class="code-header">fn <a href="#method.deserialize_i128" class="fnname">deserialize_i128</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting an <code>i128</code> value.</p> |
| <p>This method is available only on Rust compiler versions >=1.26. The |
| default behavior unconditionally returns an error.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deserialize_u128" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#987-993">source</a><h4 class="code-header">fn <a href="#method.deserialize_u128" class="fnname">deserialize_u128</a><V>(self, visitor: V) -> Result<V::<a class="associatedtype" href="de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>, Self::<a class="associatedtype" href="trait.Deserializer.html#associatedtype.Error" title="type serde::Deserializer::Error">Error</a>><span class="where fmt-newline">where<br> V: <a class="trait" href="de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a><'de>,</span></h4></section></summary><div class="docblock"><p>Hint that the <code>Deserialize</code> type is expecting an <code>u128</code> value.</p> |
| <p>This method is available only on Rust compiler versions >=1.26. The |
| default behavior unconditionally returns an error.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.is_human_readable" class="method has-srclink"><a class="srclink rightside" href="../src/serde/de/mod.rs.html#1219-1221">source</a><h4 class="code-header">fn <a href="#method.is_human_readable" class="fnname">is_human_readable</a>(&self) -> bool</h4></section></summary><div class="docblock"><p>Determine whether <code>Deserialize</code> implementations should expect to |
| deserialize their human-readable form.</p> |
| <p>Some types have a human-readable form that may be somewhat expensive to |
| construct, as well as a binary form that is compact and efficient. |
| Generally text-based formats like JSON and YAML will prefer to use the |
| human-readable one and binary formats like Postcard will prefer the |
| compact one.</p> |
| |
| <div class="example-wrap edition"><div class='tooltip' data-edition="2018">ⓘ</div><pre class="rust rust-example-rendered"><code><span class="kw">use </span>serde::de::{<span class="self">self</span>, Deserialize, Deserializer}; |
| |
| <span class="kw">impl</span><<span class="lifetime">'de</span>> Deserialize<<span class="lifetime">'de</span>> <span class="kw">for </span>Timestamp { |
| <span class="kw">fn </span>deserialize<D>(deserializer: D) -> <span class="prelude-ty">Result</span><<span class="self">Self</span>, D::Error> |
| <span class="kw">where |
| </span>D: Deserializer<<span class="lifetime">'de</span>>, |
| { |
| <span class="kw">if </span>deserializer.is_human_readable() { |
| <span class="comment">// Deserialize from a human-readable string like "2015-05-15T17:01:00Z". |
| </span><span class="kw">let </span>s = String::deserialize(deserializer)<span class="question-mark">?</span>; |
| Timestamp::from_str(<span class="kw-2">&</span>s).map_err(de::Error::custom) |
| } <span class="kw">else </span>{ |
| <span class="comment">// Deserialize from a compact binary representation, seconds since |
| // the Unix epoch. |
| </span><span class="kw">let </span>n = u64::deserialize(deserializer)<span class="question-mark">?</span>; |
| <span class="prelude-val">Ok</span>(Timestamp::EPOCH + Duration::seconds(n)) |
| } |
| } |
| }</code></pre></div> |
| <p>The default implementation of this method returns <code>true</code>. Data formats |
| may override this to <code>false</code> to request a compact form for types that |
| support one. Note that modifying this method to change a format from |
| human-readable to compact or vice versa should be regarded as a breaking |
| change, as a value serialized in human-readable mode is not required to |
| deserialize from the same data in compact mode.</p> |
| </div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div id="implementors-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-BytesDeserializer%3C%27a%2C%20E%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#805-823">source</a><a href="#impl-Deserializer%3C%27de%3E-for-BytesDeserializer%3C%27a%2C%20E%3E" class="anchor"></a><h3 class="code-header">impl<'de, 'a, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.BytesDeserializer.html" title="struct serde::de::value::BytesDeserializer">BytesDeserializer</a><'a, E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-CowStrDeserializer%3C%27a%2C%20E%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#711-746">source</a><a href="#impl-Deserializer%3C%27de%3E-for-CowStrDeserializer%3C%27a%2C%20E%3E" class="anchor"></a><h3 class="code-header">impl<'de, 'a, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.CowStrDeserializer.html" title="struct serde::de::value::CowStrDeserializer">CowStrDeserializer</a><'a, E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-2" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-2" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-StrDeserializer%3C%27a%2C%20E%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#428-460">source</a><a href="#impl-Deserializer%3C%27de%3E-for-StrDeserializer%3C%27a%2C%20E%3E" class="anchor"></a><h3 class="code-header">impl<'de, 'a, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.StrDeserializer.html" title="struct serde::de::value::StrDeserializer">StrDeserializer</a><'a, E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-3" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-3" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-EnumAccessDeserializer%3CA%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#1526-1544">source</a><a href="#impl-Deserializer%3C%27de%3E-for-EnumAccessDeserializer%3CA%3E" class="anchor"></a><h3 class="code-header">impl<'de, A> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.EnumAccessDeserializer.html" title="struct serde::de::value::EnumAccessDeserializer">EnumAccessDeserializer</a><A><span class="where fmt-newline">where<br> A: <a class="trait" href="de/trait.EnumAccess.html" title="trait serde::de::EnumAccess">EnumAccess</a><'de>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-4" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-4" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <A as <a class="trait" href="de/trait.EnumAccess.html" title="trait serde::de::EnumAccess">EnumAccess</a><'de>>::<a class="associatedtype" href="de/trait.EnumAccess.html#associatedtype.Error" title="type serde::de::EnumAccess::Error">Error</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-MapAccessDeserializer%3CA%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#1461-1491">source</a><a href="#impl-Deserializer%3C%27de%3E-for-MapAccessDeserializer%3CA%3E" class="anchor"></a><h3 class="code-header">impl<'de, A> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.MapAccessDeserializer.html" title="struct serde::de::value::MapAccessDeserializer">MapAccessDeserializer</a><A><span class="where fmt-newline">where<br> A: <a class="trait" href="de/trait.MapAccess.html" title="trait serde::de::MapAccess">MapAccess</a><'de>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-5" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-5" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <A as <a class="trait" href="de/trait.MapAccess.html" title="trait serde::de::MapAccess">MapAccess</a><'de>>::<a class="associatedtype" href="de/trait.MapAccess.html#associatedtype.Error" title="type serde::de::MapAccess::Error">Error</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-SeqAccessDeserializer%3CA%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#1060-1078">source</a><a href="#impl-Deserializer%3C%27de%3E-for-SeqAccessDeserializer%3CA%3E" class="anchor"></a><h3 class="code-header">impl<'de, A> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.SeqAccessDeserializer.html" title="struct serde::de::value::SeqAccessDeserializer">SeqAccessDeserializer</a><A><span class="where fmt-newline">where<br> A: <a class="trait" href="de/trait.SeqAccess.html" title="trait serde::de::SeqAccess">SeqAccess</a><'de>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-6" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-6" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <A as <a class="trait" href="de/trait.SeqAccess.html" title="trait serde::de::SeqAccess">SeqAccess</a><'de>>::<a class="associatedtype" href="de/trait.SeqAccess.html#associatedtype.Error" title="type serde::de::SeqAccess::Error">Error</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-BoolDeserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#291">source</a><a href="#impl-Deserializer%3C%27de%3E-for-BoolDeserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.BoolDeserializer.html" title="struct serde::de::value::BoolDeserializer">BoolDeserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-7" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-7" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-BorrowedBytesDeserializer%3C%27de%2C%20E%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#853-871">source</a><a href="#impl-Deserializer%3C%27de%3E-for-BorrowedBytesDeserializer%3C%27de%2C%20E%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.BorrowedBytesDeserializer.html" title="struct serde::de::value::BorrowedBytesDeserializer">BorrowedBytesDeserializer</a><'de, E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-8" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-8" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-BorrowedStrDeserializer%3C%27de%2C%20E%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#507-539">source</a><a href="#impl-Deserializer%3C%27de%3E-for-BorrowedStrDeserializer%3C%27de%2C%20E%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.BorrowedStrDeserializer.html" title="struct serde::de::value::BorrowedStrDeserializer">BorrowedStrDeserializer</a><'de, E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-9" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-9" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-CharDeserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#303">source</a><a href="#impl-Deserializer%3C%27de%3E-for-CharDeserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.CharDeserializer.html" title="struct serde::de::value::CharDeserializer">CharDeserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-10" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-10" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-F32Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#301">source</a><a href="#impl-Deserializer%3C%27de%3E-for-F32Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.F32Deserializer.html" title="struct serde::de::value::F32Deserializer">F32Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-11" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-11" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-F64Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#302">source</a><a href="#impl-Deserializer%3C%27de%3E-for-F64Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.F64Deserializer.html" title="struct serde::de::value::F64Deserializer">F64Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-12" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-12" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-I8Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#292">source</a><a href="#impl-Deserializer%3C%27de%3E-for-I8Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.I8Deserializer.html" title="struct serde::de::value::I8Deserializer">I8Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-13" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-13" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-I16Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#293">source</a><a href="#impl-Deserializer%3C%27de%3E-for-I16Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.I16Deserializer.html" title="struct serde::de::value::I16Deserializer">I16Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-14" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-14" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-I32Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#294">source</a><a href="#impl-Deserializer%3C%27de%3E-for-I32Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.I32Deserializer.html" title="struct serde::de::value::I32Deserializer">I32Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-15" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-15" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-I64Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#295">source</a><a href="#impl-Deserializer%3C%27de%3E-for-I64Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.I64Deserializer.html" title="struct serde::de::value::I64Deserializer">I64Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-16" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-16" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-I128Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#306">source</a><a href="#impl-Deserializer%3C%27de%3E-for-I128Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.I128Deserializer.html" title="struct serde::de::value::I128Deserializer">I128Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-17" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-17" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-IsizeDeserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#296">source</a><a href="#impl-Deserializer%3C%27de%3E-for-IsizeDeserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.IsizeDeserializer.html" title="struct serde::de::value::IsizeDeserializer">IsizeDeserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-18" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-18" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-StringDeserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#608-640">source</a><a href="#impl-Deserializer%3C%27de%3E-for-StringDeserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.StringDeserializer.html" title="struct serde::de::value::StringDeserializer">StringDeserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-19" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-19" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-U8Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#297">source</a><a href="#impl-Deserializer%3C%27de%3E-for-U8Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.U8Deserializer.html" title="struct serde::de::value::U8Deserializer">U8Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-20" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-20" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-U16Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#298">source</a><a href="#impl-Deserializer%3C%27de%3E-for-U16Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.U16Deserializer.html" title="struct serde::de::value::U16Deserializer">U16Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-21" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-21" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-U32Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#339-371">source</a><a href="#impl-Deserializer%3C%27de%3E-for-U32Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.U32Deserializer.html" title="struct serde::de::value::U32Deserializer">U32Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-22" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-22" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-U64Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#299">source</a><a href="#impl-Deserializer%3C%27de%3E-for-U64Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.U64Deserializer.html" title="struct serde::de::value::U64Deserializer">U64Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-23" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-23" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-U128Deserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#307">source</a><a href="#impl-Deserializer%3C%27de%3E-for-U128Deserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.U128Deserializer.html" title="struct serde::de::value::U128Deserializer">U128Deserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-24" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-24" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-UnitDeserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#151-176">source</a><a href="#impl-Deserializer%3C%27de%3E-for-UnitDeserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.UnitDeserializer.html" title="struct serde::de::value::UnitDeserializer">UnitDeserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-25" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-25" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-UsizeDeserializer%3CE%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#300">source</a><a href="#impl-Deserializer%3C%27de%3E-for-UsizeDeserializer%3CE%3E" class="anchor"></a><h3 class="code-header">impl<'de, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.UsizeDeserializer.html" title="struct serde::de::value::UsizeDeserializer">UsizeDeserializer</a><E><span class="where fmt-newline">where<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-26" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-26" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-MapDeserializer%3C%27de%2C%20I%2C%20E%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#1151-1192">source</a><a href="#impl-Deserializer%3C%27de%3E-for-MapDeserializer%3C%27de%2C%20I%2C%20E%3E" class="anchor"></a><h3 class="code-header">impl<'de, I, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.MapDeserializer.html" title="struct serde::de::value::MapDeserializer">MapDeserializer</a><'de, I, E><span class="where fmt-newline">where<br> I: Iterator,<br> I::Item: Pair,<br> <I::Item as Pair>::First: <a class="trait" href="de/trait.IntoDeserializer.html" title="trait serde::de::IntoDeserializer">IntoDeserializer</a><'de, E>,<br> <I::Item as Pair>::Second: <a class="trait" href="de/trait.IntoDeserializer.html" title="trait serde::de::IntoDeserializer">IntoDeserializer</a><'de, E>,<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-27" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-27" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Deserializer%3C%27de%3E-for-SeqDeserializer%3CI%2C%20E%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/serde/de/value.rs.html#928-950">source</a><a href="#impl-Deserializer%3C%27de%3E-for-SeqDeserializer%3CI%2C%20E%3E" class="anchor"></a><h3 class="code-header">impl<'de, I, T, E> <a class="trait" href="trait.Deserializer.html" title="trait serde::Deserializer">Deserializer</a><'de> for <a class="struct" href="de/value/struct.SeqDeserializer.html" title="struct serde::de::value::SeqDeserializer">SeqDeserializer</a><I, E><span class="where fmt-newline">where<br> I: Iterator<Item = T>,<br> T: <a class="trait" href="de/trait.IntoDeserializer.html" title="trait serde::de::IntoDeserializer">IntoDeserializer</a><'de, E>,<br> E: <a class="trait" href="de/trait.Error.html" title="trait serde::de::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-28" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-28" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = E</h4></section></div></details></div><script src="../implementors/serde/de/trait.Deserializer.js" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html> |