Enum charon_lib::ast::expressions::FunId   
source · pub enum FunId {
    Regular(FunDeclId),
    Builtin(BuiltinFunId),
}Expand description
A function identifier. See crate::ullbc_ast::Terminator
Variants§
Regular(FunDeclId)
A “regular” function (function local to the crate, external function not treated as a primitive one).
Builtin(BuiltinFunId)
A primitive function, coming from a standard library (for instance:
alloc::boxed::Box::new).
TODO: rename to “Primitive”
Implementations§
source§impl FunId
 
impl FunId
pub fn is_regular(&self) -> bool
pub fn is_builtin(&self) -> bool
source§impl FunId
 
impl FunId
pub fn as_regular(&self) -> Option<&FunDeclId>
pub fn as_builtin(&self) -> Option<&BuiltinFunId>
source§impl FunId
 
impl FunId
pub fn as_regular_mut(&mut self) -> Option<&mut FunDeclId>
pub fn as_builtin_mut(&mut self) -> Option<&mut BuiltinFunId>
Trait Implementations§
source§impl<'de> Deserialize<'de> for FunId
 
impl<'de> Deserialize<'de> for FunId
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 FunId
impl StructuralPartialEq for FunId
Auto Trait Implementations§
impl Freeze for FunId
impl RefUnwindSafe for FunId
impl Send for FunId
impl Sync for FunId
impl Unpin for FunId
impl UnwindSafe for FunId
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<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