rust/src/test/ui/const-generics/const_evaluatable_checked/abstract-const-as-cast-2.rs

21 lines
785 B
Rust
Raw Normal View History

2021-06-08 02:02:12 -05:00
#![feature(const_evaluatable_checked, const_generics)]
#![allow(incomplete_features)]
struct Evaluatable<const N: u128> {}
2021-06-08 02:02:12 -05:00
struct Foo<const N: u8>([u8; N as usize])
//~^ Error: unconstrained generic constant
//~| help: try adding a `where` bound using this expression: `where [(); N as usize]:`
where
Evaluatable<{N as u128}>:;
struct Foo2<const N: u8>(Evaluatable::<{N as u128}>) where Evaluatable<{N as usize as u128 }>:;
//~^ Error: unconstrained generic constant
//~| help: try adding a `where` bound using this expression: `where [(); {N as u128}]:`
struct Bar<const N: u8>([u8; (N + 2) as usize]) where [(); (N + 1) as usize]:;
//~^ unconstrained generic constant
//~| help: try adding a `where` bound using this expression: `where [(); (N + 2) as usize]:`
2021-06-08 02:02:12 -05:00
fn main() {}