pub struct AddressModel;Trait Implementations§
Source§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, 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<Sha256Hasher>> for AddressModel
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, 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<Sha256Hasher>> for AddressModel
Source§type Input = Asn1Carrier<'a>
type Input = Asn1Carrier<'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 = AddressLabelSha256
type Output = AddressLabelSha256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRoute
type Route = AddressRoute
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, AddrBounds, Sha256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Sha256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Sha256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Sha256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Sha256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::AddrBounds 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 AddressModel
Auto Trait Implementations§
impl Freeze for AddressModel
impl RefUnwindSafe for AddressModel
impl Send for AddressModel
impl Sync for AddressModel
impl Unpin for AddressModel
impl UnsafeUnpin for AddressModel
impl UnwindSafe for AddressModel
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