#[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
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional 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

source

pub fn with_default_extension(self, default_extension: Extensions) -> Options

Enable default_extension by default during serialization and deserialization.

source

pub fn without_default_extension(self, default_extension: Extensions) -> Options

Do NOT enable default_extension by default during serialization and deserialization.

source

pub fn with_recursion_limit(self, recursion_limit: usize) -> Options

Set a maximum recursion limit during serialization and deserialization.

source

pub fn without_recursion_limit(self) -> Options

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

source

pub fn from_reader<R, T>(&self, rdr: R) -> Result<T, SpannedError>
where R: Read, T: DeserializeOwned,

A convenience function for building a deserializer and deserializing a value of type T from a reader.

source

pub fn from_str<'a, T>(&self, s: &'a str) -> Result<T, SpannedError>
where T: Deserialize<'a>,

A convenience function for building a deserializer and deserializing a value of type T from a string.

source

pub fn from_bytes<'a, T>(&self, s: &'a [u8]) -> Result<T, SpannedError>
where T: Deserialize<'a>,

A convenience function for building a deserializer and deserializing a value of type T from bytes.

source

pub fn from_reader_seed<R, S, T>( &self, rdr: R, seed: S ) -> Result<T, SpannedError>
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.

source

pub fn from_str_seed<'a, S, T>( &self, s: &'a str, seed: S ) -> Result<T, SpannedError>
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.

source

pub fn from_bytes_seed<'a, S, T>( &self, s: &'a [u8], seed: S ) -> Result<T, SpannedError>
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.

source

pub fn to_writer<W, T>(&self, writer: W, value: &T) -> Result<(), Error>
where W: Write, T: Serialize + ?Sized,

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.

source

pub fn to_writer_pretty<W, T>( &self, writer: W, value: &T, config: PrettyConfig ) -> Result<(), Error>
where W: Write, T: Serialize + ?Sized,

Serializes value into writer in a pretty way.

source

pub fn to_string<T>(&self, value: &T) -> Result<String, Error>
where T: Serialize + ?Sized,

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.

source

pub fn to_string_pretty<T>( &self, value: &T, config: PrettyConfig ) -> Result<String, Error>
where T: Serialize + ?Sized,

Serializes value in the recommended RON layout in a pretty way.

Trait Implementations§

source§

impl Clone for Options

source§

fn clone(&self) -> Options

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Options

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Default for Options

source§

fn default() -> Options

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Options

source§

fn deserialize<__D>( __deserializer: __D ) -> Result<Options, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Options

source§

fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T, U> AsBindGroupShaderType<U> for T
where U: ShaderType, &'a T: for<'a> Into<U>,

source§

fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast<T> for T

source§

fn downcast(&self) -> &T

source§

impl<T> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<S> FromSample<S> for S

source§

fn from_sample_(s: S) -> S

source§

impl<T> FromWorld for T
where T: Default,

source§

fn from_world(_world: &mut World) -> T

Creates Self using data from the given World.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Serialize for T
where T: Serialize + ?Sized,

source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer ) -> Result<(), ErrorImpl>

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

source§

fn to_sample_(self) -> U

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> TypeData for T
where T: 'static + Send + Sync + Clone,

source§

impl<T> Upcast<T> for T

source§

fn upcast(&self) -> Option<&T>

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

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

source§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,

source§

impl<T> Settings for T
where T: 'static + Send + Sync,

source§

impl<T> WasmNotSend for T
where T: Send,

source§

impl<T> WasmNotSendSync for T

source§

impl<T> WasmNotSync for T
where T: Sync,