Default

Trait Default 

1.55.0 (const: unstable) · Source
pub trait Default: Sized {
    // Required method
    fn default() -> Self;
}
Expand description

A trait for giving a type a useful default value.

Sometimes, you want to fall back to some kind of default value, and don’t particularly care what it is. This comes up often with structs that define a set of options:

struct SomeOptions {
    foo: i32,
    bar: f32,
}

How can we define some default values? You can use Default:

#[derive(Default)]
struct SomeOptions {
    foo: i32,
    bar: f32,
}

fn main() {
    let options: SomeOptions = Default::default();
}

Now, you get all of the default values. Rust implements Default for various primitive types.

If you want to override a particular option, but still retain the other defaults:

fn main() {
    let options = SomeOptions { foo: 42, ..Default::default() };
}

§Derivable

This trait can be used with #[derive] if all of the type’s fields implement Default. When derived, it will use the default value for each field’s type.

§enums

When using #[derive(Default)] on an enum, you need to choose which unit variant will be default. You do this by placing the #[default] attribute on the variant.

#[derive(Default)]
enum Kind {
    #[default]
    A,
    B,
    C,
}

You cannot use the #[default] attribute on non-unit or non-exhaustive variants.

The #[default] attribute was stabilized in Rust 1.62.0.

§How can I implement Default?

Provide an implementation for the default() method that returns the value of your type that should be the default:

enum Kind {
    A,
    B,
    C,
}

impl Default for Kind {
    fn default() -> Self { Kind::A }
}

§Examples

#[derive(Default)]
struct SomeOptions {
    foo: i32,
    bar: f32,
}

Required Methods§

1.0.0 · Source

fn default() -> Self

Returns the “default value” for a type.

Default values are often some kind of initial value, identity value, or anything else that may make sense as a default.

§Examples

Using built-in default values:

let i: i8 = Default::default();
let (x, y): (Option<String>, f64) = Default::default();
let (a, b, (c, d)): (i32, u32, (bool, bool)) = Default::default();

Making your own:

enum Kind {
    A,
    B,
    C,
}

impl Default for Kind {
    fn default() -> Self { Kind::A }
}

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Default for &serde_json::value::Value

1.0.0 (const: unstable) · Source§

impl Default for &str

1.10.0 · Source§

impl Default for &CStr

1.9.0 · Source§

impl Default for &OsStr

Source§

impl Default for &DataLocale

Source§

impl Default for &DataMarkerAttributes

1.28.0 (const: unstable) · Source§

impl Default for &mut str

Source§

impl Default for BuildPattern

Source§

impl Default for DateTime

1.0.0 (const: unstable) · Source§

impl Default for AsciiChar

Source§

impl Default for DependencyKind

Source§

impl Default for Edition

Source§

impl Default for ArtifactDebuginfo

Source§

impl Default for RemoteRedirect

Source§

impl Default for BidiPairedBracketType

Source§

impl Default for PrefilterConfig

Source§

impl Default for serde_json::value::Value

The default value is Value::Null.

This is useful for handling omitted Value fields when deserializing.

§Examples

use serde_json::Value;

#[derive(Deserialize)]
struct Settings {
    level: i32,
    #[serde(default)]
    extras: Value,
}

let data = r#" { "level": 42 } "#;
let s: Settings = serde_json::from_str(data)?;

assert_eq!(s.level, 42);
assert_eq!(s.extras, Value::Null);
Source§

impl Default for MonthRepr

Creates a modifier that indicates the value uses the Numerical representation.

Source§

impl Default for Padding

Creates a modifier that indicates the value is padded with zeroes.

Source§

impl Default for SubsecondDigits

Creates a modifier that indicates the stringified value contains one or more digits.

Source§

impl Default for UnixTimestampPrecision

Creates a modifier that indicates the value represents the number of seconds since the Unix epoch.

Source§

impl Default for WeekNumberRepr

Creates a modifier that indicates that the value uses the Iso representation.

Source§

impl Default for WeekdayRepr

Creates a modifier that indicates the value uses the Long representation.

Source§

impl Default for YearRange

Creates a modifier that indicates the value uses the Extended range.

Source§

impl Default for YearRepr

Creates a modifier that indicates the value uses the Full representation.

Source§

impl Default for Item

