//@ 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() {} |