blob: b1fe542a5681fe3e6be0567ed6381074ee86cd25 [file] [log] [blame]
#![feature(impl_trait_in_assoc_type)]
fn main() {}
#[rustfmt::skip]
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
//~^ ERROR: non-defining opaque type use in defining scope
}