1.0.0 (const: unstable) · Source§

impl Default for bool

1.0.0 (const: unstable) · Source§

impl Default for char

1.0.0 (const: unstable) · Source§

impl Default for f16

1.0.0 (const: unstable) · Source§

impl Default for f32

1.0.0 (const: unstable) · Source§

impl Default for f64

1.0.0 (const: unstable) · Source§

impl Default for f128

1.0.0 (const: unstable) · Source§

impl Default for i8

1.0.0 (const: unstable) · Source§

impl Default for i16

1.0.0 (const: unstable) · Source§

impl Default for i32

1.0.0 (const: unstable) · Source§

impl Default for i64

1.0.0 (const: unstable) · Source§

impl Default for i128

1.0.0 (const: unstable) · Source§

impl Default for isize

1.0.0 (const: unstable) · Source§

impl Default for u8

1.0.0 (const: unstable) · Source§

impl Default for u16

1.0.0 (const: unstable) · Source§

impl Default for u32

1.0.0 (const: unstable) · Source§

impl Default for u64

1.0.0 (const: unstable) · Source§

impl Default for u128

1.0.0 (const: unstable) · Source§

impl Default for ()

1.0.0 (const: unstable) · Source§

impl Default for usize

1.0.0 · Source§

impl Default for Error

Source§

impl Default for FormattingOptions

Source§

impl Default for Git

Source§

impl Default for Project

Source§

impl Default for SystemEnv

1.17.0 · Source§

impl Default for Box<str>

1.17.0 · Source§

impl Default for Box<CStr>

1.17.0 · Source§

impl Default for Box<OsStr>

1.0.0 (const: unstable) · Source§

impl Default for String

Source§

impl Default for Global

Source§

impl Default for ByteString

1.10.0 · Source§

impl Default for CString

1.80.0 · Source§

impl Default for Rc<str>

1.80.0 · Source§

impl Default for Rc<CStr>

1.80.0 · Source§

impl Default for Arc<str>

1.80.0 · Source§

impl Default for Arc<CStr>

1.0.0 · Source§

impl Default for SipHasher

1.33.0 · Source§

impl Default for PhantomPinned

1.0.0 · Source§

impl Default for RangeFull

Source§

impl Default for Alignment

Returns Alignment::MIN, which is valid for any type.

1.0.0 · Source§

impl Default for AtomicBool

1.34.0 · Source§

impl Default for AtomicI8

1.34.0 · Source§

impl Default for AtomicI16

1.34.0 · Source§

impl Default for AtomicI32

1.34.0 · Source§

impl Default for AtomicI64

1.0.0 · Source§

impl Default for AtomicIsize

1.34.0 · Source§

impl Default for AtomicU8

1.34.0 · Source§

impl Default for AtomicU16

1.34.0 · Source§

impl Default for AtomicU32

1.34.0 · Source§

impl Default for AtomicU64

1.0.0 · Source§

impl Default for AtomicUsize

1.3.0 · Source§

impl Default for core::time::Duration

1.28.0 · Source§

impl Default for System

1.9.0 · Source§

impl Default for OsString

1.75.0 · Source§

impl Default for FileTimes

1.13.0 · Source§

impl Default for DefaultHasher

1.7.0 · Source§

impl Default for RandomState

1.0.0 · Source§

impl Default for std::io::util::Empty

1.0.0 · Source§

impl Default for Sink

1.17.0 · Source§

impl Default for PathBuf

1.75.0 · Source§

impl Default for ExitCode

The default value is ExitCode::SUCCESS

1.73.0 · Source§

impl Default for ExitStatus

The default value is one which indicates successful completion.

Source§

impl Default for DefaultRandomSource

Source§

impl Default for std::sync::nonpoison::condvar::Condvar

1.10.0 · Source§

impl Default for std::sync::poison::condvar::Condvar

Source§

impl Default for Utf8PathBuf

Source§

impl Default for InheritablePackage

Source§

impl Default for TomlInheritedField

Source§

impl Default for TomlManifest

Source§

impl Default for TomlPackage

Source§

impl Default for TomlProfile

Source§

impl Default for TomlProfiles

Source§

impl Default for TomlTarget

Source§

impl Default for TomlWorkspace

Source§

impl Default for MetadataCommand

