summaryrefslogtreecommitdiffstats
path: root/src/test/ui/generic-associated-types/issue-88595.rs
blob: e0796dfecbbcc04fb4d8649ee37d436c13b88b92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#![feature(generic_associated_types)]
#![feature(type_alias_impl_trait)]

fn main() {}

trait A<'a> {
    type B<'b>: Clone
    // FIXME(generic_associated_types): Remove one of the below bounds
    // https://github.com/rust-lang/rust/pull/90678#discussion_r744976085
    where
        Self: 'a, Self: 'b;

    fn a(&'a self) -> Self::B<'a>;
}

struct C;

impl<'a> A<'a> for C {
    type B<'b> = impl Clone;

    fn a(&'a self) -> Self::B<'a> {} //~ ERROR: non-defining opaque type use in defining scope
}