Skip to content

Commit

Permalink
Rollup merge of rust-lang#122171 - compiler-errors:next-solver-tests,…
Browse files Browse the repository at this point in the history
… r=lcnr

Add some new solver tests

Fixes rust-lang#119607
Fixes rust-lang#119608

r? lcnr
  • Loading branch information
matthiaskrgr authored Mar 8, 2024
2 parents 2b6ae95 + 8dd4e2b commit 9829ff6
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -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() {}
Original file line number Diff line number Diff line change
@@ -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() {}

0 comments on commit 9829ff6

Please sign in to comment.