| // check-pass | |
| #![feature(generic_const_exprs)] | |
| #![allow(incomplete_features)] | |
| pub trait First { | |
| const CONST: usize; | |
| } | |
| pub trait Second {} | |
| impl<'a> First for dyn Second | |
| where | |
| &'a Self: First, | |
| { | |
| const CONST: usize = <&Self>::CONST; | |
| } | |
| trait Third: First | |
| where | |
| [u8; Self::CONST]: | |
| { | |
| const VAL: [u8; Self::CONST] = [0; Self::CONST]; | |
| } | |
| fn main() {} |