about summary refs log tree commit diff
path: root/tests/ui/traits/next-solver/assembly/param-env-alias-bound-conflict.rs
blob: ddda1a71d7ee481e9f1d02c5219bad60dade4d97 (plain)
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
//@ 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() {}