pub enum Type<'a> {
Show 14 variants
Scalar(Scalar),
Vector {
size: VectorSize,
ty: Handle<Type<'a>>,
ty_span: Span,
},
Matrix {
columns: VectorSize,
rows: VectorSize,
ty: Handle<Type<'a>>,
ty_span: Span,
},
Atomic(Scalar),
Pointer {
base: Handle<Type<'a>>,
space: AddressSpace,
},
Array {
base: Handle<Type<'a>>,
size: ArraySize<'a>,
},
Image {
dim: ImageDimension,
arrayed: bool,
class: ImageClass,
},
Sampler {
comparison: bool,
},
AccelerationStructure,
RayQuery,
RayDesc,
RayIntersection,
BindingArray {
base: Handle<Type<'a>>,
size: ArraySize<'a>,
},
User(Ident<'a>),
}
Variants§
Scalar(Scalar)
Vector
Matrix
Atomic(Scalar)
Pointer
Array
Image
Sampler
AccelerationStructure
RayQuery
RayDesc
RayIntersection
BindingArray
User(Ident<'a>)
A user-defined type, like a struct or a type alias.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Type<'a>
impl<'a> RefUnwindSafe for Type<'a>
impl<'a> Send for Type<'a>
impl<'a> Sync for Type<'a>
impl<'a> Unpin for Type<'a>
impl<'a> UnwindSafe for Type<'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