pub struct AddressModelSha512;Trait Implementations§
Source§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds64, Sha512Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Sha512Hasher>> for AddressModelSha512
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds64, Sha512Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Sha512Hasher>> for AddressModelSha512
Source§type Input = SExprValue<'a>
type Input = SExprValue<'a>
Input feature type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary.
Per wiki ADR-023 (amended by ADR-060), Input is also bound by
[IntoBindingValue]<'a> so [run_route] can flow the runtime
input value (as a source-polymorphic TermValue carrier) into the
CompileUnit binding table for Term::Variable { name_index: 0 }
(the route’s input-parameter slot per ADR-022 D3 G2). The lifetime
'a is the borrowed-input-data lifetime the carrier (and the
resulting Grounded<'a> output) propagates.Source§type Output = AddressLabelSha512
type Output = AddressLabelSha512
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRouteSha512
type Route = AddressRouteSha512
Type-level witness of the term tree mapping
Input to Output.
Bound by [FoundationClosed]: the prism_model! macro emits the
FoundationClosed impl for this witness iff every node is a
foundation-vocabulary item, satisfying the closure check at the
application’s compile time per UORassembly (TC-04).Source§fn forward(
input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds64, Sha512Hasher, { _ }, {
<crate::bounds::AddrBounds64 as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Sha512Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds64, Sha512Hasher, { _ }, {
<crate::bounds::AddrBounds64 as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Sha512Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds64 as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds64, Sha512Hasher, { _ }, { <crate::bounds::AddrBounds64 as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Sha512Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds64, Sha512Hasher, { _ }, { <crate::bounds::AddrBounds64 as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Sha512Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::AddrBounds64 as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }>, PipelineFailure>
The catamorphism into [
run_route]’s runtime carrier.
Implementations are emitted by the prism_model! macro from the
syntactic Route declaration; the macro derives the body via
initiality of Term (wiki ADR-019). The canonical body is
run_route::<H, B, A, Self>(input) (per ADR-022 D5). Read moreimpl Sealed for AddressModelSha512
Auto Trait Implementations§
impl Freeze for AddressModelSha512
impl RefUnwindSafe for AddressModelSha512
impl Send for AddressModelSha512
impl Sync for AddressModelSha512
impl Unpin for AddressModelSha512
impl UnsafeUnpin for AddressModelSha512
impl UnwindSafe for AddressModelSha512
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