blob: 476a188cde6980d7f1919969044c8dd4b5767fbf [file] [log] [blame]
// ignore-compare-mode-chalk
#![feature(arbitrary_self_types)]
// revisions: min_tait full_tait
#![feature(min_type_alias_impl_trait)]
#![cfg_attr(full_tait, feature(type_alias_impl_trait))]
//[full_tait]~^ WARN incomplete
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() {}