Enum deltachat::config::Config

source ·
pub enum Config {
Show 90 variants Addr, MailServer, MailUser, MailPw, MailPort, MailSecurity, ImapCertificateChecks, SendServer, SendUser, SendPw, SendPort, SendSecurity, SmtpCertificateChecks, ServerFlags, ProxyEnabled, ProxyUrl, Socks5Enabled, Socks5Host, Socks5Port, Socks5User, Socks5Password, Displayname, Selfstatus, Selfavatar, BccSelf, E2eeEnabled, MdnsEnabled, SentboxWatch, MvboxMove, OnlyFetchMvbox, ShowEmails, MediaQuality, FetchExistingMsgs, FetchedExistingMsgs, KeyGenType, DeleteServerAfter, DeleteDeviceAfter, DeleteToTrash, SaveMimeHeaders, ConfiguredAddr, ConfiguredImapServers, ConfiguredMailServer, ConfiguredMailPort, ConfiguredMailSecurity, ConfiguredMailUser, ConfiguredMailPw, ConfiguredImapCertificateChecks, ConfiguredSmtpServers, ConfiguredSendServer, ConfiguredSendPort, ConfiguredSendSecurity, ConfiguredSendUser, ConfiguredSendPw, ConfiguredSmtpCertificateChecks, ConfiguredServerFlags, ConfiguredInboxFolder, ConfiguredMvboxFolder, ConfiguredSentboxFolder, ConfiguredTrashFolder, ConfiguredTimestamp, ConfiguredProvider, Configured, IsChatmail, FixIsChatmail, IsMuted, SecondaryAddrs, SysVersion, SysMsgsizeMaxRecommended, SysConfigKeys, Bot, SkipStartMessages, NotifyAboutWrongPw, QuotaExceeding, WebrtcInstance, LastHousekeeping, LastCantDecryptOutgoingMsgs, ScanAllFoldersDebounceSecs, DisableIdle, DownloadLimit, SyncMsgs, AuthservIdCandidates, SignUnencrypted, DebugLogging, LastMsgId, GossipPeriod, VerifiedOneOnOneChats, KeyId, SelfReportingId, WebxdcIntegration, WebxdcRealtimeEnabled,
}
Expand description

The available configuration keys.

Variants§

§

Addr

Email address, used in the From: field.

§

MailServer

IMAP server hostname.

§

MailUser

IMAP server username.

§

MailPw

IMAP server password.

§

MailPort

IMAP server port.

§

MailSecurity

IMAP server security (e.g. TLS, STARTTLS).

§

ImapCertificateChecks

How to check TLS certificates.

“IMAP” in the name is for compatibility, this actually applies to both IMAP and SMTP connections.

§

SendServer

SMTP server hostname.

§

SendUser

SMTP server username.

§

SendPw

SMTP server password.

§

SendPort

SMTP server port.

§

SendSecurity

SMTP server security (e.g. TLS, STARTTLS).

§

SmtpCertificateChecks

Deprecated option for backwards compatibilty.

Certificate checks for SMTP are actually controlled by imap_certificate_checks config.

§

ServerFlags

Whether to use OAuth 2.

Historically contained other bitflags, which are now deprecated. Should not be extended in the future, create new config keys instead.

§

ProxyEnabled

True if proxy is enabled.

Can be used to disable proxy without erasing known URLs.

§

ProxyUrl

Proxy URL.

Supported URLs schemes are http:// (HTTP), https:// (HTTPS), socks5:// (SOCKS5) and ss:// (Shadowsocks).

May contain multiple URLs separated by newline, in which case the first one is used.

§

Socks5Enabled

True if SOCKS5 is enabled.

Can be used to disable SOCKS5 without erasing SOCKS5 configuration.

Deprecated in favor of ProxyEnabled.

§

Socks5Host

SOCKS5 proxy server hostname or address.

Deprecated in favor of ProxyUrl.

§

Socks5Port

SOCKS5 proxy server port.

Deprecated in favor of ProxyUrl.

§

Socks5User

SOCKS5 proxy server username.

Deprecated in favor of ProxyUrl.

§

Socks5Password

SOCKS5 proxy server password.

Deprecated in favor of ProxyUrl.

§

Displayname

Own name to use in the From: field when sending messages.

§

Selfstatus

Own status to display, sent in message footer.

§

Selfavatar

Own avatar filename.

§

BccSelf

Send BCC copy to self.

Should be enabled for multidevice setups.

§

E2eeEnabled

