pub struct TranslationUnit<'a> {
pub enable_extensions: EnableExtensions,
pub decls: Arena<GlobalDecl<'a>>,
pub expressions: Arena<Expression<'a>>,
pub types: Arena<Type<'a>>,
}
Fields§
§enable_extensions: EnableExtensions
§decls: Arena<GlobalDecl<'a>>
§expressions: Arena<Expression<'a>>
The common expressions arena for the entire translation unit.
All functions, global initializers, array lengths, etc. store their
expressions here. We apportion these out to individual Naga
Function
s’ expression arenas at lowering time. Keeping them all in a
single arena simplifies handling of things like array lengths (which are
effectively global and thus don’t clearly belong to any function) and
initializers (which can appear in both function-local and module-scope
contexts).
types: Arena<Type<'a>>
Non-user-defined types, like vec4<f32>
or array<i32, 10>
.
These are referred to by Handle<ast::Type<'a>>
values.
User-defined types are referred to by name until lowering.
Trait Implementations§
source§impl<'a> Debug for TranslationUnit<'a>
impl<'a> Debug for TranslationUnit<'a>
source§impl<'a> Default for TranslationUnit<'a>
impl<'a> Default for TranslationUnit<'a>
source§fn default() -> TranslationUnit<'a>
fn default() -> TranslationUnit<'a>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<'a> Freeze for TranslationUnit<'a>
impl<'a> RefUnwindSafe for TranslationUnit<'a>
impl<'a> Send for TranslationUnit<'a>
impl<'a> Sync for TranslationUnit<'a>
impl<'a> Unpin for TranslationUnit<'a>
impl<'a> UnwindSafe for TranslationUnit<'a>
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