Source§

impl Default for WorkspaceDefaultMembers

Source§

impl Default for BlameOptions

Source§

impl Default for Buf

Source§

impl Default for TreeUpdateBuilder

Source§

impl Default for DescribeFormatOptions

Source§

impl Default for DescribeOptions

Source§

impl Default for DiffFindOptions

Source§

impl Default for DiffOptions

Source§

impl Default for EmailCreateOptions

Source§

impl Default for MergeFileOptions

Source§

impl Default for MergeOptions

Source§

impl Default for StatusOptions

Source§

impl Default for AttrCheckFlags

Source§

impl Default for CredentialType

Source§

impl Default for IndexAddOption

Source§

impl Default for PathspecFlags

Source§

impl Default for ReferenceFormat

Source§

impl Default for StashApplyFlags

Source§

impl Default for StashFlags

Source§

impl Default for DefaultHashBuilder

Source§

impl Default for DataLocale

Source§

impl Default for Other

Source§

impl Default for Private

Source§

impl Default for Extensions

Source§

impl Default for Fields

Source§

impl Default for Transform

Source§

impl Default for icu_locale_core::extensions::transform::value::Value

Source§

impl Default for Attributes

Source§

impl Default for Keywords

Source§

impl Default for Unicode

Source§

impl Default for icu_locale_core::extensions::unicode::value::Value

Source§

impl Default for LocalePreferences

Source§

impl Default for Variants

Source§

impl Default for CanonicalCombiningClassMap

Source§

impl Default for CanonicalCombiningClassMapBorrowed<'static>

Source§

impl Default for CanonicalComposition

Source§

impl Default for CanonicalCompositionBorrowed<'static>

Source§

impl Default for CanonicalDecomposition

Source§

impl Default for CanonicalDecompositionBorrowed<'static>

Source§

impl Default for Uts46Mapper

Source§

impl Default for Uts46MapperBorrowed<'static>

Source§

impl Default for BidiMirroringGlyph

Source§

impl Default for GeneralCategoryOutOfBoundsError

Source§

impl Default for ScriptWithExtensionsBorrowed<'static>

Source§

impl Default for DataRequestMetadata

Source§

impl Default for DataResponseMetadata

Source§

impl Default for Config

The defaults are that of beStrict=false in the WHATWG URL Standard

Source§

impl Default for Idna

Source§

impl Default for Errors

Source§

impl Default for Uts46

Source§

impl Default for Adapter

Source§

impl Default for itoa::Buffer

Source§

impl Default for git_indexer_progress

Source§

impl Default for MetadataBuilder<'_>

Source§

impl Default for RecordBuilder<'_>

Source§

impl Default for FinderBuilder

Source§

impl Default for FormatterOptions

Source§

impl Default for ryu::buffer::Buffer

Source§

impl Default for BuildMetadata

Source§

impl Default for Prerelease

Source§

impl Default for VersionReq

The default VersionReq is the same as VersionReq::STAR.

Source§

impl Default for IgnoredAny

Source§

impl Default for serde_json::map::Map<String, Value>

Source§

impl Default for CompactFormatter

Source§

impl Default for time::duration::Duration

Source§

impl Default for Day

Creates a modifier that indicates the value is padded with zeroes.

Source§

impl Default for End

Creates a modifier used to represent the end of input.

Source§

impl Default for Hour

Creates a modifier that indicates the value is padded with zeroes and has the 24-hour representation.

Source§

impl Default for Minute

Creates a modifier that indicates the value is padded with zeroes.

Source§

impl Default for Month

Creates an instance of this type that indicates the value uses the Numerical representation, is padded with zeroes, and is case-sensitive when parsing.

Source§

impl Default for OffsetHour

Creates a modifier that indicates the value only uses a sign for negative values and is padded with zeroes.

Source§

impl Default for OffsetMinute

Creates a modifier that indicates the value is padded with zeroes.

Source§

impl Default for OffsetSecond

Creates a modifier that indicates the value is padded with zeroes.

Source§

impl Default for Ordinal

Creates a modifier that indicates the value is padded with zeroes.

Source§

impl Default for Period

Creates a modifier that indicates the value uses the upper-case representation and is case-sensitive when parsing.

Source§

impl Default for Second

