Struct naga::valid::analyzer::ExpressionInfo
source · pub struct ExpressionInfo {
pub uniformity: Uniformity,
pub ref_count: usize,
assignable_global: Option<Handle<GlobalVariable>>,
pub ty: TypeResolution,
}
Expand description
Information about an expression in a function body.
Fields§
§uniformity: Uniformity
Whether this expression is uniform, and why.
If this expression’s value is not uniform, this is the handle
of the expression from which this one’s non-uniformity
originates. Otherwise, this is None
.
ref_count: usize
The number of statements and other expressions using this expression’s value.
assignable_global: Option<Handle<GlobalVariable>>
The global variable into which this expression produces a pointer.
This is None
unless this expression is either a
GlobalVariable
, or an Access
or AccessIndex
that
ultimately refers to some part of a global.
Load
expressions applied to pointer-typed arguments could
refer to globals, but we leave this as None
for them.
ty: TypeResolution
The type of this expression.
Implementations§
Trait Implementations§
source§impl Clone for ExpressionInfo
impl Clone for ExpressionInfo
source§fn clone(&self) -> ExpressionInfo
fn clone(&self) -> ExpressionInfo
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for ExpressionInfo
impl RefUnwindSafe for ExpressionInfo
impl Send for ExpressionInfo
impl Sync for ExpressionInfo
impl Unpin for ExpressionInfo
impl UnwindSafe for ExpressionInfo
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
)