rasn_compiler::prelude

Struct RasnConfig

Source
pub struct RasnConfig {
    pub opaque_open_types: bool,
    pub default_wildcard_imports: bool,
    pub generate_from_impls: bool,
}
Expand description

A configuration for the Rasn backend

Fields§

§opaque_open_types: bool

ASN.1 Open Types are represented as the rasn::types::Any type, which holds a binary content. If opaque_open_types is false, the compiler will generate additional de-/encode methods for all rust types that hold an open type. For example, bindings for a SEQUENCE with a field of Open Type value will include a method for explicitly decoding the Open Type field. Non-opaque open types are still experimental. If you have trouble generating correct bindings, switch back to opaque open types.

§default_wildcard_imports: bool

The compiler will try to match module import dependencies of the ASN.1 module as close as possible, importing only those types from other modules that are imported in the ASN.1 module. If the default_wildcard_imports is set to true , the compiler will import the entire module using the wildcard * for each module that the input ASN.1 module imports from.

§generate_from_impls: bool

To make working with the generated types a bit more ergonomic, the compiler can generate From impls for the wrapper inner types in a CHOICE, as long as the generated impls are not ambiguous. This is disabled by default to generate less code, but can be enabled with generate_from_impls set to true.

Trait Implementations§

Source§

impl Debug for Config

Source§

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

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

impl Default for Config

Source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

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> 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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.