Struct charon_lib::ast::meta::ItemMeta   
source · pub struct ItemMeta {
    pub name: Name,
    pub span: Span,
    pub source_text: Option<String>,
    pub attr_info: AttrInfo,
    pub is_local: bool,
    pub opacity: ItemOpacity,
}Expand description
Meta information about an item (function, trait decl, trait impl, type decl, global).
Fields§
§name: Name§span: Span§source_text: Option<String>The source code that corresponds to this item.
attr_info: AttrInfoAttributes and visibility.
is_local: booltrue if the type decl is a local type decl, false if it comes from an external crate.
opacity: ItemOpacityWhether this item is considered opaque. For function and globals, this means we don’t translate the body (the code); for ADTs, this means we don’t translate the fields/variants. For traits and trait impls, this doesn’t change anything. For modules, this means we don’t explore its contents (we still translate any of its items mentioned from somewhere else).
This can happen either if the item was annotated with #[charon::opaque] or if it was
declared opaque via a command-line argument.
Implementations§
Trait Implementations§
source§impl<'de> Deserialize<'de> for ItemMeta
 
impl<'de> Deserialize<'de> for ItemMeta
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 ItemMeta
impl RefUnwindSafe for ItemMeta
impl Send for ItemMeta
impl Sync for ItemMeta
impl Unpin for ItemMeta
impl UnwindSafe for ItemMeta
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