Files
rust/tests/ui/traits/const-traits/std-impl-gate.rs
Esteban Küber c3301503b9 Make Default const and add some const Default impls
Full list of `impl const Default` types:

- ()
- bool
- char
- Cell
- std::ascii::Char
- usize
- u8
- u16
- u32
- u64
- u128
- i8
- i16
- i32
- i64
- i128
- f16
- f32
- f64
- f128
- std::marker::PhantomData<T>
- Option<T>
- std::iter::Empty<T>
- std::ptr::Alignment
- &[T]
- &mut [T]
- &str
- &mut str
- String
- Vec<T>
2025-07-07 22:09:37 +00:00

23 lines
556 B
Rust

// This tests feature gates for const impls in the standard library.
//@ revisions: stock gated
//@[gated] run-pass
#![cfg_attr(gated, feature(const_trait_impl, const_default))]
fn non_const_context() -> Vec<usize> {
Default::default()
}
const fn const_context() -> Vec<usize> {
Default::default()
//[stock]~^ ERROR cannot call conditionally-const associated function
//[stock]~| ERROR `Default` is not yet stable as a const trait
}
fn main() {
const VAL: Vec<usize> = const_context();
assert_eq!(VAL, non_const_context());
}