1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
//@ known-bug: #114212
#![feature(generic_const_exprs)]
use core::marker::PhantomData;
pub const DEFAULT_MAX_INPUT_LEN: usize = 256;
pub trait FooTrait {}
pub struct Foo<const MAX_INPUT_LEN: usize>;
impl<const MAX_INPUT_LEN: usize> FooTrait for Foo<MAX_INPUT_LEN> {}
pub struct Bar<
const MAX_INPUT_LEN: usize = DEFAULT_MAX_INPUT_LEN,
PB = Foo<MAX_INPUT_LEN>,
>
where
PB: FooTrait,
{
_pb: PhantomData<PB>,
}
impl<const MAX_INPUT_LEN: usize, PB> Bar<MAX_INPUT_LEN, PB>
where
PB: FooTrait,
{
pub fn new() -> Self {
Self {
_pb: PhantomData,
}
}
}
|