25 lines
366 B
Rust
25 lines
366 B
Rust
|
// 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() {}
|