Creates a modifier that indicates the value is padded with zeroes.

Source§

impl Default for Subsecond

Creates a modifier that indicates the stringified value contains one or more digits.

Source§

impl Default for UnixTimestamp

Creates a modifier that indicates the value represents the number of seconds since the Unix epoch. The sign is not mandatory.

Source§

impl Default for WeekNumber

Creates a modifier that indicates that the value is padded with zeroes and uses the Iso representation.

Source§

impl Default for Weekday

Creates a modifier that indicates the value uses the Long representation and is case-sensitive when parsing. If the representation is changed to a numerical one, the instance defaults to one-based indexing.

Source§

impl Default for Year

Creates a modifier that indicates the value uses the Full representation, is padded with zeroes, uses the Gregorian calendar as its base, and only includes the year’s sign if necessary.

Source§

impl Default for Parsed

Source§

impl Default for toml::map::Map<String, Value>

Source§

impl Default for Array

Source§

impl Default for ArrayOfTables

Source§

impl Default for DocumentMut

Source§

impl Default for ImDocument<&'static str>

Source§

impl Default for InlineTable

Source§

impl Default for InternalString

Source§

impl Default for RawString

Source§

impl Default for Decor

Source§

impl Default for ValueSerializer

Source§

impl Default for Table

Source§

impl Default for FoundDateTimeList

Source§

impl<'a> Default for &'a ByteStr

Source§

impl<'a> Default for &'a BStr

Source§

impl<'a> Default for &'a Bytes

Source§

impl<'a> Default for &'a mut ByteStr

Source§

impl<'a> Default for PhantomContravariantLifetime<'a>

Source§

impl<'a> Default for PhantomCovariantLifetime<'a>

Source§

impl<'a> Default for PhantomInvariantLifetime<'a>

Source§

impl<'a> Default for ProxyOptions<'a>

Source§

impl<'a> Default for RemoteCallbacks<'a>

Source§

impl<'a> Default for DataIdentifierBorrowed<'a>

Source§

impl<'a> Default for DataRequest<'a>

Source§

impl<'a> Default for PrettyFormatter<'a>

Source§

impl<'a, K0, K1, V> Default for ZeroMap2dBorrowed<'a, K0, K1, V>
where K0: ZeroMapKV<'a> + ?Sized, K1: ZeroMapKV<'a> + ?Sized, V: ZeroMapKV<'a> + ?Sized, <K0 as ZeroMapKV<'a>>::Slice: 'static, <K1 as ZeroMapKV<'a>>::Slice: 'static, <V as ZeroMapKV<'a>>::Slice: 'static,

Source§

impl<'a, K0, K1, V> Default for ZeroMap2d<'a, K0, K1, V>
where K0: ZeroMapKV<'a> + ?Sized, K1: ZeroMapKV<'a> + ?Sized, V: ZeroMapKV<'a> + ?Sized,

1.70.0 · Source§

impl<'a, K, V> Default for alloc::collections::btree::map::Iter<'a, K, V>
where K: 'a, V: 'a,

1.70.0 · Source§

impl<'a, K, V> Default for alloc::collections::btree::map::IterMut<'a, K, V>
where K: 'a, V: 'a,

Source§

impl<'a, K, V> Default for ZeroMapBorrowed<'a, K, V>
where K: ZeroMapKV<'a> + ?Sized, V: ZeroMapKV<'a> + ?Sized, <K as ZeroMapKV<'a>>::Slice: 'static, <V as ZeroMapKV<'a>>::Slice: 'static,

Source§

impl<'a, K, V> Default for ZeroMap<'a, K, V>
where K: ZeroMapKV<'a> + ?Sized, V: ZeroMapKV<'a> + ?Sized,

Source§

impl<'a, T> Default for ZeroVec<'a, T>
where T: AsULE,

Source§

impl<'cb> Default for CheckoutBuilder<'cb>

Source§

impl<'cb> Default for RepoBuilder<'cb>

Source§

impl<'cb> Default for RebaseOptions<'cb>

Source§

impl<'cb> Default for FetchOptions<'cb>

Source§

impl<'cb> Default for PushOptions<'cb>

Source§

impl<'cb> Default for StashApplyOptions<'cb>

Source§

impl<'cb> Default for SubmoduleUpdateOptions<'cb>

