Struct CharonCallbacks

Source
pub struct CharonCallbacks<'a> {
    options: &'a CliOpts,
    transform_ctx: Option<TransformCtx>,
}
Expand description

The callbacks for Charon

Fields§

§options: &'a CliOpts§transform_ctx: Option<TransformCtx>

This is to be filled during the extraction; it contains the translated crate.

Trait Implementations§

Source§

impl<'a> Callbacks for CharonCallbacks<'a>

Source§

fn after_expansion<'tcx>( &mut self, compiler: &Compiler, tcx: TyCtxt<'tcx>, ) -> Compilation

The MIR is modified in place: borrow-checking requires the “promoted” MIR, which causes the “built” MIR (which results from the conversion to HIR to MIR) to become unaccessible. Because we require built MIR at the moment, we hook ourselves before MIR-based analysis passes.

Source§

fn config(&mut self, config: &mut Config)

Called before creating the compiler instance
Source§

fn after_analysis<'tcx>(&mut self, _: &Compiler, _: TyCtxt<'tcx>) -> Compilation

Called after analysis. Return value instructs the compiler whether to continue the compilation afterwards (defaults to Compilation::Continue)
Source§

fn after_crate_root_parsing( &mut self, _compiler: &Compiler, _krate: &mut Crate, ) -> Compilation

Called after parsing the crate root. Submodules are not yet parsed when this callback is called. Return value instructs the compiler whether to continue the compilation afterwards (defaults to Compilation::Continue)

Auto Trait Implementations§

§

impl<'a> !Freeze for CharonCallbacks<'a>

§

impl<'a> !RefUnwindSafe for CharonCallbacks<'a>

§

impl<'a> Send for CharonCallbacks<'a>

§

impl<'a> !Sync for CharonCallbacks<'a>

§

impl<'a> Unpin for CharonCallbacks<'a>

§

impl<'a> UnwindSafe for CharonCallbacks<'a>

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
§

impl<I, T> ExtractContext<I, ()> for T

§

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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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

§

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
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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more