Default

Trait Default 

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

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

1.28.0 (const: unstable) · Source§

impl Default for &mut str

Source§

impl Default for PathArguments

Source§

impl Default for Item

Source§

impl Default for IntegerRadix

1.0.0 (const: unstable) · Source§

impl Default for AsciiChar

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

Source§

impl Default for Eager

Source§

impl Default for Lazy

Source§

impl Default for InvalidBufferSize

Source§

impl Default for InvalidOutputSize

Source§

impl Default for DefaultHashBuilder

Source§

impl Default for BoundLifetimes

Source§

impl Default for Generics

Source§

impl Default for Array

Source§

impl Default for ArrayOfTables

Source§

impl Default for Document<&'static str>

Source§

impl Default for DocumentMut

Source§

impl Default for InlineTable

Source§

impl Default for RawString

Source§

impl Default for Decor

Source§

impl Default for Table

Source§

impl Default for Span

Source§

impl Default for B0

Source§

impl Default for B1

Source§

impl Default for Z0

Source§

impl Default for Equal

Source§

impl Default for Greater

Source§

impl Default for Less

Source§

impl Default for UTerm

Source§

impl Default for AdhocAttr

Source§

impl Default for TokenAccumulator

Source§

impl Default for Accum

Source§

impl Default for IsUsed

Source§

impl Default for Recognised

Source§

impl Default for ImportedDefinitions

Source§

impl Default for DdOptions

Source§

impl Default for UnprocessedOptions

Source§

impl Default for AngleBrackets

Source§

impl Default for RepeatAnalysisVisitor

Source§

impl Default for ExplicitErrorNamedArgs

Source§

impl Default for ErrorAccumulator

Source§

impl Default for SyntheticMacroModule

Source§

impl Default for SyntheticMacroTemplate

1.0.0 · Source§

impl Default for Error

Source§

impl Default for FormattingOptions

Source§

impl Default for Global

1.17.0 · Source§

impl Default for alloc::boxed::Box<str>

Available on non-no_global_oom_handling only.
1.17.0 · Source§

impl Default for alloc::boxed::Box<CStr>

1.17.0 · Source§

impl Default for alloc::boxed::Box<OsStr>

Source§

impl Default for ByteString

1.10.0 · Source§

impl Default for CString

1.80.0 · Source§

impl Default for Rc<str>

Available on non-no_global_oom_handling only.
1.80.0 · Source§

impl Default for Rc<CStr>

Available on non-no_global_oom_handling only.
1.0.0 (const: unstable) · Source§

impl Default for String

1.80.0 · Source§

impl Default for Arc<str>

Available on non-no_global_oom_handling only.
1.80.0 · Source§

impl Default for Arc<CStr>

Available on non-no_global_oom_handling only.
1.0.0 · Source§

impl Default for SipHasher

1.33.0 · Source§

impl Default for PhantomPinned

1.0.0 (const: unstable) · Source§

impl Default for RangeFull

1.0.0 · Source§

impl Default for AtomicBool

Available on target_has_atomic_load_store=8 only.
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 Duration

1.45.0 · Source§

impl Default for proc_macro::TokenStream

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 Alignment

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

Source§

impl Default for derive_deftly_macros::prelude::TokenStream

TokenStream::default() returns an empty stream, i.e. this is equivalent with TokenStream::new().

Source§

impl Default for Abstract

Source§

impl Default for And

Source§

impl Default for AndAnd

Source§

impl Default for AndEq

Source§

impl Default for As

Source§

impl Default for Async

Source§

impl Default for At

Source§

impl Default for Auto

Source§

impl Default for Await

Source§

impl Default for Become

Source§

impl Default for derive_deftly_macros::prelude::token::Box

Source§

impl Default for Brace

Source§

impl Default for Bracket

Source§

impl Default for Break

Source§

impl Default for Caret

Source§

impl Default for CaretEq

Source§

impl Default for Colon

Source§

impl Default for Comma

Source§

impl Default for Const

Source§

impl Default for Continue

Source§

impl Default for Crate

Source§

impl Default for Default

Source§

impl Default for Do

Source§

impl Default for Dollar

Source§

impl Default for Dot

Source§

impl Default for DotDot

Source§

impl Default for DotDotDot

Source§

impl Default for DotDotEq

Source§

impl Default for Dyn

Source§

impl Default for Else

Source§

impl Default for Enum

Source§

impl Default for Eq

Source§

impl Default for EqEq

Source§

impl Default for Extern

Source§

impl Default for FatArrow

Source§

impl Default for Final

Source§

impl Default for Fn

Source§

impl Default for For

Source§

impl Default for Ge

Source§

impl Default for Group

Source§

impl Default for Gt

Source§

impl Default for If

Source§

impl Default for Impl

Source§

impl Default for In

Source§

impl Default for LArrow

Source§

impl Default for Le

Source§

impl Default for Let

Source§

impl Default for Loop

Source§

impl Default for Lt

Source§

impl Default for Macro

Source§

impl Default for Match

Source§

impl Default for Minus

Source§

impl Default for MinusEq

Source§

impl Default for Mod

Source§

impl Default for Move

Source§

impl Default for Mut

Source§

impl Default for Ne

Source§

impl Default for Not

Source§

impl Default for Or

Source§

impl Default for OrEq

Source§

impl Default for OrOr

Source§

impl Default for Override

Source§

