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