2020-09-05 23:34:20 -05:00
|
|
|
// Checks that const expressions have a useful note explaining why they can't be evaluated.
|
|
|
|
// The note should relate to the fact that it cannot be shown forall N that it maps 1-1 to a new
|
|
|
|
// type.
|
|
|
|
|
2020-09-09 06:28:41 -05:00
|
|
|
// revisions: full min
|
2021-08-27 11:04:57 -05:00
|
|
|
#![cfg_attr(full, feature(generic_const_exprs))]
|
2020-09-09 06:28:41 -05:00
|
|
|
#![cfg_attr(full, allow(incomplete_features))]
|
2020-09-05 23:34:20 -05:00
|
|
|
|
|
|
|
struct Collatz<const N: Option<usize>>;
|
|
|
|
|
|
|
|
impl <const N: usize> Collatz<{Some(N)}> {}
|
|
|
|
//~^ ERROR the const parameter
|
2020-10-12 16:27:59 -05:00
|
|
|
//[min]~^^ generic parameters may not be used in const operations
|
2020-09-05 23:34:20 -05:00
|
|
|
|
|
|
|
struct Foo;
|
|
|
|
|
|
|
|
impl<const N: usize> Foo {}
|
|
|
|
//~^ ERROR the const parameter
|
|
|
|
|
|
|
|
fn main() {}
|