Skip to main content

Error

Enum Error 

Source
#[non_exhaustive]
pub enum Error<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT> {
Show 24 variants DataSource(DataSourceError), CommitmentTree(ShardTreeError<CommitmentTreeError>), NoteSelection(SelectionError), Change(ChangeError<ChangeErrT, NoteRefT>), Proposal(ProposalError), ProposalNotSupported, AccountIdNotRecognized, KeyNotRecognized, AccountCannotSpend, BalanceError(BalanceError), InsufficientFunds { available: Zatoshis, required: Zatoshis, }, ScanRequired, Builder(Error<FeeError>), Payment(PaymentError), UnsupportedChangeType(PoolType), NoSupportedReceivers(Box<UnifiedAddress>), KeyNotAvailable(PoolType), NoteMismatch(NoteId), Address(ConversionError<&'static str>), AddressNotRecognized(TransparentAddress), ExpiryHeightBelowTargetHeight { expiry_height: BlockHeight, min_target_height: BlockHeight, }, ExpiryHeightConflictsWithCanonicalCrossing { requested: BlockHeight, }, RecipientAddressExpiry { payment_index: usize, error: AddressExpiryError, }, Pczt(PcztError),
}
Expand description

Errors that can occur as a consequence of wallet operations.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

DataSource(DataSourceError)

An error occurred retrieving data from the underlying data source

§

CommitmentTree(ShardTreeError<CommitmentTreeError>)

An error in computations involving the note commitment trees.

§

NoteSelection(SelectionError)

An error in note selection

§

Change(ChangeError<ChangeErrT, NoteRefT>)

An error in change selection during transaction proposal construction

§

Proposal(ProposalError)

An error in transaction proposal construction

§

ProposalNotSupported

The proposal was structurally valid, but tried to do one of these unsupported things:

