Skip to main content

ShieldTransition

Enum ShieldTransition 

Source
pub enum ShieldTransition {
    V0(ShieldTransitionV0),
}

Variants§

Implementations§

Trait Implementations§

Source§

impl<'__de, __Context> BorrowDecode<'__de, __Context> for ShieldTransition

Source§

fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>

Attempt to decode this type with the given BorrowDecode.
Source§

impl<'__de, __Context> BorrowDecodeUntrusted<'__de, __Context> for ShieldTransition

Source§

fn borrow_decode_untrusted<__D: BorrowUntrustedDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>

Borrow-decode with explicit untrusted field dispatch and resource handling.
Source§

impl Clone for ShieldTransition

Source§

fn clone(&self) -> ShieldTransition

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ShieldTransition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<__Context> Decode<__Context> for ShieldTransition

Source§

fn decode<__D: Decoder<Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>

Attempt to decode this type with the given Decode.
Source§

impl<__Context> DecodeUntrusted<__Context> for ShieldTransition

Source§

fn decode_untrusted<__D: UntrustedDecoder<Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>

Decode with explicit untrusted field dispatch and resource handling.
Source§

impl<'de> Deserialize<'de> for ShieldTransition

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Encode for ShieldTransition

Source§

fn encode<__E: Encoder>(&self, encoder: &mut __E) -> Result<(), EncodeError>

Encode a given type.
Source§

impl FeatureVersioned for ShieldTransition

Source§

impl From<ShieldTransition> for StateTransition

Source§

fn from(value: ShieldTransition) -> Self

Converts to this type from the input type.
Source§

impl From<ShieldTransitionV0> for ShieldTransition

Source§

fn from(value: ShieldTransitionV0) -> Self

Converts to this type from the input type.
Source§

impl JsonConvertible for ShieldTransition

Source§

impl JsonSafeFields for ShieldTransition

Source§

impl OptionallyAssetLockProved for ShieldTransition

Source§

fn optional_asset_lock_proof(&self) -> Option<&AssetLockProof>

Returns asset lock proof if state transition implements it
Source§

impl PartialEq for ShieldTransition

Source§

fn eq(&self, other: &ShieldTransition) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PlatformDeserializableTrusted for ShieldTransition

Source§

impl PlatformDeserializableUntrusted for ShieldTransition

Source§

impl PlatformSerializable for ShieldTransition

Source§

type Error = ProtocolError

Source§

fn serialize_to_bytes(&self) -> Result<Vec<u8>, Self::Error>

Source§

fn serialize_consume_to_bytes(self) -> Result<Vec<u8>, Self::Error>

If the trait is not used just do a simple serialize
Source§

impl PlatformVersionEncode for ShieldTransition

Source§

fn platform_encode<__E: Encoder>( &self, encoder: &mut __E, platform_version: &PlatformVersion, ) -> Result<(), EncodeError>

Encode a given type.
Source§

impl<'__de> PlatformVersionedBorrowDecode<'__de> for ShieldTransition

Source§

fn platform_versioned_borrow_decode<__D: BorrowDecoder<'__de, Context = BincodeContext>>( decoder: &mut __D, platform_version: &PlatformVersion, ) -> Result<Self, DecodeError>

Attempt to decode this type with the given BorrowDecode.
Source§

impl PlatformVersionedDecode for ShieldTransition

Source§

fn platform_versioned_decode<__D: Decoder<Context = BincodeContext>>( decoder: &mut __D, platform_version: &PlatformVersion, ) -> Result<Self, DecodeError>

Attempt to decode this type with the given Decode.
Source§

impl Serialize for ShieldTransition

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl ShieldTransitionAccessorsV0 for ShieldTransition

Source§

fn actions(&self) -> &[SerializedAction]

Get the serialized Orchard actions (spend/output pairs).
Source§

fn set_actions(&mut self, actions: Vec<SerializedAction>)

Replace the serialized Orchard actions.
Source§

fn amount(&self) -> u64

Get the amount of credits being shielded (entering the shielded pool).
Source§

fn set_amount(&mut self, amount: u64)

Set the amount of credits being shielded.
Source§

fn anchor(&self) -> [u8; 32]