impl Default for Paren

Source§

impl Default for PathSep

Source§

impl Default for Percent

Source§

impl Default for PercentEq

Source§

impl Default for Plus

Source§

impl Default for PlusEq

Source§

impl Default for Pound

Source§

impl Default for Priv

Source§

impl Default for Pub

Source§

impl Default for Question

Source§

impl Default for RArrow

Source§

impl Default for Raw

Source§

impl Default for Ref

Source§

impl Default for Return

Source§

impl Default for SelfType

Source§

impl Default for SelfValue

Source§

impl Default for Semi

Source§

impl Default for Shl

Source§

impl Default for ShlEq

Source§

impl Default for Shr

Source§

impl Default for ShrEq

Source§

impl Default for Slash

Source§

impl Default for SlashEq

Source§

impl Default for Star

Source§

impl Default for StarEq

Source§

impl Default for Static

Source§

impl Default for Struct

Source§

impl Default for Super

Source§

impl Default for Tilde

Source§

impl Default for Trait

Source§

impl Default for Try

Source§

impl Default for Type

Source§

impl Default for Typeof

Source§

impl Default for Underscore

Source§

impl Default for Union

Source§

impl Default for Unsafe

Source§

impl Default for Unsized

Source§

impl Default for Use

Source§

impl Default for Virtual

Source§

impl Default for Where

Source§

impl Default for While

Source§

impl Default for Yield

§

impl Default for Keccak224Core

§

impl Default for Keccak256Core

§

impl Default for Keccak256FullCore

§

impl Default for Keccak384Core

§

impl Default for Keccak512Core

§

impl Default for Sha3_224Core

§

impl Default for Sha3_256Core

§

impl Default for Sha3_384Core

§

impl Default for Sha3_512Core

§

impl Default for Shake128Core

§

impl Default for Shake256Core

Source§

impl<'a> Default for &'a BStr

Source§

impl<'a> Default for &'a Bytes

Source§

impl<'a> Default for &'a ByteStr

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>

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<'c> Default for Definitions<'c>

Source§

impl<'c> Default for DefinitionsContext<'c>

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<BlockSize, Kind> Default for BlockBuffer<BlockSize, Kind>
where BlockSize: ArrayLength<u8> + IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>, <BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero, Kind: BufferKind,

Source§

impl<C> Default for ContextError<C>

1.7.0 · Source§

impl<H> Default for BuildHasherDefault<H>

Source§

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

Source§

impl<I> Default for Partial<I>

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, S> Default for Stateful<I, S>
where I: Default, S: Default,

1.0.0 (const: unstable) · 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,

Source§

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

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

Source§

impl<K, V> Default for alloc::boxed::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, 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.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, S> Default for IndexMap<K, V, S>
where S: Default,

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, A> Default for hashbrown::map::HashMap<K, V, S, A>
where S: Default, A: Default + Allocator,

Source§

impl<M: Default> Default for UsageInfo<M>

Source§

impl<O: Default + SubstParseContext> Default for Template<O>

1.0.0 (const: unstable) · Source§

impl<T> Default for &[T]

Source§

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

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.

Source§

impl<T> Default for CoreWrapper<T>

Source§

impl<T> Default for XofReaderCoreWrapper<T>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> Default for hashbrown::table::IterMut<'_, 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 TokenSlice<'_, T>
where T: Debug + Clone,

1.19.0 (const: unstable) · Source§

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

1.0.0 · Source§

impl<T> Default for alloc::boxed::Box<[T]>

Available on non-no_global_oom_handling only.
Source§

impl<T> Default for alloc::boxed::Box<Slice<T>>

1.0.0 · Source§

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

Available on non-no_global_oom_handling only.
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.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.80.0 · Source§

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

Available on non-no_global_oom_handling only.
1.0.0 · Source§

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

Available on non-no_global_oom_handling only.
1.10.0 · Source§

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

1.80.0 · Source§

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

Available on non-no_global_oom_handling only.
1.0.0 · Source§

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

Available on non-no_global_oom_handling only.
1.10.0 · Source§

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

1.0.0 (const: unstable) · Source§

impl<T> Default for Vec<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 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,

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

Available on non-no_global_oom_handling only.
1.91.0 · Source§

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

Available on non-no_global_oom_handling only.
1.91.0 · Source§

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

Available on non-no_global_oom_handling only.
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>

Available on target_has_atomic_load_store=ptr only.
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,

1.2.0 (const: unstable) · Source§

impl<T> Default for derive_deftly_macros::prelude::iter::Empty<T>

1.20.0 · Source§

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

1.0.0 · Source§

impl<T> Default for BTreeSet<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 PhantomData<T>
where T: ?Sized,

1.0.0 · Source§

impl<T> Default for VecDeque<T>

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,

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, N> Default for GenericArray<T, N>
where T: Default, N: ArrayLength<T>,

Source§

impl<T, OutSize, O> Default for CtVariableCoreWrapper<T, OutSize, O>

Source§

impl<T, P> Default for Punctuated<T, P>

Source§

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

1.0.0 · Source§

impl<T, S> Default for derive_deftly_macros::prelude::HashSet<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> Default for NInt<U>
where U: Default + Unsigned + NonZero,

Source§

impl<U> Default for PInt<U>
where U: Default + Unsigned + NonZero,

Source§

impl<U, B> Default for UInt<U, B>
where U: Default, B: Default,