Add some new solver tests

This commit is contained in:
Michael Goulet 2024-03-08 02:12:37 +00:00
parent 1c580bcb70
commit 8dd4e2b5ca
2 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,26 @@
//@ compile-flags: -Znext-solver
//@ check-pass
// Regression test for #119607.
pub trait IntoFoo {
type Item;
type IntoIter: Foo<Item = Self::Item>;
fn into_iter(self) -> Self::IntoIter;
}
pub trait Foo {
type Item;
fn next(self) -> Option<Self::Item>;
}
pub fn foo<'a, Iter1, Elem1>(a: &'a Iter1)
where
&'a Iter1: IntoFoo<Item = Elem1>,
{
a.into_iter().next();
}
fn main() {}

View File

@ -0,0 +1,23 @@
//@ compile-flags: -Znext-solver
//@ check-pass
// Regression test for #119608.
pub trait Foo {}
pub trait Bar {
type Assoc;
}
impl<T: Foo> Bar for T {
type Assoc = T;
}
pub fn foo<I>(_input: <I as Bar>::Assoc)
where
I: Bar,
<I as Bar>::Assoc: Foo,
{
}
fn main() {}