//@ known-bug: #93182 | |
#![feature(generic_const_exprs)] | |
// this causes an ICE!!! | |
pub const CONST: usize = 64; | |
pub trait Tr<const S: usize = CONST>: Foo<A<S>> {} | |
// no ICE | |
// pub trait Digest<const S: usize = 64>: FromH<[u8; S]> {} | |
struct St (); | |
struct A<const S: usize> ([u8; S]); | |
pub trait Foo<T> { | |
fn foo(_: T); | |
} | |
impl<const S: usize> Foo<A<S>> for St { | |
fn foo(_: A<S>) { | |
todo!() | |
} | |
} | |
pub trait FooBar { | |
type Tr: Tr; | |
} | |
pub fn main() {} |