Skip to main content

Lowered

Struct Lowered 

Source
pub struct Lowered {
    pub func: Func,
    pub stack: Stack,
    pub fired: Fired,
    pub blocks: Vec<Option<Block>>,
}
Expand description

A lowered function, and what the frame needs that the machine IR does not hold.

Fields§

§func: Func

The function, in machine instructions.

§stack: Stack

What it wants its stack to look like, which is separate from the function so that the two can be read and written at the same time.

§fired: Fired

Which rules of the table lowered it, which is what -Zrule-coverage asks for and what crate::coverage writes down.

§blocks: Vec<Option<Block>>

Which machine IR block each IR block became, indexed by the IR block’s own index, and nothing for a block the walk never reached.

Here because it is the only place the correspondence exists. Selection makes one block per block, in the same order and with the arms in the same order, so anything the IR knows about a block can be carried down through this and nothing else, and crate::weights::carry is what does.

Trait Implementations§

Source§

impl Debug for Lowered

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.