// edition:2018 // ignore-compare-mode-chalk // revisions: min_tait full_tait #![feature(min_type_alias_impl_trait)] #![cfg_attr(full_tait, feature(type_alias_impl_trait))] //[full_tait]~^ WARN incomplete pub trait Bar { type E: Copy; fn foo() -> Self::E; } impl Bar for S { type E = impl std::marker::Copy; //~^ ERROR the trait bound `impl Future: Copy` is not satisfied [E0277] fn foo() -> Self::E { //~^ ERROR type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias async {} } } fn main() {}