24 lines
422 B
Rust
24 lines
422 B
Rust
|
// We used to ICE here while trying to synthesize auto trait impls.
|
||
|
// issue: 107715
|
||
|
//@ check-pass
|
||
|
|
||
|
pub const N: usize = 1;
|
||
|
|
||
|
pub struct MapType<K: Supertrait<V>, V> {
|
||
|
_array: K::Array,
|
||
|
}
|
||
|
|
||
|
pub trait Subtrait: Supertrait<[u8; N]> {}
|
||
|
|
||
|
pub trait Supertrait<V> {
|
||
|
type Array: AnotherTrait<V>;
|
||
|
}
|
||
|
|
||
|
pub trait AnotherTrait<V> {
|
||
|
const LENGTH: usize;
|
||
|
}
|
||
|
|
||
|
pub struct Container<S: Subtrait> {
|
||
|
_x: MapType<S, [u8; N]>,
|
||
|
}
|