Enum naga::front::wgsl::lower::ExpressionContextType

source ·
pub enum ExpressionContextType<'temp, 'out> {
    Runtime(LocalExpressionContext<'temp, 'out>),
    Constant(Option<LocalExpressionContext<'temp, 'out>>),
    Override,
}
Expand description

The type of Naga IR expression we are lowering an ast::Expression to.

Variants§

§

Runtime(LocalExpressionContext<'temp, 'out>)

We are lowering to an arbitrary runtime expression, to be included in a function’s body.

The given LocalExpressionContext holds information about local variables, arguments, and other definitions available only to runtime expressions, not constant or override expressions.

§

Constant(Option<LocalExpressionContext<'temp, 'out>>)

We are lowering to a constant expression, to be included in the module’s constant expression arena.

Everything global constant expressions are allowed to refer to is available in the ExpressionContext, but local constant expressions can also refer to other

§

Override

We are lowering to an override expression, to be included in the module’s constant expression arena.

Everything override expressions are allowed to refer to is available in the ExpressionContext, so this variant carries no further information.

Auto Trait Implementations§

§

impl<'temp, 'out> Freeze for ExpressionContextType<'temp, 'out>

§

impl<'temp, 'out> RefUnwindSafe for ExpressionContextType<'temp, 'out>

§

impl<'temp, 'out> Send for ExpressionContextType<'temp, 'out>

§

impl<'temp, 'out> Sync for ExpressionContextType<'temp, 'out>

§

impl<'temp, 'out> Unpin for ExpressionContextType<'temp, 'out>

§

impl<'temp, 'out> !UnwindSafe for ExpressionContextType<'temp, 'out>

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