Source§

impl<A> Default for SmallVec<A>
where A: Array,

1.70.0 · Source§

impl<A, B> Default for Chain<A, B>
where A: Default, B: Default,

1.11.0 · Source§

impl<B> Default for Cow<'_, B>
where B: ToOwned + ?Sized, <B as ToOwned>::Owned: Default,

Source§

impl<C> Default for ContextError<C>

1.7.0 · Source§

impl<H> Default for BuildHasherDefault<H>

1.70.0 · Source§

impl<I> Default for Cloned<I>
where I: Default,

1.70.0 · Source§

impl<I> Default for Copied<I>
where I: Default,

1.70.0 · Source§

impl<I> Default for Enumerate<I>
where I: Default,

1.70.0 · Source§

impl<I> Default for Flatten<I>
where I: Default + Iterator, <I as Iterator>::Item: IntoIterator,

1.70.0 · Source§

impl<I> Default for Fuse<I>
where I: Default,

1.70.0 · Source§

impl<I> Default for Rev<I>
where I: Default,

Source§

impl<I> Default for LocatingSlice<I>
where I: Default,

Source§

impl<I> Default for Partial<I>

Source§

impl<I, S> Default for Stateful<I, S>
where I: Default, S: Default,

1.0.0 · Source§

impl<Idx> Default for core::ops::range::Range<Idx>
where Idx: Default,

Source§

impl<Idx> Default for core::range::Range<Idx>
where Idx: Default,

1.83.0 · Source§

impl<K> Default for std::collections::hash::set::IntoIter<K>

1.83.0 · Source§

impl<K> Default for std::collections::hash::set::Iter<'_, K>

Source§

impl<K> Default for hashbrown::set::Iter<'_, K>

Source§

impl<K, A> Default for hashbrown::set::IntoIter<K, A>
where A: Allocator,

Source§

impl<K, V> Default for &indexmap::map::slice::Slice<K, V>

Source§

impl<K, V> Default for &mut indexmap::map::slice::Slice<K, V>

Source§

impl<K, V> Default for Box<Slice<K, V>>

1.0.0 · Source§

impl<K, V> Default for BTreeMap<K, V>

1.70.0 · Source§

impl<K, V> Default for alloc::collections::btree::map::Keys<'_, K, V>

1.70.0 · Source§

impl<K, V> Default for alloc::collections::btree::map::Range<'_, K, V>

1.82.0 · Source§

impl<K, V> Default for RangeMut<'_, K, V>

1.70.0 · Source§

impl<K, V> Default for alloc::collections::btree::map::Values<'_, K, V>

1.82.0 · Source§

impl<K, V> Default for alloc::collections::btree::map::ValuesMut<'_, K, V>

1.83.0 · Source§

impl<K, V> Default for std::collections::hash::map::IntoIter<K, V>

1.83.0 · Source§

impl<K, V> Default for std::collections::hash::map::IntoKeys<K, V>

1.83.0 · Source§

impl<K, V> Default for std::collections::hash::map::IntoValues<K, V>

1.83.0 · Source§

impl<K, V> Default for std::collections::hash::map::Iter<'_, K, V>

1.83.0 · Source§

impl<K, V> Default for std::collections::hash::map::IterMut<'_, K, V>

1.83.0 · Source§

impl<K, V> Default for std::collections::hash::map::Keys<'_, K, V>

1.83.0 · Source§

impl<K, V> Default for std::collections::hash::map::Values<'_, K, V>

1.83.0 · Source§

impl<K, V> Default for std::collections::hash::map::ValuesMut<'_, K, V>

Source§

impl<K, V> Default for hashbrown::map::Iter<'_, K, V>

Source§

impl<K, V> Default for hashbrown::map::IterMut<'_, K, V>

Source§

impl<K, V> Default for hashbrown::map::Keys<'_, K, V>

Source§

impl<K, V> Default for hashbrown::map::Values<'_, K, V>

Source§

impl<K, V> Default for hashbrown::map::ValuesMut<'_, K, V>

Source§

impl<K, V> Default for indexmap::map::iter::IntoIter<K, V>

Source§

impl<K, V> Default for indexmap::map::iter::IntoKeys<K, V>

Source§

impl<K, V> Default for indexmap::map::iter::IntoValues<K, V>

