pub struct ResolvedFused {
pub id: FusedOpId,
pub dtypes: KernelDTypes,
pub backend: BackendId,
pub caps: KernelCaps,
pub layouts: Vec<ResolvedLayout>,
pub precision: PrecisionGuarantee,
pub cost: CompiledCostExpr,
pub kernel: KernelRef,
pub kernel_source: String,
pub revision: KernelRevisionHash,
pub variant: Option<String>,
pub bundle_slot_names: Vec<String>,
}Expand description
A fully-lowered fused (fused_op) contract — analogous to
ResolvedPrimitive but targeting the FusedKernelRegistry
(FusedOpId instead of OpKind; the fused cost target).
Fields§
§id: FusedOpIdThe fused op id (registry key, from default_registry()).
dtypes: KernelDTypesPer-operand dtypes, inputs in order then outputs.
backend: BackendIdThe backend (registry key).
caps: KernelCapsProjected layout capabilities (§6).
layouts: Vec<ResolvedLayout>Per-operand parsed five-flag layout sets (retained; §6).
precision: PrecisionGuaranteeLowered precision guarantee.
cost: CompiledCostExprParsed cost AST (the fused cost target; Unknown ⇒ unknown_cost).
kernel: KernelRefThe resolved kernel function pointer.
kernel_source: StringThe kernel_source tag.
revision: KernelRevisionHashThe kernel revision hash (§4.7; BackendImpl.revision).
variant: Option<String>OPAQUE specialization-variant tag (contract variant:), retained
verbatim from crate::fkc::schema::FkcKernel::variant (see
ResolvedPrimitive::variant).
bundle_slot_names: Vec<String>§5.5 return.bundle slot names, in declared order (empty for a
single-output section). Populated by
crate::fkc::return_check::bundle_slot_names (Finding 5.4, Task
3.6); register_into (register.rs) threads non-empty values into
FusedKernelRegistry::record_bundle_slot_names.
Trait Implementations§
Source§impl Clone for ResolvedFused
impl Clone for ResolvedFused
Auto Trait Implementations§
impl Freeze for ResolvedFused
impl RefUnwindSafe for ResolvedFused
impl Send for ResolvedFused
impl Sync for ResolvedFused
impl Unpin for ResolvedFused
impl UnsafeUnpin for ResolvedFused
impl UnwindSafe for ResolvedFused
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more