#[non_exhaustive]pub struct Options {
pub default_extensions: Extensions,
pub recursion_limit: Option<usize>,
}
Expand description
Roundtrip serde options.
§Examples
use ron::{Options, extensions::Extensions};
let ron = Options::default()
.with_default_extension(Extensions::IMPLICIT_SOME);
let de: Option<i32> = ron.from_str("42").unwrap();
let ser = ron.to_string(&de).unwrap();
assert_eq!(ser, "42");
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.default_extensions: Extensions
Extensions that are enabled by default during serialization and deserialization. During serialization, these extensions do NOT have to be explicitly enabled in the parsed RON. During deserialization, these extensions are used, but their explicit activation is NOT included in the output RON. No extensions are enabled by default.
recursion_limit: Option<usize>
Default recursion limit that is checked during serialization and
deserialization.
If set to None
, infinite recursion is allowed and stack overflow
errors can crash the serialization or deserialization process.
Defaults to Some(128)
, i.e. 128 recursive calls are allowed.
Implementations§
Source§impl Options
impl Options
Sourcepub fn with_default_extension(self, default_extension: Extensions) -> Self
pub fn with_default_extension(self, default_extension: Extensions) -> Self
Enable default_extension
by default during serialization and deserialization.
Sourcepub fn without_default_extension(self, default_extension: Extensions) -> Self
pub fn without_default_extension(self, default_extension: Extensions) -> Self
Do NOT enable default_extension
by default during serialization and deserialization.
Sourcepub fn with_recursion_limit(self, recursion_limit: usize) -> Self
pub fn with_recursion_limit(self, recursion_limit: usize) -> Self
Set a maximum recursion limit during serialization and deserialization.
Sourcepub fn without_recursion_limit(self) -> Self
pub fn without_recursion_limit(self) -> Self
Disable the recursion limit during serialization and deserialization.
If you expect to handle highly recursive datastructures, consider wrapping
ron
with serde_stacker
.
Source§impl Options
impl Options
Sourcepub fn from_reader<R, T>(&self, rdr: R) -> SpannedResult<T>where
R: Read,
T: DeserializeOwned,
pub fn from_reader<R, T>(&self, rdr: R) -> SpannedResult<T>where
R: Read,
T: DeserializeOwned,
A convenience function for building a deserializer
and deserializing a value of type T
from a reader.
Sourcepub fn from_str<'a, T>(&self, s: &'a str) -> SpannedResult<T>where
T: Deserialize<'a>,
pub fn from_str<'a, T>(&self, s: &'a str) -> SpannedResult<T>where
T: Deserialize<'a>,
A convenience function for building a deserializer
and deserializing a value of type T
from a string.
Sourcepub fn from_bytes<'a, T>(&self, s: &'a [u8]) -> SpannedResult<T>where
T: Deserialize<'a>,
pub fn from_bytes<'a, T>(&self, s: &'a [u8]) -> SpannedResult<T>where
T: Deserialize<'a>,
A convenience function for building a deserializer
and deserializing a value of type T
from bytes.
Sourcepub fn from_reader_seed<R, S, T>(&self, rdr: R, seed: S) -> SpannedResult<T>where
R: Read,
S: for<'a> DeserializeSeed<'a, Value = T>,
pub fn from_reader_seed<R, S, T>(&self, rdr: R, seed: S) -> SpannedResult<T>where
R: Read,
S: for<'a> DeserializeSeed<'a, Value = T>,
A convenience function for building a deserializer
and deserializing a value of type T
from a reader
and a seed.
Sourcepub fn from_str_seed<'a, S, T>(&self, s: &'a str, seed: S) -> SpannedResult<T>where
S: DeserializeSeed<'a, Value = T>,
pub fn from_str_seed<'a, S, T>(&self, s: &'a str, seed: S) -> SpannedResult<T>where
S: DeserializeSeed<'a, Value = T>,
A convenience function for building a deserializer
and deserializing a value of type T
from a string
and a seed.
Sourcepub fn from_bytes_seed<'a, S, T>(
&self,
s: &'a [u8],
seed: S,
) -> SpannedResult<T>where
S: DeserializeSeed<'a, Value = T>,
pub fn from_bytes_seed<'a, S, T>(
&self,
s: &'a [u8],
seed: S,
) -> SpannedResult<T>where
S: DeserializeSeed<'a, Value = T>,
A convenience function for building a deserializer
and deserializing a value of type T
from bytes
and a seed.
Sourcepub fn to_writer<W, T>(&self, writer: W, value: &T) -> Result<()>
pub fn to_writer<W, T>(&self, writer: W, value: &T) -> Result<()>
Serializes value
into writer
.
This function does not generate any newlines or nice formatting;
if you want that, you can use
to_writer_pretty
instead.
Sourcepub fn to_writer_pretty<W, T>(
&self,
writer: W,
value: &T,
config: PrettyConfig,
) -> Result<()>
pub fn to_writer_pretty<W, T>( &self, writer: W, value: &T, config: PrettyConfig, ) -> Result<()>
Serializes value
into writer
in a pretty way.
Sourcepub fn to_string<T>(&self, value: &T) -> Result<String>
pub fn to_string<T>(&self, value: &T) -> Result<String>
Serializes value
and returns it as string.
This function does not generate any newlines or nice formatting;
if you want that, you can use
to_string_pretty
instead.
Sourcepub fn to_string_pretty<T>(
&self,
value: &T,
config: PrettyConfig,
) -> Result<String>
pub fn to_string_pretty<T>( &self, value: &T, config: PrettyConfig, ) -> Result<String>
Serializes value
in the recommended RON layout in a pretty way.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Options
impl<'de> Deserialize<'de> for Options
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Options
impl RefUnwindSafe for Options
impl Send for Options
impl Sync for Options
impl Unpin for Options
impl UnwindSafe for Options
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)