pub struct Resolved<R: ResolverKind, T: 'static + Send + Sync> { /* private fields */ }Expand description
SRD-80b in-spirit replacement for the default_resolver
attribute. The R parameter (a ResolverKind impl) carries
the auto-resolver kind; the T parameter is the concrete
Handle-inner type the body sees.
Operators write:
ⓘ
fn matching_profiles(
group: Resolved<GroupResolver, DatasetHandle>,
prefix: &str,
) -> Vec<String> {
let group: &TestDataGroup = group_of(&group);
// ... use group methods directly
}The macro reads <Resolved<GroupResolver, T> as Wire>::RESOLVER
at codegen time and emits the matching FuncSig.default_resolver.
No #[polydat_node(default_resolver = ...)] attribute is
involved — the resolver information lives in the function
signature where it belongs.
Implementations§
Trait Implementations§
Source§impl<R: ResolverKind, T: 'static + Send + Sync> Wire for Resolved<R, T>
impl<R: ResolverKind, T: 'static + Send + Sync> Wire for Resolved<R, T>
Source§const JIT: Option<JitType> = None
const JIT: Option<JitType> = None
JIT carrier classification.
Some(_) means the type
rides the Phase-2 u64 buffer; None means typed-eval
only.Source§const RESOLVER: Option<DefaultResolver>
const RESOLVER: Option<DefaultResolver>
SRD-53 §“Source-string call-site sugar” — auto-resolver
for
Str-typed upstream wires feeding this slot. None
(the default) disables auto-promotion; the workload must
supply the wire’s actual port type directly. Set via the
Resolved<R, T> marker wrapper.Source§const WIRE_COST: WireCost = crate::ast::WireCost::Data
const WIRE_COST: WireCost = crate::ast::WireCost::Data
SRD-15 §“WireCost::Config” — cost class for this wire.
Defaults to
WireCost::Data (cheap per-cycle input).
Set to WireCost::Config via the Config<T> marker
wrapper to signal that the wire is rarely-changing and
the compiler should warn on cycle-time binding.Auto Trait Implementations§
impl<R, T> Freeze for Resolved<R, T>
impl<R, T> RefUnwindSafe for Resolved<R, T>
impl<R, T> Send for Resolved<R, T>
impl<R, T> Sync for Resolved<R, T>
impl<R, T> Unpin for Resolved<R, T>
impl<R, T> UnsafeUnpin for Resolved<R, T>
impl<R, T> UnwindSafe for Resolved<R, T>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
Converts
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> ⓘ
Converts
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