808 lines
180 KiB
HTML
808 lines
180 KiB
HTML
<!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 serialize any data structure supported by Serde."><meta name="keywords" content="rust, rustlang, rust-lang, Serializer"><title>Serializer in serde::ser - 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" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.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="sidebar"><div class="sidebar-menu" role="button">☰</div><a class="sidebar-logo" href="../../serde/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.png" alt="logo"></div>
|
||
</a><h2 class="location">Trait Serializer</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#associated-types">Associated Types</a></h3><div class="sidebar-links"><a href="#associatedtype.Error">Error</a><a href="#associatedtype.Ok">Ok</a><a href="#associatedtype.SerializeMap">SerializeMap</a><a href="#associatedtype.SerializeSeq">SerializeSeq</a><a href="#associatedtype.SerializeStruct">SerializeStruct</a><a href="#associatedtype.SerializeStructVariant">SerializeStructVariant</a><a href="#associatedtype.SerializeTuple">SerializeTuple</a><a href="#associatedtype.SerializeTupleStruct">SerializeTupleStruct</a><a href="#associatedtype.SerializeTupleVariant">SerializeTupleVariant</a></div><h3 class="sidebar-title"><a href="#required-methods">Required Methods</a></h3><div class="sidebar-links"><a href="#tymethod.serialize_bool">serialize_bool</a><a href="#tymethod.serialize_bytes">serialize_bytes</a><a href="#tymethod.serialize_char">serialize_char</a><a href="#tymethod.serialize_f32">serialize_f32</a><a href="#tymethod.serialize_f64">serialize_f64</a><a href="#tymethod.serialize_i16">serialize_i16</a><a href="#tymethod.serialize_i32">serialize_i32</a><a href="#tymethod.serialize_i64">serialize_i64</a><a href="#tymethod.serialize_i8">serialize_i8</a><a href="#tymethod.serialize_map">serialize_map</a><a href="#tymethod.serialize_newtype_struct">serialize_newtype_struct</a><a href="#tymethod.serialize_newtype_variant">serialize_newtype_variant</a><a href="#tymethod.serialize_none">serialize_none</a><a href="#tymethod.serialize_seq">serialize_seq</a><a href="#tymethod.serialize_some">serialize_some</a><a href="#tymethod.serialize_str">serialize_str</a><a href="#tymethod.serialize_struct">serialize_struct</a><a href="#tymethod.serialize_struct_variant">serialize_struct_variant</a><a href="#tymethod.serialize_tuple">serialize_tuple</a><a href="#tymethod.serialize_tuple_struct">serialize_tuple_struct</a><a href="#tymethod.serialize_tuple_variant">serialize_tuple_variant</a><a href="#tymethod.serialize_u16">serialize_u16</a><a href="#tymethod.serialize_u32">serialize_u32</a><a href="#tymethod.serialize_u64">serialize_u64</a><a href="#tymethod.serialize_u8">serialize_u8</a><a href="#tymethod.serialize_unit">serialize_unit</a><a href="#tymethod.serialize_unit_struct">serialize_unit_struct</a><a href="#tymethod.serialize_unit_variant">serialize_unit_variant</a></div><h3 class="sidebar-title"><a href="#provided-methods">Provided Methods</a></h3><div class="sidebar-links"><a href="#method.collect_map">collect_map</a><a href="#method.collect_seq">collect_seq</a><a href="#method.collect_str">collect_str</a><a href="#method.is_human_readable">is_human_readable</a><a href="#method.serialize_i128">serialize_i128</a><a href="#method.serialize_u128">serialize_u128</a></div><h3 class="sidebar-title"><a href="#foreign-impls">Implementations on Foreign Types</a></h3><div class="sidebar-links"><a href="#impl-Serializer-for-%26%27a%20mut%20Formatter%3C%27b%3E">&'a mut Formatter<'b></a></div><h3 class="sidebar-title"><a href="#implementors">Implementors</a></h3></div><h2 class="location">Other items in<br><a href="../index.html">serde</a>::<wbr><a href="index.html">ser</a></h2><div id="sidebar-vars" data-name="Serializer" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../serde/index.html"><img class="rust-logo" src="../../rust-logo.png" alt="logo"></a><nav class="sub"><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">serde</a>::<wbr><a href="index.html">ser</a>::<wbr><a class="trait" href="#">Serializer</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></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde/ser/mod.rs.html#331-1472" title="goto source code">[src]</a></span></h1><div class="docblock item-decl"><pre class="rust trait"><code>pub trait Serializer: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
|
||
type <a href="#associatedtype.Ok" class="associatedtype">Ok</a>;
|
||
type <a href="#associatedtype.Error" class="associatedtype">Error</a>: <a class="trait" href="trait.Error.html" title="trait serde::ser::Error">Error</a>;
|
||
type <a href="#associatedtype.SerializeSeq" class="associatedtype">SerializeSeq</a>: <a class="trait" href="trait.SerializeSeq.html" title="trait serde::ser::SerializeSeq">SerializeSeq</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
type <a href="#associatedtype.SerializeTuple" class="associatedtype">SerializeTuple</a>: <a class="trait" href="trait.SerializeTuple.html" title="trait serde::ser::SerializeTuple">SerializeTuple</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
type <a href="#associatedtype.SerializeTupleStruct" class="associatedtype">SerializeTupleStruct</a>: <a class="trait" href="trait.SerializeTupleStruct.html" title="trait serde::ser::SerializeTupleStruct">SerializeTupleStruct</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
type <a href="#associatedtype.SerializeTupleVariant" class="associatedtype">SerializeTupleVariant</a>: <a class="trait" href="trait.SerializeTupleVariant.html" title="trait serde::ser::SerializeTupleVariant">SerializeTupleVariant</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
type <a href="#associatedtype.SerializeMap" class="associatedtype">SerializeMap</a>: <a class="trait" href="trait.SerializeMap.html" title="trait serde::ser::SerializeMap">SerializeMap</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
type <a href="#associatedtype.SerializeStruct" class="associatedtype">SerializeStruct</a>: <a class="trait" href="trait.SerializeStruct.html" title="trait serde::ser::SerializeStruct">SerializeStruct</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
type <a href="#associatedtype.SerializeStructVariant" class="associatedtype">SerializeStructVariant</a>: <a class="trait" href="trait.SerializeStructVariant.html" title="trait serde::ser::SerializeStructVariant">SerializeStructVariant</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 34 methods</span></summary> fn <a href="#tymethod.serialize_bool" class="fnname">serialize_bool</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_i8" class="fnname">serialize_i8</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i8.html">i8</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_i16" class="fnname">serialize_i16</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i16.html">i16</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_i32" class="fnname">serialize_i32</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i32.html">i32</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_i64" class="fnname">serialize_i64</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i64.html">i64</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_u8" class="fnname">serialize_u8</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u8.html">u8</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_u16" class="fnname">serialize_u16</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u16.html">u16</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_u32" class="fnname">serialize_u32</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_u64" class="fnname">serialize_u64</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u64.html">u64</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_f32" class="fnname">serialize_f32</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.f32.html">f32</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_f64" class="fnname">serialize_f64</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.f64.html">f64</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_char" class="fnname">serialize_char</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.char.html">char</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_str" class="fnname">serialize_str</a>(self, v: &<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_bytes" class="fnname">serialize_bytes</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">]</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_none" class="fnname">serialize_none</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_some" class="fnname">serialize_some</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(<br> self, <br> value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T<br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>><br> <span class="where">where<br> T: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a></span>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_unit" class="fnname">serialize_unit</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_unit_struct" class="fnname">serialize_unit_struct</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_unit_variant" class="fnname">serialize_unit_variant</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_newtype_struct" class="fnname">serialize_newtype_struct</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T<br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>><br> <span class="where">where<br> T: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a></span>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_newtype_variant" class="fnname">serialize_newtype_variant</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T<br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>><br> <span class="where">where<br> T: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a></span>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_seq" class="fnname">serialize_seq</a>(<br> self, <br> len: <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a>><br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeSeq" title="type serde::Serializer::SerializeSeq">SerializeSeq</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_tuple" class="fnname">serialize_tuple</a>(<br> self, <br> len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeTuple" title="type serde::Serializer::SerializeTuple">SerializeTuple</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_tuple_struct" class="fnname">serialize_tuple_struct</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeTupleStruct" title="type serde::Serializer::SerializeTupleStruct">SerializeTupleStruct</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_tuple_variant" class="fnname">serialize_tuple_variant</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeTupleVariant" title="type serde::Serializer::SerializeTupleVariant">SerializeTupleVariant</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_map" class="fnname">serialize_map</a>(<br> self, <br> len: <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a>><br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeMap" title="type serde::Serializer::SerializeMap">SerializeMap</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_struct" class="fnname">serialize_struct</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeStruct" title="type serde::Serializer::SerializeStruct">SerializeStruct</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
<div class="item-spacer"></div> fn <a href="#tymethod.serialize_struct_variant" class="fnname">serialize_struct_variant</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeStructVariant" title="type serde::Serializer::SerializeStructVariant">SerializeStructVariant</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>>;
|
||
|
||
fn <a href="#method.serialize_i128" class="fnname">serialize_i128</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i128.html">i128</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>> { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.serialize_u128" class="fnname">serialize_u128</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u128.html">u128</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>> { ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.collect_seq" class="fnname">collect_seq</a><I>(self, iter: I) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>><br> <span class="where">where<br> I: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,<br> <I as <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.59.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a></span>,
|
||
{ ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.collect_map" class="fnname">collect_map</a><K, V, I>(self, iter: I) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>><br> <span class="where">where<br> K: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>,<br> V: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>,<br> I: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.tuple.html">(</a>K, V<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.tuple.html">)</a>></span>,
|
||
{ ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.collect_str" class="fnname">collect_str</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(self, value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>><br> <span class="where">where<br> T: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a></span>,
|
||
{ ... }
|
||
<div class="item-spacer"></div> fn <a href="#method.is_human_readable" class="fnname">is_human_readable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a> { ... }
|
||
</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 serialize any data structure supported by Serde.</p>
|
||
<p>The role of this trait is to define the serialization half of the <a href="https://serde.rs/data-model.html">Serde
|
||
data model</a>, which is a way to categorize every Rust data structure into one
|
||
of 29 possible types. Each method of the <code>Serializer</code> trait corresponds to
|
||
one of the types of the data model.</p>
|
||
<p>Implementations of <code>Serialize</code> map themselves into this data model by
|
||
invoking exactly one of the <code>Serializer</code> methods.</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>Many Serde serializers produce text or binary data as output, for example
|
||
JSON or Bincode. This is not a requirement of the <code>Serializer</code> trait, and
|
||
there are serializers that do not produce text or binary output. One example
|
||
is the <code>serde_json::value::Serializer</code> (distinct from the main <code>serde_json</code>
|
||
serializer) that produces a <code>serde_json::Value</code> data structure in memory as
|
||
output.</p>
|
||
<h2 id="example-implementation" class="section-header"><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>Serializer</code>.</p>
|
||
</div></details><h2 id="associated-types" class="small-section-header">Associated Types<a href="#associated-types" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Ok" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#340" title="goto source code">[src]</a></div><h4 class="code-header">type <a href="#associatedtype.Ok" class="associatedtype">Ok</a></h4></div></summary><div class="docblock"><p>The output type produced by this <code>Serializer</code> during successful
|
||
serialization. Most serializers that produce text or binary output
|
||
should set <code>Ok = ()</code> and serialize into an <a href="https://doc.rust-lang.org/std/io/trait.Write.html"><code>io::Write</code></a> or buffer
|
||
contained within the <code>Serializer</code> instance. Serializers that build
|
||
in-memory data structures may be simplified by using <code>Ok</code> to propagate
|
||
the data structure around.</p>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#343" title="goto source code">[src]</a></div><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a>: <a class="trait" href="trait.Error.html" title="trait serde::ser::Error">Error</a></h4></div></summary><div class="docblock"><p>The error type when some error occurs during serialization.</p>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.SerializeSeq" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#349" title="goto source code">[src]</a></div><h4 class="code-header">type <a href="#associatedtype.SerializeSeq" class="associatedtype">SerializeSeq</a>: <a class="trait" href="trait.SerializeSeq.html" title="trait serde::ser::SerializeSeq">SerializeSeq</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Type returned from <a href="#tymethod.serialize_seq"><code>serialize_seq</code></a> for serializing the content of the
|
||
sequence.</p>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.SerializeTuple" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#355" title="goto source code">[src]</a></div><h4 class="code-header">type <a href="#associatedtype.SerializeTuple" class="associatedtype">SerializeTuple</a>: <a class="trait" href="trait.SerializeTuple.html" title="trait serde::ser::SerializeTuple">SerializeTuple</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Type returned from <a href="#tymethod.serialize_tuple"><code>serialize_tuple</code></a> for serializing the content of
|
||
the tuple.</p>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.SerializeTupleStruct" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#361" title="goto source code">[src]</a></div><h4 class="code-header">type <a href="#associatedtype.SerializeTupleStruct" class="associatedtype">SerializeTupleStruct</a>: <a class="trait" href="trait.SerializeTupleStruct.html" title="trait serde::ser::SerializeTupleStruct">SerializeTupleStruct</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Type returned from <a href="#tymethod.serialize_tuple_struct"><code>serialize_tuple_struct</code></a> for serializing the
|
||
content of the tuple struct.</p>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.SerializeTupleVariant" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#367" title="goto source code">[src]</a></div><h4 class="code-header">type <a href="#associatedtype.SerializeTupleVariant" class="associatedtype">SerializeTupleVariant</a>: <a class="trait" href="trait.SerializeTupleVariant.html" title="trait serde::ser::SerializeTupleVariant">SerializeTupleVariant</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Type returned from <a href="#tymethod.serialize_tuple_variant"><code>serialize_tuple_variant</code></a> for serializing the
|
||
content of the tuple variant.</p>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.SerializeMap" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#373" title="goto source code">[src]</a></div><h4 class="code-header">type <a href="#associatedtype.SerializeMap" class="associatedtype">SerializeMap</a>: <a class="trait" href="trait.SerializeMap.html" title="trait serde::ser::SerializeMap">SerializeMap</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Type returned from <a href="#tymethod.serialize_map"><code>serialize_map</code></a> for serializing the content of the
|
||
map.</p>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.SerializeStruct" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#379" title="goto source code">[src]</a></div><h4 class="code-header">type <a href="#associatedtype.SerializeStruct" class="associatedtype">SerializeStruct</a>: <a class="trait" href="trait.SerializeStruct.html" title="trait serde::ser::SerializeStruct">SerializeStruct</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Type returned from <a href="#tymethod.serialize_struct"><code>serialize_struct</code></a> for serializing the content of
|
||
the struct.</p>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.SerializeStructVariant" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#385" title="goto source code">[src]</a></div><h4 class="code-header">type <a href="#associatedtype.SerializeStructVariant" class="associatedtype">SerializeStructVariant</a>: <a class="trait" href="trait.SerializeStructVariant.html" title="trait serde::ser::SerializeStructVariant">SerializeStructVariant</a><Ok = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Error = Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Type returned from <a href="#tymethod.serialize_struct_variant"><code>serialize_struct_variant</code></a> for serializing the
|
||
content of the struct variant.</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" open><summary><div id="tymethod.serialize_bool" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#403" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_bool" class="fnname">serialize_bool</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a <code>bool</code> value.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">bool</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_bool</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_i8" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#425" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_i8" class="fnname">serialize_i8</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i8.html">i8</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize an <code>i8</code> value.</p>
|
||
<p>If the format does not differentiate between <code>i8</code> and <code>i64</code>, a
|
||
reasonable implementation would be to cast the value to <code>i64</code> and
|
||
forward to <code>serialize_i64</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">i8</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_i8</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_i16" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#447" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_i16" class="fnname">serialize_i16</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i16.html">i16</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize an <code>i16</code> value.</p>
|
||
<p>If the format does not differentiate between <code>i16</code> and <code>i64</code>, a
|
||
reasonable implementation would be to cast the value to <code>i64</code> and
|
||
forward to <code>serialize_i64</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">i16</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_i16</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_i32" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#469" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_i32" class="fnname">serialize_i32</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i32.html">i32</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize an <code>i32</code> value.</p>
|
||
<p>If the format does not differentiate between <code>i32</code> and <code>i64</code>, a
|
||
reasonable implementation would be to cast the value to <code>i64</code> and
|
||
forward to <code>serialize_i64</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">i32</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_i32</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_i64" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#487" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_i64" class="fnname">serialize_i64</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i64.html">i64</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize an <code>i64</code> value.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">i64</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_i64</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_u8" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#535" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_u8" class="fnname">serialize_u8</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u8.html">u8</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a <code>u8</code> value.</p>
|
||
<p>If the format does not differentiate between <code>u8</code> and <code>u64</code>, a
|
||
reasonable implementation would be to cast the value to <code>u64</code> and
|
||
forward to <code>serialize_u64</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">u8</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_u8</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_u16" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#557" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_u16" class="fnname">serialize_u16</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u16.html">u16</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a <code>u16</code> value.</p>
|
||
<p>If the format does not differentiate between <code>u16</code> and <code>u64</code>, a
|
||
reasonable implementation would be to cast the value to <code>u64</code> and
|
||
forward to <code>serialize_u64</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">u16</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_u16</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_u32" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#579" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_u32" class="fnname">serialize_u32</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a <code>u32</code> value.</p>
|
||
<p>If the format does not differentiate between <code>u32</code> and <code>u64</code>, a
|
||
reasonable implementation would be to cast the value to <code>u64</code> and
|
||
forward to <code>serialize_u64</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">u32</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_u32</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_u64" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#597" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_u64" class="fnname">serialize_u64</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u64.html">u64</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a <code>u64</code> value.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">u64</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_u64</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_f32" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#645" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_f32" class="fnname">serialize_f32</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.f32.html">f32</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize an <code>f32</code> value.</p>
|
||
<p>If the format does not differentiate between <code>f32</code> and <code>f64</code>, a
|
||
reasonable implementation would be to cast the value to <code>f64</code> and
|
||
forward to <code>serialize_f64</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">f32</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_f32</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_f64" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#663" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_f64" class="fnname">serialize_f64</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.f64.html">f64</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize an <code>f64</code> value.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">f64</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_f64</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_char" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#684" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_char" class="fnname">serialize_char</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.char.html">char</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a character.</p>
|
||
<p>If the format does not support characters, it is reasonable to serialize
|
||
it as a single element <code>str</code> or a <code>u32</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">char</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_char</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_str" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#702" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_str" class="fnname">serialize_str</a>(self, v: &<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a <code>&str</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">str</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_str</span>(<span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_bytes" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#737" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_bytes" class="fnname">serialize_bytes</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">]</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a chunk of raw byte data.</p>
|
||
<p>Enables serializers to serialize byte slices more compactly or more
|
||
efficiently than other types of slices. If no efficient implementation
|
||
is available, a reasonable implementation would be to forward to
|
||
<code>serialize_seq</code>. If forwarded, the implementation looks usually just
|
||
like this:</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">fn</span> <span class="ident">serialize_bytes</span>(<span class="self">self</span>, <span class="ident">v</span>: <span class="kw-2">&</span>[<span class="ident">u8</span>]) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident"><span class="self">Self</span>::Ok</span>, <span class="ident"><span class="self">Self</span>::Error</span><span class="op">></span> {
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">seq</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">serialize_seq</span>(<span class="prelude-val">Some</span>(<span class="ident">v</span>.<span class="ident">len</span>()))<span class="question-mark">?</span>;
|
||
<span class="kw">for</span> <span class="ident">b</span> <span class="kw">in</span> <span class="ident">v</span> {
|
||
<span class="ident">seq</span>.<span class="ident">serialize_element</span>(<span class="ident">b</span>)<span class="question-mark">?</span>;
|
||
}
|
||
<span class="ident">seq</span>.<span class="ident">end</span>()
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_none" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#770" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_none" class="fnname">serialize_none</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a <a href="https://doc.rust-lang.org/std/option/enum.Option.html#variant.None"><code>None</code></a> value.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">T</span>: <span class="ident">Serialize</span>,
|
||
{
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">match</span> <span class="kw-2">*</span><span class="self">self</span> {
|
||
<span class="prelude-val">Some</span>(<span class="kw-2">ref</span> <span class="ident">value</span>) => <span class="ident">serializer</span>.<span class="ident">serialize_some</span>(<span class="ident">value</span>),
|
||
<span class="prelude-val">None</span> => <span class="ident">serializer</span>.<span class="ident">serialize_none</span>(),
|
||
}
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_some" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#803-805" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_some" class="fnname">serialize_some</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(self, value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>, </span></h4></div></summary><div class="docblock"><p>Serialize a <a href="https://doc.rust-lang.org/std/option/enum.Option.html#variant.Some"><code>Some(T)</code></a> value.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">T</span>: <span class="ident">Serialize</span>,
|
||
{
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">match</span> <span class="kw-2">*</span><span class="self">self</span> {
|
||
<span class="prelude-val">Some</span>(<span class="kw-2">ref</span> <span class="ident">value</span>) => <span class="ident">serializer</span>.<span class="ident">serialize_some</span>(<span class="ident">value</span>),
|
||
<span class="prelude-val">None</span> => <span class="ident">serializer</span>.<span class="ident">serialize_none</span>(),
|
||
}
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_unit" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#823" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_unit" class="fnname">serialize_unit</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a <code>()</code> value.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> () {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_unit</span>()
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_unit_struct" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#843" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_unit_struct" class="fnname">serialize_unit_struct</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a unit struct like <code>struct Unit</code> or <code>PhantomData<T></code>.</p>
|
||
<p>A reasonable implementation would be to forward to <code>serialize_unit</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">struct</span> <span class="ident">Nothing</span>;
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">Nothing</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_unit_struct</span>(<span class="string">"Nothing"</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_unit_variant" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#871-876" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_unit_variant" class="fnname">serialize_unit_variant</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a unit variant like <code>E::A</code> in <code>enum E { A, B }</code>.</p>
|
||
<p>The <code>name</code> is the name of the enum, the <code>variant_index</code> is the index of
|
||
this variant within the enum, and the <code>variant</code> is the name of the
|
||
variant.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">enum</span> <span class="ident">E</span> {
|
||
<span class="ident">A</span>,
|
||
<span class="ident">B</span>,
|
||
}
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">E</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">match</span> <span class="kw-2">*</span><span class="self">self</span> {
|
||
<span class="ident">E::A</span> => <span class="ident">serializer</span>.<span class="ident">serialize_unit_variant</span>(<span class="string">"E"</span>, <span class="number">0</span>, <span class="string">"A"</span>),
|
||
<span class="ident">E::B</span> => <span class="ident">serializer</span>.<span class="ident">serialize_unit_variant</span>(<span class="string">"E"</span>, <span class="number">1</span>, <span class="string">"B"</span>),
|
||
}
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_newtype_struct" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#898-904" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_newtype_struct" class="fnname">serialize_newtype_struct</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T<br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>, </span></h4></div></summary><div class="docblock"><p>Serialize a newtype struct like <code>struct Millimeters(u8)</code>.</p>
|
||
<p>Serializers are encouraged to treat newtype structs as insignificant
|
||
wrappers around the data they contain. A reasonable implementation would
|
||
be to forward to <code>value.serialize(self)</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">struct</span> <span class="ident">Millimeters</span>(<span class="ident">u8</span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">Millimeters</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_newtype_struct</span>(<span class="string">"Millimeters"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="number">0</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_newtype_variant" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#932-940" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_newtype_variant" class="fnname">serialize_newtype_variant</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T<br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>, </span></h4></div></summary><div class="docblock"><p>Serialize a newtype variant like <code>E::N</code> in <code>enum E { N(u8) }</code>.</p>
|
||
<p>The <code>name</code> is the name of the enum, the <code>variant_index</code> is the index of
|
||
this variant within the enum, and the <code>variant</code> is the name of the
|
||
variant. The <code>value</code> is the data contained within this newtype variant.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">enum</span> <span class="ident">E</span> {
|
||
<span class="ident">M</span>(<span class="ident">String</span>),
|
||
<span class="ident">N</span>(<span class="ident">u8</span>),
|
||
}
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">E</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">match</span> <span class="kw-2">*</span><span class="self">self</span> {
|
||
<span class="ident">E::M</span>(<span class="kw-2">ref</span> <span class="ident">s</span>) => <span class="ident">serializer</span>.<span class="ident">serialize_newtype_variant</span>(<span class="string">"E"</span>, <span class="number">0</span>, <span class="string">"M"</span>, <span class="ident">s</span>),
|
||
<span class="ident">E::N</span>(<span class="ident">n</span>) => <span class="ident">serializer</span>.<span class="ident">serialize_newtype_variant</span>(<span class="string">"E"</span>, <span class="number">1</span>, <span class="string">"N"</span>, <span class="kw-2">&</span><span class="ident">n</span>),
|
||
}
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_seq" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#988" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_seq" class="fnname">serialize_seq</a>(<br> self, <br> len: <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeSeq" title="type serde::Serializer::SerializeSeq">SerializeSeq</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Begin to serialize a variably sized sequence. This call must be
|
||
followed by zero or more calls to <code>serialize_element</code>, then a call to
|
||
<code>end</code>.</p>
|
||
<p>The argument is the number of elements in the sequence, which may or may
|
||
not be computable before the sequence is iterated. Some serializers only
|
||
support sequences whose length is known up front.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde::ser</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>, <span class="ident">SerializeSeq</span>};
|
||
|
||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">T</span>: <span class="ident">Serialize</span>,
|
||
{
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">seq</span> <span class="op">=</span> <span class="ident">serializer</span>.<span class="ident">serialize_seq</span>(<span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">len</span>()))<span class="question-mark">?</span>;
|
||
<span class="kw">for</span> <span class="ident">element</span> <span class="kw">in</span> <span class="self">self</span> {
|
||
<span class="ident">seq</span>.<span class="ident">serialize_element</span>(<span class="ident">element</span>)<span class="question-mark">?</span>;
|
||
}
|
||
<span class="ident">seq</span>.<span class="ident">end</span>()
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_tuple" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#1044" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_tuple" class="fnname">serialize_tuple</a>(<br> self, <br> len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeTuple" title="type serde::Serializer::SerializeTuple">SerializeTuple</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Begin to serialize a statically sized sequence whose length will be
|
||
known at deserialization time without looking at the serialized data.
|
||
This call must be followed by zero or more calls to <code>serialize_element</code>,
|
||
then a call to <code>end</code>.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde::ser</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>, <span class="ident">SerializeTuple</span>};
|
||
|
||
<span class="kw">impl</span><span class="op"><</span><span class="ident">A</span>, <span class="ident">B</span>, <span class="ident">C</span><span class="op">></span> <span class="ident">Serialize</span> <span class="kw">for</span> (<span class="ident">A</span>, <span class="ident">B</span>, <span class="ident">C</span>)
|
||
<span class="kw">where</span>
|
||
<span class="ident">A</span>: <span class="ident">Serialize</span>,
|
||
<span class="ident">B</span>: <span class="ident">Serialize</span>,
|
||
<span class="ident">C</span>: <span class="ident">Serialize</span>,
|
||
{
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tup</span> <span class="op">=</span> <span class="ident">serializer</span>.<span class="ident">serialize_tuple</span>(<span class="number">3</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tup</span>.<span class="ident">serialize_element</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="number">0</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tup</span>.<span class="ident">serialize_element</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="number">1</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tup</span>.<span class="ident">serialize_element</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="number">2</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tup</span>.<span class="ident">end</span>()
|
||
}
|
||
}</code></pre></div>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde::ser</span>::{<span class="ident">Serialize</span>, <span class="ident">SerializeTuple</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">const</span> <span class="ident">VRAM_SIZE</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="number">386</span>;
|
||
<span class="kw">struct</span> <span class="ident">Vram</span>([<span class="ident">u16</span>; <span class="ident">VRAM_SIZE</span>]);
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">Vram</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">seq</span> <span class="op">=</span> <span class="ident">serializer</span>.<span class="ident">serialize_tuple</span>(<span class="ident">VRAM_SIZE</span>)<span class="question-mark">?</span>;
|
||
<span class="kw">for</span> <span class="ident">element</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="self">self</span>.<span class="number">0</span>[..] {
|
||
<span class="ident">seq</span>.<span class="ident">serialize_element</span>(<span class="ident">element</span>)<span class="question-mark">?</span>;
|
||
}
|
||
<span class="ident">seq</span>.<span class="ident">end</span>()
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_tuple_struct" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#1071-1075" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_tuple_struct" class="fnname">serialize_tuple_struct</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeTupleStruct" title="type serde::Serializer::SerializeTupleStruct">SerializeTupleStruct</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Begin to serialize a tuple struct like <code>struct Rgb(u8, u8, u8)</code>. This
|
||
call must be followed by zero or more calls to <code>serialize_field</code>, then a
|
||
call to <code>end</code>.</p>
|
||
<p>The <code>name</code> is the name of the tuple struct and the <code>len</code> is the number
|
||
of data fields that will be serialized.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde::ser</span>::{<span class="ident">Serialize</span>, <span class="ident">SerializeTupleStruct</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">struct</span> <span class="ident">Rgb</span>(<span class="ident">u8</span>, <span class="ident">u8</span>, <span class="ident">u8</span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">Rgb</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">ts</span> <span class="op">=</span> <span class="ident">serializer</span>.<span class="ident">serialize_tuple_struct</span>(<span class="string">"Rgb"</span>, <span class="number">3</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">ts</span>.<span class="ident">serialize_field</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="number">0</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">ts</span>.<span class="ident">serialize_field</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="number">1</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">ts</span>.<span class="ident">serialize_field</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="number">2</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">ts</span>.<span class="ident">end</span>()
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_tuple_variant" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#1116-1122" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_tuple_variant" class="fnname">serialize_tuple_variant</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeTupleVariant" title="type serde::Serializer::SerializeTupleVariant">SerializeTupleVariant</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Begin to serialize a tuple variant like <code>E::T</code> in <code>enum E { T(u8, u8) }</code>. This call must be followed by zero or more calls to
|
||
<code>serialize_field</code>, then a call to <code>end</code>.</p>
|
||
<p>The <code>name</code> is the name of the enum, the <code>variant_index</code> is the index of
|
||
this variant within the enum, the <code>variant</code> is the name of the variant,
|
||
and the <code>len</code> is the number of data fields that will be serialized.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde::ser</span>::{<span class="ident">Serialize</span>, <span class="ident">SerializeTupleVariant</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">enum</span> <span class="ident">E</span> {
|
||
<span class="ident">T</span>(<span class="ident">u8</span>, <span class="ident">u8</span>),
|
||
<span class="ident">U</span>(<span class="ident">String</span>, <span class="ident">u32</span>, <span class="ident">u32</span>),
|
||
}
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">E</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">match</span> <span class="kw-2">*</span><span class="self">self</span> {
|
||
<span class="ident">E::T</span>(<span class="kw-2">ref</span> <span class="ident">a</span>, <span class="kw-2">ref</span> <span class="ident">b</span>) => {
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tv</span> <span class="op">=</span> <span class="ident">serializer</span>.<span class="ident">serialize_tuple_variant</span>(<span class="string">"E"</span>, <span class="number">0</span>, <span class="string">"T"</span>, <span class="number">2</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tv</span>.<span class="ident">serialize_field</span>(<span class="ident">a</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tv</span>.<span class="ident">serialize_field</span>(<span class="ident">b</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tv</span>.<span class="ident">end</span>()
|
||
}
|
||
<span class="ident">E::U</span>(<span class="kw-2">ref</span> <span class="ident">a</span>, <span class="kw-2">ref</span> <span class="ident">b</span>, <span class="kw-2">ref</span> <span class="ident">c</span>) => {
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tv</span> <span class="op">=</span> <span class="ident">serializer</span>.<span class="ident">serialize_tuple_variant</span>(<span class="string">"E"</span>, <span class="number">1</span>, <span class="string">"U"</span>, <span class="number">3</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tv</span>.<span class="ident">serialize_field</span>(<span class="ident">a</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tv</span>.<span class="ident">serialize_field</span>(<span class="ident">b</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tv</span>.<span class="ident">serialize_field</span>(<span class="ident">c</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">tv</span>.<span class="ident">end</span>()
|
||
}
|
||
}
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_map" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#1170" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_map" class="fnname">serialize_map</a>(<br> self, <br> len: <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeMap" title="type serde::Serializer::SerializeMap">SerializeMap</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Begin to serialize a map. This call must be followed by zero or more
|
||
calls to <code>serialize_key</code> and <code>serialize_value</code>, then a call to <code>end</code>.</p>
|
||
<p>The argument is the number of elements in the map, which may or may not
|
||
be computable before the map is iterated. Some serializers only support
|
||
maps whose length is known up front.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde::ser</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>, <span class="ident">SerializeMap</span>};
|
||
|
||
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>, <span class="ident">V</span><span class="op">></span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">HashMap</span><span class="op"><</span><span class="ident">K</span>, <span class="ident">V</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">K</span>: <span class="ident">Serialize</span>,
|
||
<span class="ident">V</span>: <span class="ident">Serialize</span>,
|
||
{
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">map</span> <span class="op">=</span> <span class="ident">serializer</span>.<span class="ident">serialize_map</span>(<span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">len</span>()))<span class="question-mark">?</span>;
|
||
<span class="kw">for</span> (<span class="ident">k</span>, <span class="ident">v</span>) <span class="kw">in</span> <span class="self">self</span> {
|
||
<span class="ident">map</span>.<span class="ident">serialize_entry</span>(<span class="ident">k</span>, <span class="ident">v</span>)<span class="question-mark">?</span>;
|
||
}
|
||
<span class="ident">map</span>.<span class="ident">end</span>()
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_struct" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#1201-1205" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_struct" class="fnname">serialize_struct</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeStruct" title="type serde::Serializer::SerializeStruct">SerializeStruct</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Begin to serialize a struct like <code>struct Rgb { r: u8, g: u8, b: u8 }</code>.
|
||
This call must be followed by zero or more calls to <code>serialize_field</code>,
|
||
then a call to <code>end</code>.</p>
|
||
<p>The <code>name</code> is the name of the struct and the <code>len</code> is the number of
|
||
data fields that will be serialized.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde::ser</span>::{<span class="ident">Serialize</span>, <span class="ident">SerializeStruct</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">struct</span> <span class="ident">Rgb</span> {
|
||
<span class="ident">r</span>: <span class="ident">u8</span>,
|
||
<span class="ident">g</span>: <span class="ident">u8</span>,
|
||
<span class="ident">b</span>: <span class="ident">u8</span>,
|
||
}
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">Rgb</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rgb</span> <span class="op">=</span> <span class="ident">serializer</span>.<span class="ident">serialize_struct</span>(<span class="string">"Rgb"</span>, <span class="number">3</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">rgb</span>.<span class="ident">serialize_field</span>(<span class="string">"r"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">r</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">rgb</span>.<span class="ident">serialize_field</span>(<span class="string">"g"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">g</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">rgb</span>.<span class="ident">serialize_field</span>(<span class="string">"b"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">b</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">rgb</span>.<span class="ident">end</span>()
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.serialize_struct_variant" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#1243-1249" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#tymethod.serialize_struct_variant" class="fnname">serialize_struct_variant</a>(<br> self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeStructVariant" title="type serde::Serializer::SerializeStructVariant">SerializeStructVariant</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Begin to serialize a struct variant like <code>E::S</code> in <code>enum E { S { r: u8, g: u8, b: u8 } }</code>. This call must be followed by zero or more calls to
|
||
<code>serialize_field</code>, then a call to <code>end</code>.</p>
|
||
<p>The <code>name</code> is the name of the enum, the <code>variant_index</code> is the index of
|
||
this variant within the enum, the <code>variant</code> is the name of the variant,
|
||
and the <code>len</code> is the number of data fields that will be serialized.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde::ser</span>::{<span class="ident">Serialize</span>, <span class="ident">SerializeStructVariant</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">enum</span> <span class="ident">E</span> {
|
||
<span class="ident">S</span> { <span class="ident">r</span>: <span class="ident">u8</span>, <span class="ident">g</span>: <span class="ident">u8</span>, <span class="ident">b</span>: <span class="ident">u8</span> },
|
||
}
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">E</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">match</span> <span class="kw-2">*</span><span class="self">self</span> {
|
||
<span class="ident">E::S</span> {
|
||
<span class="kw-2">ref</span> <span class="ident">r</span>,
|
||
<span class="kw-2">ref</span> <span class="ident">g</span>,
|
||
<span class="kw-2">ref</span> <span class="ident">b</span>,
|
||
} => {
|
||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">sv</span> <span class="op">=</span> <span class="ident">serializer</span>.<span class="ident">serialize_struct_variant</span>(<span class="string">"E"</span>, <span class="number">0</span>, <span class="string">"S"</span>, <span class="number">3</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">sv</span>.<span class="ident">serialize_field</span>(<span class="string">"r"</span>, <span class="ident">r</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">sv</span>.<span class="ident">serialize_field</span>(<span class="string">"g"</span>, <span class="ident">g</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">sv</span>.<span class="ident">serialize_field</span>(<span class="string">"b"</span>, <span class="ident">b</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">sv</span>.<span class="ident">end</span>()
|
||
}
|
||
}
|
||
}
|
||
}</code></pre></div>
|
||
</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" open><summary><div id="method.serialize_i128" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#509-512" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#method.serialize_i128" class="fnname">serialize_i128</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i128.html">i128</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize an <code>i128</code> value.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">i128</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_i128</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
<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" open><summary><div id="method.serialize_u128" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#619-622" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#method.serialize_u128" class="fnname">serialize_u128</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u128.html">u128</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>></h4></div></summary><div class="docblock"><p>Serialize a <code>u128</code> value.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">u128</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">serialize_u128</span>(<span class="kw-2">*</span><span class="self">self</span>)
|
||
}
|
||
}</code></pre></div>
|
||
<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" open><summary><div id="method.collect_seq" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#1275-1297" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#method.collect_seq" class="fnname">collect_seq</a><I>(self, iter: I) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> I: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,<br> <I as <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.59.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>, </span></h4></div></summary><div class="docblock"><p>Collect an iterator as a sequence.</p>
|
||
<p>The default implementation serializes each item yielded by the iterator
|
||
using <a href="#tymethod.serialize_seq"><code>serialize_seq</code></a>. Implementors should not need to override this
|
||
method.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">struct</span> <span class="ident">SecretlyOneHigher</span> {
|
||
<span class="ident">data</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">i32</span><span class="op">></span>,
|
||
}
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">SecretlyOneHigher</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">collect_seq</span>(<span class="self">self</span>.<span class="ident">data</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="ident">x</span> <span class="op">+</span> <span class="number">1</span>))
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="method.collect_map" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#1325-1348" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#method.collect_map" class="fnname">collect_map</a><K, V, I>(self, iter: I) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> K: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>,<br> V: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>,<br> I: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.tuple.html">(</a>K, V<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.tuple.html">)</a>>, </span></h4></div></summary><div class="docblock"><p>Collect an iterator as a map.</p>
|
||
<p>The default implementation serializes each pair yielded by the iterator
|
||
using <a href="#tymethod.serialize_map"><code>serialize_map</code></a>. Implementors should not need to override this
|
||
method.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>};
|
||
<span class="kw">use</span> <span class="ident">std::collections::BTreeSet</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">MapToUnit</span> {
|
||
<span class="ident">keys</span>: <span class="ident">BTreeSet</span><span class="op"><</span><span class="ident">i32</span><span class="op">></span>,
|
||
}
|
||
|
||
<span class="comment">// Serializes as a map in which the values are all unit.</span>
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">MapToUnit</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">collect_map</span>(<span class="self">self</span>.<span class="ident">keys</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="op">|</span><span class="ident">k</span><span class="op">|</span> (<span class="ident">k</span>, ())))
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="method.collect_str" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#1381-1386" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#method.collect_str" class="fnname">collect_str</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(self, value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Ok" title="type serde::Serializer::Ok">Ok</a>, Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.Error" title="type serde::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a>, </span></h4></div></summary><div class="docblock"><p>Serialize a string produced by an implementation of <code>Display</code>.</p>
|
||
<p>The default implementation builds a heap-allocated <a href="https://doc.rust-lang.org/std/string/struct.String.html"><code>String</code></a> and
|
||
delegates to <a href="#tymethod.serialize_str"><code>serialize_str</code></a>. Serializers are encouraged to provide a
|
||
more efficient implementation if possible.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">DateTime</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="ident">serializer</span>.<span class="ident">collect_str</span>(<span class="kw-2">&</span><span class="macro">format_args!</span>(<span class="string">"{:?}{:?}"</span>,
|
||
<span class="self">self</span>.<span class="ident">naive_local</span>(),
|
||
<span class="self">self</span>.<span class="ident">offset</span>()))
|
||
}
|
||
}</code></pre></div>
|
||
</div></details><details class="rustdoc-toggle" open><summary><div id="method.is_human_readable" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/mod.rs.html#1469-1471" title="goto source code">[src]</a></div><h4 class="code-header">fn <a href="#method.is_human_readable" class="fnname">is_human_readable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a></h4></div></summary><div class="docblock"><p>Determine whether <code>Serialize</code> implementations should serialize in
|
||
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 Bincode will prefer the
|
||
compact one.</p>
|
||
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>};
|
||
|
||
<span class="kw">impl</span> <span class="ident">Serialize</span> <span class="kw">for</span> <span class="ident">Timestamp</span> {
|
||
<span class="kw">fn</span> <span class="ident">serialize</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">serializer</span>: <span class="ident">S</span>) -> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">S</span>: <span class="ident">Serializer</span>,
|
||
{
|
||
<span class="kw">if</span> <span class="ident">serializer</span>.<span class="ident">is_human_readable</span>() {
|
||
<span class="comment">// Serialize to a human-readable string "2015-05-15T17:01:00Z".</span>
|
||
<span class="self">self</span>.<span class="ident">to_string</span>().<span class="ident">serialize</span>(<span class="ident">serializer</span>)
|
||
} <span class="kw">else</span> {
|
||
<span class="comment">// Serialize to a compact binary representation.</span>
|
||
<span class="self">self</span>.<span class="ident">seconds_since_epoch</span>().<span class="ident">serialize</span>(<span class="ident">serializer</span>)
|
||
}
|
||
}
|
||
}</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="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><details class="rustdoc-toggle implementors-toggle"><summary><div id="impl-Serializer-for-%26%27a%20mut%20Formatter%3C%27b%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#37-174" title="goto source code">[src]</a></div><a href="#impl-Serializer-for-%26%27a%20mut%20Formatter%3C%27b%3E" class="anchor"></a><h3 class="code-header in-band">impl<'a, 'b> <a class="trait" href="../trait.Serializer.html" title="trait serde::Serializer">Serializer</a> for &'a mut <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'b></h3></div></summary><div class="docblock">
|
||
<div class='information'><div class='tooltip edition' data-edition="2018">ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition"><code><span class="kw">use</span> <span class="ident">serde::Serialize</span>;
|
||
<span class="kw">use</span> <span class="ident">std::fmt</span>::{<span class="self">self</span>, <span class="ident">Display</span>};
|
||
|
||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Serialize</span>)]</span>
|
||
<span class="attribute">#[<span class="ident">serde</span>(<span class="ident">rename_all</span> <span class="op">=</span> <span class="string">"kebab-case"</span>)]</span>
|
||
<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">MessageType</span> {
|
||
<span class="ident">StartRequest</span>,
|
||
<span class="ident">EndRequest</span>,
|
||
}
|
||
|
||
<span class="kw">impl</span> <span class="ident">Display</span> <span class="kw">for</span> <span class="ident">MessageType</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&mut</span> <span class="ident">fmt::Formatter</span>) -> <span class="ident">fmt::Result</span> {
|
||
<span class="self">self</span>.<span class="ident">serialize</span>(<span class="ident">f</span>)
|
||
}
|
||
}</code></pre></div>
|
||
</div><div class="impl-items"><div id="associatedtype.Ok-1" class="type trait-impl has-srclink"><a href="#associatedtype.Ok-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Ok" class="associatedtype">Ok</a> = <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.unit.html">()</a></h4></div><div id="associatedtype.Error-1" class="type 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> = <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a></h4></div><div id="associatedtype.SerializeSeq-1" class="type trait-impl has-srclink"><a href="#associatedtype.SerializeSeq-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.SerializeSeq" class="associatedtype">SerializeSeq</a> = <a class="struct" href="struct.Impossible.html" title="struct serde::ser::Impossible">Impossible</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="associatedtype.SerializeTuple-1" class="type trait-impl has-srclink"><a href="#associatedtype.SerializeTuple-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.SerializeTuple" class="associatedtype">SerializeTuple</a> = <a class="struct" href="struct.Impossible.html" title="struct serde::ser::Impossible">Impossible</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="associatedtype.SerializeTupleStruct-1" class="type trait-impl has-srclink"><a href="#associatedtype.SerializeTupleStruct-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.SerializeTupleStruct" class="associatedtype">SerializeTupleStruct</a> = <a class="struct" href="struct.Impossible.html" title="struct serde::ser::Impossible">Impossible</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="associatedtype.SerializeTupleVariant-1" class="type trait-impl has-srclink"><a href="#associatedtype.SerializeTupleVariant-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.SerializeTupleVariant" class="associatedtype">SerializeTupleVariant</a> = <a class="struct" href="struct.Impossible.html" title="struct serde::ser::Impossible">Impossible</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="associatedtype.SerializeMap-1" class="type trait-impl has-srclink"><a href="#associatedtype.SerializeMap-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.SerializeMap" class="associatedtype">SerializeMap</a> = <a class="struct" href="struct.Impossible.html" title="struct serde::ser::Impossible">Impossible</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="associatedtype.SerializeStruct-1" class="type trait-impl has-srclink"><a href="#associatedtype.SerializeStruct-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.SerializeStruct" class="associatedtype">SerializeStruct</a> = <a class="struct" href="struct.Impossible.html" title="struct serde::ser::Impossible">Impossible</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="associatedtype.SerializeStructVariant-1" class="type trait-impl has-srclink"><a href="#associatedtype.SerializeStructVariant-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.SerializeStructVariant" class="associatedtype">SerializeStructVariant</a> = <a class="struct" href="struct.Impossible.html" title="struct serde::ser::Impossible">Impossible</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="method.serialize_bool" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_bool" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_bool" class="fnname">serialize_bool</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_i8" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_i8" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_i8" class="fnname">serialize_i8</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i8.html">i8</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_i16" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_i16" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_i16" class="fnname">serialize_i16</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i16.html">i16</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_i32" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_i32" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_i32" class="fnname">serialize_i32</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i32.html">i32</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_i64" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_i64" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_i64" class="fnname">serialize_i64</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i64.html">i64</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_u8" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_u8" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_u8" class="fnname">serialize_u8</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u8.html">u8</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_u16" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_u16" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_u16" class="fnname">serialize_u16</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u16.html">u16</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_u32" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_u32" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_u32" class="fnname">serialize_u32</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_u64" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_u64" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_u64" class="fnname">serialize_u64</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u64.html">u64</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_f32" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_f32" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_f32" class="fnname">serialize_f32</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.f32.html">f32</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_f64" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_f64" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_f64" class="fnname">serialize_f64</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.f64.html">f64</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_char" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_char" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_char" class="fnname">serialize_char</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.char.html">char</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_str" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_str" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_str" class="fnname">serialize_str</a>(self, v: &<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_unit_struct" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#48-63" title="goto source code">[src]</a></div><a href="#method.serialize_unit_struct" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_unit_struct" class="fnname">serialize_unit_struct</a>(self, v: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_i128-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#66-69" title="goto source code">[src]</a></div><a href="#method.serialize_i128-1" class="anchor"></a><h4 class="code-header">fn <a href="#method.serialize_i128" class="fnname">serialize_i128</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.i128.html">i128</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_u128-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#66-69" title="goto source code">[src]</a></div><a href="#method.serialize_u128-1" class="anchor"></a><h4 class="code-header">fn <a href="#method.serialize_u128" class="fnname">serialize_u128</a>(self, v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u128.html">u128</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_unit_variant" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#72-79" title="goto source code">[src]</a></div><a href="#method.serialize_unit_variant" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_unit_variant" class="fnname">serialize_unit_variant</a>(<br> self, <br> _name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> _variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a><br>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_newtype_struct" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#81-86" title="goto source code">[src]</a></div><a href="#method.serialize_newtype_struct" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_newtype_struct" class="fnname">serialize_newtype_struct</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(<br> self, <br> _name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T<br>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a> <span class="where fmt-newline">where<br> T: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>, </span></h4></div><div id="method.serialize_bytes" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#88-90" title="goto source code">[src]</a></div><a href="#method.serialize_bytes" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_bytes" class="fnname">serialize_bytes</a>(self, _v: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">]</a>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_none" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#92-94" title="goto source code">[src]</a></div><a href="#method.serialize_none" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_none" class="fnname">serialize_none</a>(self) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_some" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#96-101" title="goto source code">[src]</a></div><a href="#method.serialize_some" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_some" class="fnname">serialize_some</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(self, _value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a> <span class="where fmt-newline">where<br> T: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>, </span></h4></div><div id="method.serialize_unit" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#103-105" title="goto source code">[src]</a></div><a href="#method.serialize_unit" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_unit" class="fnname">serialize_unit</a>(self) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div><div id="method.serialize_newtype_variant" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#107-118" title="goto source code">[src]</a></div><a href="#method.serialize_newtype_variant" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_newtype_variant" class="fnname">serialize_newtype_variant</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(<br> self, <br> _name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> _variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> _variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> _value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T<br>) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a> <span class="where fmt-newline">where<br> T: <a class="trait" href="../trait.Serialize.html" title="trait serde::Serialize">Serialize</a>, </span></h4></div><div id="method.serialize_seq" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#120-122" title="goto source code">[src]</a></div><a href="#method.serialize_seq" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_seq" class="fnname">serialize_seq</a>(self, _len: <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a>>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeSeq" title="type serde::Serializer::SerializeSeq">SerializeSeq</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="method.serialize_tuple" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#124-126" title="goto source code">[src]</a></div><a href="#method.serialize_tuple" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_tuple" class="fnname">serialize_tuple</a>(self, _len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeTuple" title="type serde::Serializer::SerializeTuple">SerializeTuple</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="method.serialize_tuple_struct" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#128-134" title="goto source code">[src]</a></div><a href="#method.serialize_tuple_struct" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_tuple_struct" class="fnname">serialize_tuple_struct</a>(<br> self, <br> _name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> _len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeTupleStruct" title="type serde::Serializer::SerializeTupleStruct">SerializeTupleStruct</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="method.serialize_tuple_variant" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#136-144" title="goto source code">[src]</a></div><a href="#method.serialize_tuple_variant" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_tuple_variant" class="fnname">serialize_tuple_variant</a>(<br> self, <br> _name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> _variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> _variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> _len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeTupleVariant" title="type serde::Serializer::SerializeTupleVariant">SerializeTupleVariant</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="method.serialize_map" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#146-148" title="goto source code">[src]</a></div><a href="#method.serialize_map" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_map" class="fnname">serialize_map</a>(self, _len: <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a>>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeMap" title="type serde::Serializer::SerializeMap">SerializeMap</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="method.serialize_struct" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#150-156" title="goto source code">[src]</a></div><a href="#method.serialize_struct" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_struct" class="fnname">serialize_struct</a>(<br> self, <br> _name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> _len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeStruct" title="type serde::Serializer::SerializeStruct">SerializeStruct</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="method.serialize_struct_variant" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#158-166" title="goto source code">[src]</a></div><a href="#method.serialize_struct_variant" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.serialize_struct_variant" class="fnname">serialize_struct_variant</a>(<br> self, <br> _name: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> _variant_index: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.u32.html">u32</a>, <br> _variant: &'static <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>, <br> _len: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="../trait.Serializer.html#associatedtype.SerializeStructVariant" title="type serde::Serializer::SerializeStructVariant">SerializeStructVariant</a>, <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></div><div id="method.collect_str-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/serde/ser/fmt.rs.html#168-173" title="goto source code">[src]</a></div><a href="#method.collect_str-1" class="anchor"></a><h4 class="code-header">fn <a href="#method.collect_str" class="fnname">collect_str</a><T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(self, value: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>T) -> <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a> <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a>, </span></h4></div></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"></div><script type="text/javascript" src="../../implementors/serde/ser/trait.Serializer.js" async></script></section><section id="search" class="content hidden"></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.59.0 (9d1b2106e 2022-02-23)" ></div>
|
||
</body></html> |