Source§

impl<K, V> Default for indexmap::map::iter::Iter<'_, K, V>

Source§

impl<K, V> Default for IterMut2<'_, K, V>

Source§

impl<K, V> Default for indexmap::map::iter::IterMut<'_, K, V>

Source§

impl<K, V> Default for indexmap::map::iter::Keys<'_, K, V>

Source§

impl<K, V> Default for indexmap::map::iter::Values<'_, K, V>

Source§

impl<K, V> Default for indexmap::map::iter::ValuesMut<'_, K, V>

1.70.0 · Source§

impl<K, V, A> Default for alloc::collections::btree::map::IntoIter<K, V, A>
where A: Allocator + Default + Clone,

1.70.0 · Source§

impl<K, V, A> Default for alloc::collections::btree::map::IntoKeys<K, V, A>
where A: Allocator + Default + Clone,

1.70.0 · Source§

impl<K, V, A> Default for alloc::collections::btree::map::IntoValues<K, V, A>
where A: Allocator + Default + Clone,

Source§

impl<K, V, A> Default for hashbrown::map::IntoIter<K, V, A>
where A: Allocator,

Source§

impl<K, V, A> Default for hashbrown::map::IntoKeys<K, V, A>
where A: Allocator,

Source§

impl<K, V, A> Default for hashbrown::map::IntoValues<K, V, A>
where A: Allocator,

1.0.0 · Source§

impl<K, V, S> Default for std::collections::hash::map::HashMap<K, V, S>
where S: Default,

Source§

impl<K, V, S> Default for IndexMap<K, V, S>
where S: Default,

Source§

impl<K, V, S> Default for LiteMap<K, V, S>
where S: Store<K, V> + Default,

Source§

impl<K, V, S, A> Default for hashbrown::map::HashMap<K, V, S, A>
where S: Default, A: Default + Allocator,

Source§

impl<M> Default for DataPayload<M>

Source§

impl<P> Default for TomlDetailedDependency<P>
where P: Clone,

Source§

impl<Store> Default for ZeroAsciiIgnoreCaseTrie<Store>
where Store: Default + ?Sized,

Source§

impl<Store> Default for ZeroTrieExtendedCapacity<Store>
where Store: Default + ?Sized,

Source§

impl<Store> Default for ZeroTriePerfectHash<Store>
where Store: Default + ?Sized,

Source§

impl<Store> Default for ZeroTrieSimpleAscii<Store>
where Store: Default + ?Sized,

1.0.0 (const: unstable) · Source§

impl<T> Default for &[T]

Source§

impl<T> Default for &indexmap::set::slice::Slice<T>

Source§

impl<T> Default for &ZeroSlice<T>
where T: AsULE,

1.5.0 (const: unstable) · Source§

impl<T> Default for &mut [T]

1.0.0 (const: unstable) · Source§

impl<T> Default for Option<T>

1.4.0 · Source§

impl<T> Default for [T; 0]

1.4.0 · Source§

impl<T> Default for [T; 1]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 2]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 3]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 4]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 5]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 6]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 7]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 8]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 9]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 10]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 11]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 12]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 13]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 14]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 15]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 16]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 17]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 18]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 19]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 20]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 21]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 22]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 23]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 24]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 25]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 26]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 27]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 28]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 29]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 30]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 31]
where T: Default,

1.4.0 · Source§

impl<T> Default for [T; 32]
where T: Default,

1.88.0 · Source§

impl<T> Default for *const T
where T: Thin + ?Sized,

1.88.0 · Source§

impl<T> Default for *mut T
where T: Thin + ?Sized,

1.0.0 · Source§

impl<T> Default for (T₁, T₂, …, Tₙ)
where T: Default,

This trait is implemented for tuples up to twelve items long.

1.0.0 · Source§

impl<T> Default for Box<[T]>

Source§

impl<T> Default for Box<Slice<T>>

1.0.0 · Source§

impl<T> Default for Box<T>
where T: Default,

1.0.0 (const: unstable) · Source§

impl<T> Default for Vec<T>

1.0.0 · Source§

impl<T> Default for BinaryHeap<T>
where T: Ord,

1.70.0 · Source§

impl<T> Default for alloc::collections::binary_heap::IntoIter<T>

