Rollup merge of #89588 - BoxyUwU:add_a_test_uwu, r=lcnr
Add a test for generic_const_exprs Test that const_eval_resolve evaluates consts with unused inference vars in substs r? ``@lcnr``
This commit is contained in:
commit
eb7da35d84
1 changed files with 29 additions and 0 deletions
|
@ -0,0 +1,29 @@
|
|||
// run-pass
|
||||
#![feature(generic_const_exprs)]
|
||||
#![allow(incomplete_features)]
|
||||
|
||||
trait Foo<const N: usize> {
|
||||
type Assoc: Default;
|
||||
}
|
||||
|
||||
impl Foo<0> for () {
|
||||
type Assoc = u32;
|
||||
}
|
||||
|
||||
impl Foo<3> for () {
|
||||
type Assoc = i64;
|
||||
}
|
||||
|
||||
fn foo<T, const N: usize>(_: T) -> <() as Foo<{ N + 1 }>>::Assoc
|
||||
where
|
||||
(): Foo<{ N + 1 }>,
|
||||
{
|
||||
Default::default()
|
||||
}
|
||||
|
||||
fn main() {
|
||||
// Test that we can correctly infer `T` which requires evaluating
|
||||
// `{ N + 1 }` which has substs containing an inference var
|
||||
let mut _q = Default::default();
|
||||
_q = foo::<_, 2>(_q);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue