pub struct AtomicOpDecl {
pub name: &'static str,
pub inputs: &'static [(&'static str, &'static TypeNode)],
pub outputs: &'static [(&'static str, &'static TypeNode)],
pub kind: AtomicOpKind,
pub type_relations: &'static [TypeRelation],
}Expand description
One atomic-op declaration inside an AtomicOpsetDecl.
Fields§
§name: &'static strOp_type string. Used as the (domain, op_type, instance)
dispatch key.
inputs: &'static [(&'static str, &'static TypeNode)]Input slot names + their TypeNode. The engine validates
that each dispatch_atomic call’s inputs match.
outputs: &'static [(&'static str, &'static TypeNode)]Output slot names + their TypeNode.
kind: AtomicOpKindSync or async completion semantics.
type_relations: &'static [TypeRelation]Type relations the TypeSolver instantiates. Empty for ops
whose inputs/outputs already pin concrete types; populated
for polymorphic ops (Add, MatMul, Reshape).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AtomicOpDecl
impl RefUnwindSafe for AtomicOpDecl
impl Send for AtomicOpDecl
impl Sync for AtomicOpDecl
impl Unpin for AtomicOpDecl
impl UnsafeUnpin for AtomicOpDecl
impl UnwindSafe for AtomicOpDecl
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