blob: c785ea2ee57d088fb5d96746caf56f250375b038 [file] [log] [blame]
// ignore-tidy-linelength
// ignore-compare-mode-chalk
#![feature(arbitrary_self_types)]
#![feature(type_alias_impl_trait)]
use std::ops::Deref;
trait Foo {
type Bar: Foo;
fn foo(self: impl Deref<Target = Self>) -> Self::Bar;
}
impl<C> Foo for C {
type Bar = impl Foo;
fn foo(self: impl Deref<Target = Self>) -> Self::Bar {
//~^ Error type parameter `impl Deref<Target = Self>` is part of concrete type but not used in parameter list for the `impl Trait` type alias
self
}
}
fn main() {}