Module proc

Source
Expand description

Module processing functionality.

Re-exports§

pub use index::BoundsCheckPolicies;
pub use index::BoundsCheckPolicy;
pub use index::IndexableLength;
pub use index::IndexableLengthError;

Modules§

constant_evaluator 🔒
emitter 🔒
index
Definitions for index bounds checking.
layouter 🔒
namer 🔒
overloads 🔒
Overload resolution for builtin functions.
terminator 🔒
type_methods 🔒
Methods on TypeInner, Scalar, and ScalarKind.
typifier 🔒

Structs§

Alignment
A newtype struct where its only valid values are powers of 2
ConstantEvaluator
A context for evaluating constant expressions.
Emitter
Helper class to emit expressions
ExpressionKindTracker
GlobalCtx
LayoutError
Layouter
Helper processor that derives the sizes of all types.
MissingSpecialType
Namer
This processor assigns names to all the things in a module that may need identifiers in a textual backend.
ResolveContext
Rule
A single type rule.
TypeLayout
Size and alignment information for a type.

Enums§

Conclusion
The result type of a Rule.
ConstantEvaluatorError
ExpressionKind
HashableLiteral
LayoutErrorInner
NameKey
ResolveArraySizeError
ResolveError
TypeResolution
The result of computing an expression’s type.
U32EvalError 🔒

Traits§

OverloadSet
A trait for types representing of a set of Naga IR type rules.

Functions§

compare_types
Compare two types.
ensure_block_returns
Ensure that the given block has return statements at the end of its control flow.
flatten_compose
Return an iterator over the individual components assembled by a Compose expression.
min_max_float_representable_by
Returns a tuple of crate::Literals representing the minimum and maximum float values exactly representable by the provided float and integer types. Panics if float is not one of F16, F32, or F64, or int is not one of I32, U32, I64, or U64.

Type Aliases§

EntryPointIndex