1.82.0 · Source§

impl<T> Default for alloc::collections::binary_heap::Iter<'_, T>

1.0.0 · Source§

impl<T> Default for BTreeSet<T>

1.70.0 · Source§

impl<T> Default for alloc::collections::btree::set::Iter<'_, T>

1.70.0 · Source§

impl<T> Default for alloc::collections::btree::set::Range<'_, T>

1.70.0 · Source§

impl<T> Default for alloc::collections::linked_list::IntoIter<T>

1.70.0 · Source§

impl<T> Default for alloc::collections::linked_list::Iter<'_, T>

1.70.0 · Source§

impl<T> Default for alloc::collections::linked_list::IterMut<'_, T>

1.0.0 · Source§

impl<T> Default for LinkedList<T>

1.82.0 · Source§

impl<T> Default for alloc::collections::vec_deque::iter::Iter<'_, T>

1.82.0 · Source§

impl<T> Default for alloc::collections::vec_deque::iter_mut::IterMut<'_, T>

1.0.0 · Source§

impl<T> Default for VecDeque<T>

1.80.0 · Source§

impl<T> Default for Rc<[T]>

1.0.0 · Source§

impl<T> Default for Rc<T>
where T: Default,

1.10.0 · Source§

impl<T> Default for alloc::rc::Weak<T>

1.80.0 · Source§

impl<T> Default for Arc<[T]>

1.0.0 · Source§

impl<T> Default for Arc<T>
where T: Default,

1.10.0 · Source§

impl<T> Default for alloc::sync::Weak<T>

1.80.0 · Source§

impl<T> Default for LazyCell<T>
where T: Default,

1.70.0 · Source§

impl<T> Default for OnceCell<T>

1.0.0 (const: unstable) · Source§

impl<T> Default for Cell<T>
where T: Default,

1.0.0 (const: unstable) · Source§

impl<T> Default for RefCell<T>
where T: Default,

Source§

impl<T> Default for SyncUnsafeCell<T>
where T: Default,

1.10.0 (const: unstable) · Source§

impl<T> Default for UnsafeCell<T>
where T: Default,

1.19.0 (const: unstable) · Source§

impl<T> Default for Reverse<T>
where T: Default,

1.2.0 (const: unstable) · Source§

impl<T> Default for core::iter::sources::empty::Empty<T>

1.0.0 (const: unstable) · Source§

impl<T> Default for PhantomData<T>
where T: ?Sized,

Source§

impl<T> Default for PhantomContravariant<T>
where T: ?Sized,

Source§

impl<T> Default for PhantomCovariant<T>
where T: ?Sized,

Source§

impl<T> Default for PhantomInvariant<T>
where T: ?Sized,

1.20.0 · Source§

impl<T> Default for ManuallyDrop<T>
where T: Default + ?Sized,

1.74.0 · Source§

impl<T> Default for Saturating<T>
where T: Default,

1.0.0 · Source§

impl<T> Default for Wrapping<T>
where T: Default,

1.62.0 · Source§

impl<T> Default for AssertUnwindSafe<T>
where T: Default,

1.91.0 · Source§

impl<T> Default for Pin<Box<T>>
where Box<T>: Default, T: ?Sized,

1.91.0 · Source§

impl<T> Default for Pin<Rc<T>>
where Rc<T>: Default, T: ?Sized,

1.91.0 · Source§

impl<T> Default for Pin<Arc<T>>
where Arc<T>: Default, T: ?Sized,

Source§

impl<T> Default for UnsafePinned<T>
where T: Default,

1.70.0 · Source§

impl<T> Default for core::slice::iter::Iter<'_, T>

1.70.0 · Source§

impl<T> Default for core::slice::iter::IterMut<'_, T>

1.0.0 · Source§

impl<T> Default for AtomicPtr<T>

Source§

impl<T> Default for Exclusive<T>
where T: Default + ?Sized,

1.0.0 · Source§

impl<T> Default for Cursor<T>
where T: Default,

1.80.0 · Source§

impl<T> Default for LazyLock<T>
where T: Default,

Source§

impl<T> Default for std::sync::nonpoison::mutex::Mutex<T>
where T: Default + ?Sized,

Source§

impl<T> Default for std::sync::nonpoison::rwlock::RwLock<T>
where T: Default,