Get the Orchard anchor (Sinsemilla root of the note commitment tree).
Source§

fn set_anchor(&mut self, anchor: [u8; 32])

Set the Orchard anchor.
Source§

fn proof(&self) -> &[u8]

Get the Halo2 proof bytes.
Source§

fn set_proof(&mut self, proof: Vec<u8>)

Set the Halo2 proof bytes.
Source§

fn binding_signature(&self) -> [u8; 64]

Get the RedPallas binding signature.
Source§

fn set_binding_signature(&mut self, binding_signature: [u8; 64])

Set the RedPallas binding signature.
Source§

fn fee_strategy(&self) -> &AddressFundsFeeStrategy

Get the fee payment strategy.
Source§

fn set_fee_strategy(&mut self, fee_strategy: AddressFundsFeeStrategy)

Set the fee payment strategy.
Source§

fn nullifiers<T: From<[u8; 32]>>(&self) -> Vec<T>

Extract nullifier bytes from each action. Generic over the element type: use Vec<u8> or [u8; 32] as needed.
Source§

impl ShieldTransitionMethodsV0 for ShieldTransition

Source§

async fn try_from_bundle_with_signer<S: Signer<PlatformAddress>>( inputs: BTreeMap<PlatformAddress, (AddressNonce, Credits)>, actions: Vec<SerializedAction>, amount: u64, anchor: [u8; 32], proof: Vec<u8>, binding_signature: [u8; 64], fee_strategy: AddressFundsFeeStrategy, signer: &S, user_fee_increase: UserFeeIncrease, platform_version: &PlatformVersion, ) -> Result<StateTransition, ProtocolError>

Source§

fn get_type() -> StateTransitionType

Get State Transition Type
Source§

impl Signable for ShieldTransition

Source§

impl StateTransitionEstimatedFeeValidation for ShieldTransition

Source§

fn calculate_min_required_fee( &self, platform_version: &PlatformVersion, ) -> Result<Credits, ProtocolError>

Returns an advisory lower bound on a transparent Shield’s fee: the predictable COMPUTE portion compute_shielded_verification_fee(num_actions) (the per-bundle Halo 2 proof-verification fee + the per-action processing fee).

This is NOT the funding floor and is NOT the full fee. Unlike the asset-lock transitions, the transparent Shield is excluded from the address-minimum-balance pre-check (StateTransition::required_asset_lock_balance_for_processing_start does not dispatch to it), so no consensus or funding path consumes this value — it is only reachable via the generic SDK advisory StateTransition::calculate_estimated_fee().

Shield is metered + compute: GroveDB meters the real storage and processing of the note/nullifier writes, and the execution-event layer adds only this compute fee on top (see validate_fees_of_event / the ExecutionEvent construction). The metered storage/processing portion depends on live GroveDB tree state and therefore cannot be known statelessly here, so the real fee a Shield will be charged is strictly greater than this number. A caller that needs the actual required balance must price the metered portion against state (e.g. via the fee-validation pass), not rely on this estimate.

Source§

impl StateTransitionFieldTypes for ShieldTransition

Source§

impl StateTransitionHasUserFeeIncrease for ShieldTransition

Source§

fn user_fee_increase(&self) -> UserFeeIncrease

returns the fee multiplier

Source§

fn set_user_fee_increase(&mut self, user_fee_increase: UserFeeIncrease)

set a fee multiplier

Source§

impl StateTransitionLike for ShieldTransition

Source§

fn modified_data_ids(&self) -> Vec<Identifier>

Returns ID of the created contract

Source§

fn state_transition_type(&self) -> StateTransitionType

returns the type of State Transition

Source§

fn state_transition_protocol_version(&self) -> FeatureVersion

returns the protocol version
Source§

fn unique_identifiers(&self) -> Vec<String>

unique identifiers for the state transition This is often only one String except in the case of a documents batch state transition
Source§

fn is_document_state_transition(&self) -> bool

returns true if state transition is a document state transition
Source§

fn is_data_contract_state_transition(&self) -> bool

returns true if state transition is a data contract state transition
Source§

fn is_identity_state_transition(&self) -> bool

return true if state transition is an identity state transition
Source§

