ConstDefault

Trait ConstDefault 

Source
pub trait ConstDefault: Sized {
    const DEFAULT: Self;
}
Expand description

Implements a compilation time default value for the implemented type.

§Note

Unlike the Default trait implementation the DEFAULT of implementations of this trait can be used in constant evaluation contexts.

§Example

const VEC: Vec<u8> = <Vec<u8> as ConstDefault>::DEFAULT;

The above code works while the below code does not:

const VEC: Vec<u8> = <Vec<u8> as Default>::default();

Required Associated Constants§

Source

const DEFAULT: Self

The constant default value.

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.

Implementations on Foreign Types§

Source§

impl ConstDefault for &&str

Source§

impl ConstDefault for &bool

Source§

impl ConstDefault for &char

Source§

impl ConstDefault for &f32

Source§

impl ConstDefault for &f64

Source§

impl ConstDefault for &i8

Source§

impl ConstDefault for &i16

Source§

impl ConstDefault for &i32

Source§

impl ConstDefault for &i64

Source§

impl ConstDefault for &i128

Source§

impl ConstDefault for &isize

Source§

impl ConstDefault for &str

Source§

const DEFAULT: &str = ""

Source§

impl ConstDefault for &u8

Source§

impl ConstDefault for &u16

Source§

impl ConstDefault for &u32

Source§

impl ConstDefault for &u64

Source§

impl ConstDefault for &u128

Source§

impl ConstDefault for &()

Source§

impl ConstDefault for &usize

Source§

impl ConstDefault for bool

Source§

const DEFAULT: bool = false

Source§

impl ConstDefault for char

Source§

const DEFAULT: char = '\0'

Source§

impl ConstDefault for f32

Source§

const DEFAULT: f32 = 0f32

Source§

impl ConstDefault for f64

Source§

const DEFAULT: f64 = 0f64

Source§

impl ConstDefault for i8

Source§

const DEFAULT: i8 = 0i8

Source§

impl ConstDefault for i16

Source§

const DEFAULT: i16 = 0i16

Source§

impl ConstDefault for i32

Source§

const DEFAULT: i32 = 0i32

Source§

impl ConstDefault for i64

Source§

const DEFAULT: i64 = 0i64

Source§

impl ConstDefault for i128

Source§

const DEFAULT: i128 = 0i128

Source§

impl ConstDefault for isize

Source§

const DEFAULT: isize = 0isize

Source§

impl ConstDefault for u8

Source§

const DEFAULT: u8 = 0u8

Source§

impl ConstDefault for u16

Source§

const DEFAULT: u16 = 0u16

Source§

impl ConstDefault for u32

Source§

const DEFAULT: u32 = 0u32

Source§

impl ConstDefault for u64

Source§

const DEFAULT: u64 = 0u64

Source§

impl ConstDefault for u128

Source§

const DEFAULT: u128 = 0u128

Source§

impl ConstDefault for ()

Source§

const DEFAULT: () = ()

Source§

impl ConstDefault for usize

Source§

const DEFAULT: usize = 0usize

Source§

impl ConstDefault for PhantomPinned

Source§

impl ConstDefault for AtomicBool

Source§

impl ConstDefault for AtomicI8

Source§

impl ConstDefault for AtomicI16

Source§

impl ConstDefault for AtomicI32

Source§

impl ConstDefault for AtomicI64

Source§

impl ConstDefault for AtomicIsize

Source§

impl ConstDefault for AtomicU8

Source§

impl ConstDefault for AtomicU16

Source§

impl ConstDefault for AtomicU32

Source§

impl ConstDefault for AtomicU64

Source§

impl ConstDefault for AtomicUsize

Source§

impl ConstDefault for Duration

Source§

impl<'a, T> ConstDefault for &'a [T]
where T: 'a,

Source§

const DEFAULT: &'a [T]

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> ConstDefault for (A, B, C, D, E, F, G, H, I, J, K, L)

Source§