1.70.0 · Source§

impl<T> Default for OnceLock<T>

1.10.0 · Source§

impl<T> Default for std::sync::poison::mutex::Mutex<T>
where T: Default + ?Sized,

1.10.0 · Source§

impl<T> Default for std::sync::poison::rwlock::RwLock<T>
where T: Default,

Source§

impl<T> Default for ReentrantLock<T>
where T: Default,

Source§

impl<T> Default for hashbrown::table::Iter<'_, T>

Source§

impl<T> Default for IterHash<'_, T>

Source§

impl<T> Default for IterHashMut<'_, T>

Source§

impl<T> Default for hashbrown::table::IterMut<'_, T>

Source§

impl<T> Default for CodePointMapDataBorrowed<'static, T>

Source§

impl<T> Default for PropertyNamesLongBorrowed<'static, T>

Source§

impl<T> Default for PropertyNamesShortBorrowed<'static, T>

Source§

impl<T> Default for PropertyParserBorrowed<'static, T>

Source§

impl<T> Default for indexmap::set::iter::IntoIter<T>

Source§

impl<T> Default for indexmap::set::iter::Iter<'_, T>

Source§

impl<T> Default for NotNan<T>
where T: Default,

Source§

impl<T> Default for OrderedFloat<T>
where T: Default,

Source§

impl<T> Default for TokenSlice<'_, T>
where T: Debug + Clone,

1.70.0 · Source§

impl<T, A> Default for alloc::collections::btree::set::IntoIter<T, A>
where A: Allocator + Default + Clone,

1.70.0 · Source§

impl<T, A> Default for alloc::vec::into_iter::IntoIter<T, A>
where A: Allocator + Default,

Source§

impl<T, A> Default for HashTable<T, A>
where A: Allocator + Default,

Source§

impl<T, A> Default for hashbrown::table::IntoIter<T, A>
where A: Allocator,

Source§

impl<T, F> Default for VarZeroVecOwned<T, F>
where T: VarULE + ?Sized,

Source§

impl<T, F> Default for VarZeroVec<'_, T, F>
where T: VarULE + ?Sized, F: VarZeroVecFormat,

1.0.0 · Source§

impl<T, S> Default for std::collections::hash::set::HashSet<T, S>
where S: Default,

Source§

impl<T, S> Default for IndexSet<T, S>
where S: Default,

Source§

impl<T, S, A> Default for hashbrown::set::HashSet<T, S, A>
where S: Default, A: Default + Allocator,

1.89.0 · Source§

impl<T, const N: usize> Default for core::array::iter::IntoIter<T, N>

Source§

impl<T, const N: usize> Default for Mask<T, N>

Source§

impl<T, const N: usize> Default for Simd<T, N>

Source§

impl<U, const N: usize> Default for NichedOption<U, N>

Source§

impl<const MIN: i8, const MAX: i8> Default for OptionRangedI8<MIN, MAX>

Source§

impl<const MIN: i16, const MAX: i16> Default for OptionRangedI16<MIN, MAX>

Source§

impl<const MIN: i32, const MAX: i32> Default for OptionRangedI32<MIN, MAX>

Source§

impl<const MIN: i64, const MAX: i64> Default for OptionRangedI64<MIN, MAX>

Source§

impl<const MIN: i128, const MAX: i128> Default for OptionRangedI128<MIN, MAX>

Source§

impl<const MIN: isize, const MAX: isize> Default for OptionRangedIsize<MIN, MAX>

Source§

impl<const MIN: u8, const MAX: u8> Default for OptionRangedU8<MIN, MAX>

Source§

impl<const MIN: u16, const MAX: u16> Default for OptionRangedU16<MIN, MAX>

Source§

impl<const MIN: u32, const MAX: u32> Default for OptionRangedU32<MIN, MAX>

Source§

impl<const MIN: u64, const MAX: u64> Default for OptionRangedU64<MIN, MAX>

Source§

impl<const MIN: u128, const MAX: u128> Default for OptionRangedU128<MIN, MAX>

Source§

impl<const MIN: usize, const MAX: usize> Default for OptionRangedUsize<MIN, MAX>

Source§

impl<const SIZE: usize> Default for WriteBuffer<SIZE>