fn is_voting_state_transition(&self) -> bool

return true if state transition is a voting state transition
Source§

impl StateTransitionStructureValidation for ShieldTransition

Source§

fn validate_structure( &self, platform_version: &PlatformVersion, ) -> SimpleConsensusValidationResult

Validates the structure of the state transition
Source§

impl StateTransitionWitnessSigned for ShieldTransition

Source§

fn inputs(&self) -> &BTreeMap<PlatformAddress, (AddressNonce, Credits)>

Get inputs
Source§

fn inputs_mut( &mut self, ) -> &mut BTreeMap<PlatformAddress, (AddressNonce, Credits)>

Get inputs as a mutable map
Source§

fn set_inputs( &mut self, inputs: BTreeMap<PlatformAddress, (AddressNonce, Credits)>, )

Set inputs
Source§

fn witnesses(&self) -> &Vec<AddressWitness>

returns the witnesses as an array
Source§

fn set_witnesses(&mut self, witnesses: Vec<AddressWitness>)

set new witnesses
Source§

impl StateTransitionWitnessValidation for ShieldTransition

Source§

fn validate_witnesses(&self, signable_bytes: &[u8]) -> WitnessValidationResult

Validates that all input witnesses are valid for the given signable bytes. Read more
Source§

impl StructuralPartialEq for ShieldTransition

Source§

impl ValueConvertible for ShieldTransition

Source§

fn to_object(&self) -> Result<Value, ProtocolError>
where Self: Sized,

Source§

fn into_object(self) -> Result<Value, ProtocolError>
where Self: Sized,

Source§

fn from_object(value: Value) -> Result<Self, ProtocolError>
where Self: Sized,

Source§

fn from_object_ref(value: &Value) -> Result<Self, ProtocolError>
where Self: Sized,

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> CostsExt for T

§

fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>
where Self: Sized,

Wraps any value into a CostContext object with provided costs.
§

fn wrap_fn_cost( self, f: impl FnOnce(&Self) -> OperationCost, ) -> CostContext<Self>
where Self: Sized,

Wraps any value into CostContext object with costs computed using the value getting wrapped.
§

impl<'de, T> DefaultBorrowDecode<'de> for T
where T: BorrowDecode<'de, ()>,

§

fn borrow_decode<D>(decoder: &mut D) -> Result<Self, DecodeError>
where D: BorrowDecoder<'de, Context = ()>, Self: Sized,

§

impl<T> DefaultDecode for T
where T: Decode<()>,

§

fn decode<D>(decoder: &mut D) -> Result<Self, DecodeError>
where D: Decoder<Context = ()>, Self: Sized,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T, U> IntoOnNetwork<U> for T
where U: FromOnNetwork<T>,

§

fn into_on_network(self, network: Network) -> U

Calls U::from_on_network(self).

§

impl<T, U> IntoPlatformVersioned<U> for T

§

fn into_platform_versioned(self, platform_version: &PlatformVersion) -> U

Performs the conversion.
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryFromVersioned<U> for T
where T: TryFrom<U>,

§

type Error = <T as TryFrom<U>>::Error

The type returned in the event of a conversion error.
§

fn try_from_versioned( value: U, _grove_version: &GroveVersion, ) -> Result<T, <T as TryFromVersioned<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoPlatformVersioned<U> for T

§

type Error = <U as TryFromPlatformVersioned<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into_platform_versioned( self, platform_version: &PlatformVersion, ) -> Result<U, <U as TryFromPlatformVersioned<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoVersioned<U> for T
where U: TryFromVersioned<T>,

§

type Error = <U as TryFromVersioned<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into_versioned( self, grove_version: &GroveVersion, ) -> Result<U, <U as TryFromVersioned<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoWithBlockHashLookup<U> for T
where U: TryFromWithBlockHashLookup<T>,

§

type Error = <U as TryFromWithBlockHashLookup<T>>::Error

§

fn try_into_with_block_hash_lookup<F>( self, block_hash_lookup: F, network: Network, ) -> Result<U, <T as TryIntoWithBlockHashLookup<U>>::Error>
where F: Fn(&BlockHash) -> Option<u32>,

Converts self into T, using a block hash lookup function.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more