mirror of https://github.com/rust-lang/rust
24 lines
552 B
Rust
24 lines
552 B
Rust
#![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
|
|
}
|