pub trait ScalarOrVectorOpdImpls<I: ?Sized + TypeInterfaceMarker + 'static, const N: usize>: Op {
// Provided methods
fn scalar_or_vector_elem_ty(&self, ctx: &Context) -> TypeInterfaceHandle<I> { ... }
fn vector_shape(&self, ctx: &Context) -> Option<(u32, VectorTypeKind)> { ... }
}Expand description
An operand whose type either impls I or is VectorType<T: I>.
Provided Methods§
Sourcefn scalar_or_vector_elem_ty(&self, ctx: &Context) -> TypeInterfaceHandle<I>
fn scalar_or_vector_elem_ty(&self, ctx: &Context) -> TypeInterfaceHandle<I>
Get the type of operand N, or its element type if its VectorType.
Sourcefn vector_shape(&self, ctx: &Context) -> Option<(u32, VectorTypeKind)>
fn vector_shape(&self, ctx: &Context) -> Option<(u32, VectorTypeKind)>
Get the vector shape of operand N, or None if it is not a VectorType.
Trait Implementations§
impl<I: ?Sized + TypeInterfaceMarker + 'static, const N: usize> OpInterfaceMarker for dyn ScalarOrVectorOpdImpls<I, N>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".