pub trait DialectTypes<D: Dialect> {
// Required methods
fn item_can_be_optimized() -> bool;
fn compile_elem(f: &mut Formatter<'_>, elem: &Elem<D>, word: bool) -> Result;
fn compile_item(f: &mut Formatter<'_>, item: &Item<D>) -> Result;
fn compile_type_definitions(
f: &mut Formatter<'_>,
items: &HashSet<Item<D>>,
scalars: &[(Elem<D>, usize)],
info: &Info,
flags: &Flags<D>,
) -> Result;
fn compile_local_memory_qualifier(f: &mut Formatter<'_>) -> Result;
// Provided methods
fn compile_atomic_kind(
f: &mut Formatter<'_>,
kind: &AtomicKind<D>,
) -> Result { ... }
fn compile_shared_memory_declaration(
f: &mut Formatter<'_>,
shared: &SharedMemory<D>,
) -> Result { ... }
fn compile_polyfills(_f: &mut Formatter<'_>, _flags: &Flags<D>) -> Result { ... }
fn address_space_for_variable(_variable: &Variable<D>) -> String { ... }
}Required Methods§
fn item_can_be_optimized() -> bool
fn compile_elem(f: &mut Formatter<'_>, elem: &Elem<D>, word: bool) -> Result
fn compile_item(f: &mut Formatter<'_>, item: &Item<D>) -> Result
fn compile_type_definitions( f: &mut Formatter<'_>, items: &HashSet<Item<D>>, scalars: &[(Elem<D>, usize)], info: &Info, flags: &Flags<D>, ) -> Result
fn compile_local_memory_qualifier(f: &mut Formatter<'_>) -> Result
Provided Methods§
fn compile_atomic_kind(f: &mut Formatter<'_>, kind: &AtomicKind<D>) -> Result
fn compile_polyfills(_f: &mut Formatter<'_>, _flags: &Flags<D>) -> Result
Sourcefn address_space_for_variable(_variable: &Variable<D>) -> String
fn address_space_for_variable(_variable: &Variable<D>) -> String
Address space (for Metal dialect only).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".