pub enum Attribute {
Opaque,
Rename(String),
VariantsPrefix(String),
VariantsSuffix(String),
DocComment(String),
Unknown(RawAttribute),
}
Expand description
Attributes (#[...]
).
Variants§
Opaque
Do not translate the body of this item.
Written #[charon::opaque]
Rename(String)
Provide a new name that consumers of the llbc can use.
Written #[charon::rename("new_name")]
VariantsPrefix(String)
For enums only: rename the variants by pre-pending their names with the given prefix.
Written #[charon::variants_prefix("prefix_")]
.
VariantsSuffix(String)
Same as VariantsPrefix
, but appends to the name instead of pre-pending.
DocComment(String)
A doc-comment such as /// ...
.
Unknown(RawAttribute)
A non-charon-specific attribute.
Implementations§
source§impl Attribute
impl Attribute
pub fn is_opaque(&self) -> bool
pub fn is_rename(&self) -> bool
pub fn is_variants_prefix(&self) -> bool
pub fn is_variants_suffix(&self) -> bool
pub fn is_doc_comment(&self) -> bool
pub fn is_unknown(&self) -> bool
source§impl Attribute
impl Attribute
pub fn as_opaque(&self) -> Option<()>
pub fn as_rename(&self) -> Option<&String>
pub fn as_variants_prefix(&self) -> Option<&String>
pub fn as_variants_suffix(&self) -> Option<&String>
pub fn as_doc_comment(&self) -> Option<&String>
pub fn as_unknown(&self) -> Option<&RawAttribute>
source§impl Attribute
impl Attribute
pub fn as_opaque_mut(&mut self) -> Option<()>
pub fn as_rename_mut(&mut self) -> Option<&mut String>
pub fn as_variants_prefix_mut(&mut self) -> Option<&mut String>
pub fn as_variants_suffix_mut(&mut self) -> Option<&mut String>
pub fn as_doc_comment_mut(&mut self) -> Option<&mut String>
pub fn as_unknown_mut(&mut self) -> Option<&mut RawAttribute>
source§impl Attribute
impl Attribute
pub fn to_opaque(self) -> Option<()>
pub fn to_rename(self) -> Option<String>
pub fn to_variants_prefix(self) -> Option<String>
pub fn to_variants_suffix(self) -> Option<String>
pub fn to_doc_comment(self) -> Option<String>
pub fn to_unknown(self) -> Option<RawAttribute>
source§impl Attribute
impl Attribute
sourcepub fn parse_from_raw(raw_attr: RawAttribute) -> Result<Self, String>
pub fn parse_from_raw(raw_attr: RawAttribute) -> Result<Self, String>
Parse a raw attribute to recognize our special charon::*
and aeneas::*
attributes.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Attribute
impl<'de> Deserialize<'de> for Attribute
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
impl Eq for Attribute
impl StructuralPartialEq for Attribute
Auto Trait Implementations§
impl Freeze for Attribute
impl RefUnwindSafe for Attribute
impl Send for Attribute
impl Sync for Attribute
impl Unpin for Attribute
impl UnwindSafe for Attribute
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§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