  • spend a prior shielded output;
  • pay to an output pool for which the corresponding feature is not enabled;
  • pay to a TEX address if the “transparent-inputs” feature is not enabled.
  • a proposal step has no inputs
§

AccountIdNotRecognized

No account could be found corresponding to a provided ID.

§

KeyNotRecognized

No account could be found corresponding to a provided spending key.

§

AccountCannotSpend

The given account cannot be used for spending, because it is unable to maintain an accurate balance.

§

BalanceError(BalanceError)

Zcash amount computation encountered an overflow or underflow.

§

InsufficientFunds

Unable to create a new spend because the wallet balance is not sufficient.

Fields

§available: Zatoshis
§required: Zatoshis
§

ScanRequired

The wallet must first perform a scan of the blockchain before other operations can be performed.

§

Builder(Error<FeeError>)

An error occurred building a new transaction.

§

Payment(PaymentError)

An error occurred constructing a payment for the transaction.

§

UnsupportedChangeType(PoolType)

Attempted to send change to an unsupported pool.

This is indicative of a programming error; execution of a transaction proposal that presumes support for the specified pool was performed using an application that does not provide such support.

§

NoSupportedReceivers(Box<UnifiedAddress>)

Attempted to create a spend to an unsupported Unified Address receiver

§

KeyNotAvailable(PoolType)

A proposed transaction cannot be built because it requires spending an input of a type for which a key required to construct the transaction is not available.

§

NoteMismatch(NoteId)

A note being spent does not correspond to either the internal or external full viewing key for an account.

§

Address(ConversionError<&'static str>)

An error occurred parsing the address from a payment request.

§

AddressNotRecognized(TransparentAddress)

Available on crate feature transparent-inputs only.

The address associated with a record being inserted was not recognized as belonging to the wallet.

§

ExpiryHeightBelowTargetHeight

The caller requested a nonzero target expiry height below the proposal’s minimum target height. Zero remains valid because it disables expiry.

Fields

§expiry_height: BlockHeight
§min_target_height: BlockHeight
§

ExpiryHeightConflictsWithCanonicalCrossing

The caller requested an expiry height for a step that is a canonical ZIP 318 crossing.

Such a step takes its expiry from the ZIP 318 rolling window, which every crossing in the same period shares; a caller-chosen expiry would single it out and undo the shape the unpadded bundle and bucketed anchor were chosen to produce. Those are already fixed by the time the transaction is built, so the conflict is reported rather than silently resolved. Pass None to accept the canonical expiry.

Fields

§requested: BlockHeight
§

RecipientAddressExpiry

A ZIP 316 Revision 2 recipient address of the payment at the given index has expired, or has expiry metadata that conflicts with the transaction’s expiry height. A currently-valid address should be obtained for the intended recipient.

Fields

§payment_index: usize
§

Pczt(PcztError)

Available on crate feature pczt only.

An error occurred while working with PCZTs.

Trait Implementations§

Source§

impl<DataSourceError: Debug, CommitmentTreeError: Debug, SelectionError: Debug, FeeError: Debug, ChangeErrT: Debug, NoteRefT: Debug> Debug for Error<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT>

Source§

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

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

impl<DE, TE, SE, FE, CE, N> Display for Error<DE, TE, SE, FE, CE, N>
where DE: Display, TE: Display, SE: Display, FE: Display, CE: Display, N: Display,

Source§

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

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

impl<DE, TE, SE, FE, CE, N> Error for Error<DE, TE, SE, FE, CE, N>
where DE: Debug + Display + Error + 'static, TE: Debug + Display + Error + 'static, SE: Debug + Display + Error + 'static, FE: Debug + Display + 'static, CE: Debug + Display + Error + 'static, N: Debug + Display + 'static,

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl<DE, TE, SE, FE, CE, N> From<BalanceError> for Error<DE, TE, SE, FE, CE, N>

Source§

fn from(e: BalanceError) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<ConversionError<&'static str>> for Error<DE, TE, SE, FE, CE, N>

Source§

fn from(value: ConversionError<&'static str>) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<Error<FE>> for Error<DE, TE, SE, FE, CE, N>

Source§

fn from(e: Error<FE>) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<Error> for Error<DE, TE, SE, FE, CE, N>

Source§

fn from(e: Error) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<Error> for Error<DE, TE, SE, FE, CE, N>

Source§

fn from(e: Error) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<Error> for Error<DE, TE, SE, FE, CE, N>

Available on crate feature pczt only.
Source§

fn from(e: Error) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<Error> for Error<DE, TE, SE, FE, CE, N>

Available on crate feature pczt only.
Source§

fn from(e: Error) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<Error> for Error<DE, TE, SE, FE, CE, N>

Available on crate feature pczt only.
Source§

fn from(e: Error) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<InputSelectorError<DE, SE, CE, N>> for Error<DE, TE, SE, FE, CE, N>

Source§

fn from(e: InputSelectorError<DE, SE, CE, N>) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<OrchardError> for Error<DE, TE, SE, FE, CE, N>

Available on crate feature pczt only.
Source§

fn from(e: OrchardError) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<PcztError> for Error<DE, TE, SE, FE, CE, N>

Available on crate feature pczt only.
Source§

fn from(e: PcztError) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<ProposalError> for Error<DE, TE, SE, FE, CE, N>

Source§

fn from(e: ProposalError) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<SaplingError> for Error<DE, TE, SE, FE, CE, N>

Available on crate feature pczt only.
Source§

fn from(e: SaplingError) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<ShardTreeError<TE>> for Error<DE, TE, SE, FE, CE, N>

Source§

fn from(e: ShardTreeError<TE>) -> Self

Converts to this type from the input type.
Source§

impl<DE, TE, SE, FE, CE, N> From<TransparentError> for Error<DE, TE, SE, FE, CE, N>

Available on crate feature pczt only.
Source§

fn from(e: TransparentError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT> !RefUnwindSafe for Error<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT>

§

impl<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT> !UnwindSafe for Error<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT>

§

impl<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT> Freeze for Error<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT>
where DataSourceError: Freeze, ShardTreeError<CommitmentTreeError>: Freeze, SelectionError: Freeze, ChangeError<ChangeErrT, NoteRefT>: Freeze, Error<FeeError>: Freeze,

§

impl<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT> Send for Error<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT>
where DataSourceError: Send, ShardTreeError<CommitmentTreeError>: Send, SelectionError: Send, ChangeError<ChangeErrT, NoteRefT>: Send, Error<FeeError>: Send,

§

impl<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT> Sync for Error<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT>
where DataSourceError: Sync, ShardTreeError<CommitmentTreeError>: Sync, SelectionError: Sync, ChangeError<ChangeErrT, NoteRefT>: Sync, Error<FeeError>: Sync,

§

impl<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT> Unpin for Error<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT>
where DataSourceError: Unpin, ShardTreeError<CommitmentTreeError>: Unpin, SelectionError: Unpin, ChangeError<ChangeErrT, NoteRefT>: Unpin, Error<FeeError>: Unpin,

§

impl<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT> UnsafeUnpin for Error<DataSourceError, CommitmentTreeError, SelectionError, FeeError, ChangeErrT, NoteRefT>
where DataSourceError: UnsafeUnpin, ShardTreeError<CommitmentTreeError>: UnsafeUnpin, SelectionError: UnsafeUnpin, ChangeError<ChangeErrT, NoteRefT>: UnsafeUnpin, Error<FeeError>: UnsafeUnpin,

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
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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<T> Conv for T

§

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

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

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSend for T
where T: Any + Send,

§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Sync + Send>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send> ⓘ

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
§

impl<E> ErrorReport for E
where E: Error + 'static,

§

fn report(&self) -> Report<ReportHelper<'_>>

Return an object that displays the error and its causes
§

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> IntoRequest<T> for T

§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<L> LayerExt<L> for L

§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in [Layered].
§

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> PossiblyOption<T> for T

§

fn to_option(self) -> Option<T>

Convert this object into an Option<T>
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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 = !

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

fn try_from(value: U) -> Result<T, !>

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> TryIntoSlug for T
where T: ToString + ?Sized,

§

fn try_into_slug(&self) -> Result<Slug, BadSlug>

Convert self into a Slug, if it has the right syntax
§

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