Struct naga::front::wgsl::parse::ast::TranslationUnit

source ·
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 Functions’ 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>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Default for TranslationUnit<'a>

source§

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> 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>,

§

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>,

§

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.