True if encryption is preferred according to Autocrypt standard.

§

MdnsEnabled

True if Message Delivery Notifications (read receipts) should be sent and requested.

§

SentboxWatch

True if “Sent” folder should be watched for changes.

§

MvboxMove

True if chat messages should be moved to a separate folder. Auto-sent messages like sync ones are moved there anyway.

§

OnlyFetchMvbox

Watch for new messages in the “Mvbox” (aka DeltaChat folder) only.

This will not entirely disable other folders, e.g. the spam folder will also still be watched for new messages.

§

ShowEmails

Whether to show classic emails or only chat messages.

§

MediaQuality

Quality of the media files to send.

§

FetchExistingMsgs

If set to “1”, on the first time start_io() is called after configuring, the newest existing messages are fetched. Existing recipients are added to the contact database regardless of this setting.

§

FetchedExistingMsgs

If set to “1”, then existing messages are considered to be already fetched. This flag is reset after successful configuration.

§

KeyGenType

Type of the OpenPGP key to generate.

§

DeleteServerAfter

Timer in seconds after which the message is deleted from the server.

0 means messages are never deleted by Delta Chat.

Value 1 is treated as “delete at once”: messages are deleted immediately, without moving to DeltaChat folder.

Default is 1 for chatmail accounts before a backup export, 0 otherwise.

§

DeleteDeviceAfter

Timer in seconds after which the message is deleted from the device.

Equals to 0 by default, which means the message is never deleted.

§

DeleteToTrash

Move messages to the Trash folder instead of marking them “\Deleted”. Overrides ProviderOptions::delete_to_trash.

§

SaveMimeHeaders

Save raw MIME messages with headers in the database if true.

§

ConfiguredAddr

The primary email address. Also see SecondaryAddrs.

§

ConfiguredImapServers

List of configured IMAP servers as a JSON array.

§

ConfiguredMailServer

Configured IMAP server hostname.

This is replaced by configured_imap_servers for new configurations.

§

ConfiguredMailPort

Configured IMAP server port.

This is replaced by configured_imap_servers for new configurations.

§

ConfiguredMailSecurity

Configured IMAP server security (e.g. TLS, STARTTLS).

This is replaced by configured_imap_servers for new configurations.

§

ConfiguredMailUser

Configured IMAP server username.

This is set if user has configured username manually.

§

ConfiguredMailPw

Configured IMAP server password.

§

ConfiguredImapCertificateChecks

Configured TLS certificate checks. This option is saved on successful configuration and should not be modified manually.

This actually applies to both IMAP and SMTP connections, but has “IMAP” in the name for backwards compatibility.

§

ConfiguredSmtpServers

List of configured SMTP servers as a JSON array.

§

ConfiguredSendServer

Configured SMTP server hostname.

This is replaced by configured_smtp_servers for new configurations.

§

ConfiguredSendPort

Configured SMTP server port.

This is replaced by configured_smtp_servers for new configurations.

§

ConfiguredSendSecurity

Configured SMTP server security (e.g. TLS, STARTTLS).

This is replaced by configured_smtp_servers for new configurations.

§

ConfiguredSendUser

Configured SMTP server username.

This is set if user has configured username manually.

§

ConfiguredSendPw

Configured SMTP server password.

§

ConfiguredSmtpCertificateChecks

Deprecated, stored for backwards compatibility.

ConfiguredImapCertificateChecks is actually used.

§

ConfiguredServerFlags

Whether OAuth 2 is used with configured provider.

§

ConfiguredInboxFolder

Configured folder for incoming messages.

§

ConfiguredMvboxFolder

Configured folder for chat messages.

§

ConfiguredSentboxFolder

Configured “Sent” folder.

§

ConfiguredTrashFolder

Configured “Trash” folder.

§

ConfiguredTimestamp

Unix timestamp of the last successful configuration.

§

ConfiguredProvider

ID of the configured provider from the provider database.

§

Configured

True if account is configured.

§

IsChatmail

True if account is a chatmail account.

§

FixIsChatmail

True if IsChatmail mustn’t be autoconfigured. For tests.

§

IsMuted

True if account is muted.

§

SecondaryAddrs

All secondary self addresses separated by spaces (addr1@example.org addr2@example.org addr3@example.org)

§

SysVersion

Read-only core version string.

§

SysMsgsizeMaxRecommended

Maximal recommended attachment size in bytes.

§

SysConfigKeys

Space separated list of all config keys available.

§

Bot

True if it is a bot account.

§

SkipStartMessages

