| error: `Option<usize>` is forbidden as the type of a const generic parameter |
| --> $DIR/issue-68366.rs:9:25 |
| | |
| LL | struct Collatz<const N: Option<usize>>; |
| | ^^^^^^^^^^^^^ |
| | |
| = note: the only supported types are integers, `bool`, and `char` |
| help: add `#![feature(adt_const_params)]` to the crate attributes to enable more complex and user defined types |
| | |
| LL + #![feature(adt_const_params)] |
| | |
| |
| error[E0207]: the const parameter `N` is not constrained by the impl trait, self type, or predicates |
| --> $DIR/issue-68366.rs:12:7 |
| | |
| LL | impl <const N: usize> Collatz<{Some(N)}> {} |
| | ^^^^^^^^^^^^^^ unconstrained const parameter |
| | |
| = note: expressions using a const parameter must map each value to a distinct output value |
| = note: proving the result of expressions other than the parameter are unique is not supported |
| |
| error[E0207]: the const parameter `N` is not constrained by the impl trait, self type, or predicates |
| --> $DIR/issue-68366.rs:19:6 |
| | |
| LL | impl<const N: usize> Foo {} |
| | ^^^^^^^^^^^^^^ unconstrained const parameter |
| | |
| = note: expressions using a const parameter must map each value to a distinct output value |
| = note: proving the result of expressions other than the parameter are unique is not supported |
| |
| error: overly complex generic constant |
| --> $DIR/issue-68366.rs:12:31 |
| | |
| LL | impl <const N: usize> Collatz<{Some(N)}> {} |
| | ^-------^ |
| | | |
| | struct/enum construction is not supported in generic constants |
| | |
| = help: consider moving this anonymous constant into a `const` function |
| = note: this operation may be supported in the future |
| |
| error: aborting due to 4 previous errors |
| |
| For more information about this error, try `rustc --explain E0207`. |