impl<B, C, D, E, F, G, H, I, J, K, L> ConstDefault for (B, C, D, E, F, G, H, I, J, K, L)

Source§

impl<C, D, E, F, G, H, I, J, K, L> ConstDefault for (C, D, E, F, G, H, I, J, K, L)

Source§

impl<D, E, F, G, H, I, J, K, L> ConstDefault for (D, E, F, G, H, I, J, K, L)

Source§

impl<E, F, G, H, I, J, K, L> ConstDefault for (E, F, G, H, I, J, K, L)

Source§

impl<F, G, H, I, J, K, L> ConstDefault for (F, G, H, I, J, K, L)

Source§

impl<G, H, I, J, K, L> ConstDefault for (G, H, I, J, K, L)

Source§

impl<H, I, J, K, L> ConstDefault for (H, I, J, K, L)

Source§

impl<I, J, K, L> ConstDefault for (I, J, K, L)

Source§

impl<J, K, L> ConstDefault for (J, K, L)

Source§

impl<K, L> ConstDefault for (K, L)

Source§

impl<L> ConstDefault for (L,)
where L: ConstDefault,

Source§

impl<T> ConstDefault for Option<T>

Source§

const DEFAULT: Option<T> = None

Source§

impl<T> ConstDefault for *const T

Source§

impl<T> ConstDefault for *mut T

Source§

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

Source§

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

Source§

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

Source§

impl<T> ConstDefault for Empty<T>

Source§

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

Source§

const DEFAULT: PhantomData<T> = Self

Source§

impl<T> ConstDefault for ManuallyDrop<T>
where T: ConstDefault,

Source§

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

Source§

impl<T> ConstDefault for AtomicPtr<T>

Source§

impl<T> ConstDefault for MaybeUninit<T>
where T: ConstDefault,

Source§

impl<T, const N: usize> ConstDefault for [T; N]
where T: ConstDefault,

Implementors§

Source§

impl ConstDefault for Animation

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Background

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Camera

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Cursor

Source§

const DEFAULT: Self

Source§

impl ConstDefault for DaydreamControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for DeviceOrientationPermissionUI

Source§

const DEFAULT: Self

Source§

impl ConstDefault for DirectionalShadow

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Embedded

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Fog

Source§

const DEFAULT: Self

Source§

impl ConstDefault for GearVRControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Geometry

Source§

const DEFAULT: Self

Source§

impl ConstDefault for GltfModel

Source§

const DEFAULT: Self

Source§

impl ConstDefault for HandControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for HandTrackingControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for KeyboardShortcuts

Source§

const DEFAULT: Self

Source§

impl ConstDefault for LaserControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Layer

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Light

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Line

Source§

const DEFAULT: Self

Source§

const DEFAULT: Self

Source§

impl ConstDefault for LoadingScreen

Source§

const DEFAULT: Self

Source§

impl ConstDefault for LocalShadow

Source§

const DEFAULT: Self

Source§

impl ConstDefault for LookControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for MagicLeapControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Material

Source§

const DEFAULT: Self

Source§

impl ConstDefault for ObjModel

Source§

const DEFAULT: Self

Source§

impl ConstDefault for OculusGoControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for OculusTouchControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Pool

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Position

Source§

const DEFAULT: Self

Source§

impl ConstDefault for RayCaster

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Renderer

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Rotation

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Scale

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Screenshot

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Shadow

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Sound

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Stats

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Text

Source§

const DEFAULT: Self

Source§

impl ConstDefault for TrackedControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Visible

Source§

const DEFAULT: Self

Source§

impl ConstDefault for ViveControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for ViveFocusControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for VrModeUi

Source§

const DEFAULT: Self

Source§

impl ConstDefault for WasdControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for WebXR

Source§

const DEFAULT: Self

Source§

impl ConstDefault for WindowsMotionControls

Source§

const DEFAULT: Self

Source§

impl ConstDefault for Vector2

Source§

impl ConstDefault for Vector3

Source§

impl ConstDefault for Vector4