about summary refs log tree commit diff
path: root/tests/ui/impl-trait/in-trait/span-bug-issue-121457.rs
blob: 7dc747bffba48345c6c22243043691828d0bf1f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
pub trait Iterable {
    type Item<'a>
    where
        Self: 'a;

    fn iter(&self) -> impl Iterator;
}

impl<'a, I: 'a + Iterable> Iterable for &'a I {
    type Item = u32;
    //~^ ERROR lifetime parameters or bounds on associated type `Item` do not match the trait declaration

    fn iter(&self) -> impl for<'missing> Iterator<Item = Self::Item<'missing>> {}
    //~^ ERROR binding for associated type `Item` references lifetime `'missing`
    //~| ERROR binding for associated type `Item` references lifetime `'missing`
    //~| ERROR `()` is not an iterator
}

fn main() {}