about summary refs log tree commit diff
path: root/tests/ui/const-generics/issues/issue-68366.rs
blob: 6f745b260b6330a4b4a1493a1eebf950131ab62b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 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.

//@ revisions: full min
#![cfg_attr(full, feature(generic_const_exprs))]
#![cfg_attr(full, allow(incomplete_features))]

struct Collatz<const N: Option<usize>>;
//~^ ERROR: `Option<usize>` is forbidden

impl <const N: usize> Collatz<{Some(N)}> {}
//~^ ERROR the const parameter
//[min]~^^ ERROR generic parameters may not be used in const operations
//[full]~^^^ ERROR overly complex

struct Foo;

impl<const N: usize> Foo {}
//~^ ERROR the const parameter

fn main() {}