True when to skip initial start messages in groups.

§

NotifyAboutWrongPw

Whether we send a warning if the password is wrong (set to false when we send a warning because we do not want to send a second warning)

§

QuotaExceeding

If a warning about exceeding quota was shown recently, this is the percentage of quota at the time the warning was given. Unset, when quota falls below minimal warning threshold again.

§

WebrtcInstance

address to webrtc instance to use for videochats

§

LastHousekeeping

Timestamp of the last time housekeeping was run

§

LastCantDecryptOutgoingMsgs

Timestamp of the last CantDecryptOutgoingMsgs notification.

§

ScanAllFoldersDebounceSecs

To how many seconds to debounce scan_all_folders. Used mainly in tests, to disable debouncing completely.

§

DisableIdle

Whether to avoid using IMAP IDLE even if the server supports it.

This is a developer option for testing “fake idle”.

§

DownloadLimit

Defines the max. size (in bytes) of messages downloaded automatically. 0 = no limit.

§

SyncMsgs

Enable sending and executing (applying) sync messages. Sending requires BccSelf to be set and Bot unset.

§

AuthservIdCandidates

Space-separated list of all the authserv-ids which we believe may be the one of our email server.

See crate::authres::update_authservid_candidates.

§

SignUnencrypted

Make all outgoing messages with Autocrypt header “multipart/signed”.

§

DebugLogging

Let the core save all events to the database. This value is used internally to remember the MsgId of the logging xdc

§

LastMsgId

Last message processed by the bot.

§

GossipPeriod

How often to gossip Autocrypt keys in chats with multiple recipients, in seconds. 2 days by default.

This is not supposed to be changed by UIs and only used for testing.

§

VerifiedOneOnOneChats

Feature flag for verified 1:1 chats; the UI should set it to 1 if it supports verified 1:1 chats. Regardless of this setting, chat.is_protected() returns true while the key is verified, and when the key changes, an info message is posted into the chat. 0=Nothing else happens when the key changes. 1=After the key changed, can_send() returns false and is_protection_broken() returns true until chat_id.accept() is called.

§

KeyId

Row ID of the key in the keypairs table used for signatures, encryption to self and included in Autocrypt header.

§

SelfReportingId

This key is sent to the self_reporting bot so that the bot can recognize the user without storing the email address

§

WebxdcIntegration

MsgId of webxdc map integration.

§

WebxdcRealtimeEnabled

Enable webxdc realtime features.

Implementations§

source§

impl Config

source

pub(crate) fn is_synced(&self) -> bool

Whether the config option is synced across devices.

This must be checked on both sides so that if there are different client versions, the synchronisation of a particular option is either done or not done in both directions. Moreover, receivers of a config value need to check if a key can be synced because if it is a file path, it could otherwise lead to exfiltration of files from a receiver’s device if we assume an attacker to have control of a device in a multi-device setting or if multiple users are sharing an account. Another example is Self::SyncMsgs itself which mustn’t be controlled by other devices.

source

pub(crate) fn needs_io_restart(&self) -> bool

Whether the config option needs an IO scheduler restart to take effect.

Trait Implementations§

source§

impl AsRef<str> for Config

source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clone for Config

source§

fn clone(&self) -> Config

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for Config

source§

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

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

impl<'de> Deserialize<'de> for Config

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 Display for Config

source§

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

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

impl EnumProperty for Config

source§

fn get_str(&self, prop: &str) -> Option<&'static str>

§

fn get_int(&self, _prop: &str) -> Option<usize>

§

fn get_bool(&self, _prop: &str) -> Option<bool>

source§

impl FromStr for Config

§

type Err = ParseError

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Config, <Self as FromStr>::Err>

Parses a string s to return a value of this type. Read more
source§

impl IntoEnumIterator for Config

source§

impl Ord for Config

source§

fn cmp(&self, other: &Config) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Config

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Config

source§

fn partial_cmp(&self, other: &Config) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

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

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for Config

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 TryFrom<&str> for Config

§

type Error = ParseError

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

fn try_from(s: &str) -> Result<Config, <Self as TryFrom<&str>>::Error>

Performs the conversion.
source§

impl Copy for Config

source§

impl Eq for Config

source§

impl StructuralPartialEq for Config

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

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
source§

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

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

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

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

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

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

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<T> Conv for T

§

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

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

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

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.

§

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.
source§

impl<T> Same for T

§

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,

§

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
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default 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>,

§

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.
source§

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

§

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<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
source§

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