| //@ 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, | |
| } | |
| } | |
| } |