Enum charon_lib::ast::types::TypeDeclKind   
source · pub enum TypeDeclKind {
    Struct(Vector<FieldId, Field>),
    Enum(Vector<VariantId, Variant>),
    Union(Vector<FieldId, Field>),
    Opaque,
    Alias(Ty),
    Error(String),
}Variants§
Struct(Vector<FieldId, Field>)
Enum(Vector<VariantId, Variant>)
Union(Vector<FieldId, Field>)
Opaque
An opaque type.
Either a local type marked as opaque, or an external type.
Alias(Ty)
An alias to another type. This only shows up in the top-level list of items, as rustc inlines uses of type aliases everywhere else.
Error(String)
Used if an error happened during the extraction, and we don’t panic on error.
Implementations§
source§impl TypeDeclKind
 
impl TypeDeclKind
source§impl TypeDeclKind
 
impl TypeDeclKind
pub fn as_struct(&self) -> Option<&Vector<FieldId, Field>>
pub fn as_enum(&self) -> Option<&Vector<VariantId, Variant>>
pub fn as_union(&self) -> Option<&Vector<FieldId, Field>>
pub fn as_opaque(&self) -> Option<()>
pub fn as_alias(&self) -> Option<&Ty>
pub fn as_error(&self) -> Option<&String>
source§impl TypeDeclKind
 
impl TypeDeclKind
pub fn as_struct_mut(&mut self) -> Option<&mut Vector<FieldId, Field>>
pub fn as_enum_mut(&mut self) -> Option<&mut Vector<VariantId, Variant>>
pub fn as_union_mut(&mut self) -> Option<&mut Vector<FieldId, Field>>
pub fn as_opaque_mut(&mut self) -> Option<()>
pub fn as_alias_mut(&mut self) -> Option<&mut Ty>
pub fn as_error_mut(&mut self) -> Option<&mut String>
Trait Implementations§
source§impl Clone for TypeDeclKind
 
impl Clone for TypeDeclKind
source§fn clone(&self) -> TypeDeclKind
 
fn clone(&self) -> TypeDeclKind
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moresource§impl Debug for TypeDeclKind
 
impl Debug for TypeDeclKind
source§impl<'de> Deserialize<'de> for TypeDeclKind
 
impl<'de> Deserialize<'de> for TypeDeclKind
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TypeDeclKind
impl RefUnwindSafe for TypeDeclKind
impl Send for TypeDeclKind
impl Sync for TypeDeclKind
impl Unpin for TypeDeclKind
impl UnwindSafe for TypeDeclKind
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
 
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<I, T> ExtractContext<I, ()> for T
 
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
 
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<I> RecreateContext<I> for I
 
impl<I> RecreateContext<I> for I
§fn recreate_context(_original_input: I, tail: I) -> I
 
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more