mirror of https://github.com/rust-lang/rust.git
27 lines
498 B
Rust
27 lines
498 B
Rust
//@ known-bug: #121963
|
|
#![feature(generic_const_exprs)]
|
|
use std::marker::PhantomData;
|
|
|
|
trait Arch {
|
|
const CHANNEL_COUNT: usize = 2;
|
|
}
|
|
|
|
struct Channel<const N: usize> {
|
|
r: [u8; N],
|
|
}
|
|
|
|
struct Dram<A: Arch, S = Channel<{ A::CHANNEL_COUNT }>> {
|
|
a: PhantomData<A>,
|
|
s: PhantomData<S>,
|
|
}
|
|
|
|
struct C<A: Arch>
|
|
where
|
|
Channel<{ A::CHANNEL_COUNT }, u8>: Sized,
|
|
{
|
|
b: Dram<A>,
|
|
// b: Dram<A, Channel<{ A::CHANNEL_COUNT }>>, // When I specified generic here, it worked
|
|
}
|
|
|
|
fn main() {}
|