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.
keyword_set πŸ”’
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
CaseInsensitiveKeywordSet
A case-insensitive, ASCII-only set of strings, for use with Namer to avoid collisions with keywords and other reserved identifiers.
ConstantEvaluator
A context for evaluating constant expressions.
Emitter
Helper class to emit expressions
ExpressionKindTracker
GlobalCtx
KeywordSet
A case-sensitive set of strings, for use with Namer to avoid collisions with keywords and other reserved identifiers.
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
ExternalTextureNameKey
A component of a lowered external texture.
HashableLiteral
LayoutErrorInner
Errors generated by the Layouter.
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