1 #![feature(type_alias_impl_trait)]
7 type OneTy<T> = impl Debug;
9 type OneLifetime<'a> = impl Debug;
11 type OneConst<const X: usize> = impl Debug;
14 // Not defining uses, because they doesn't define *all* possible generics.
16 fn concrete_ty() -> OneTy<u32> {
18 //~^ ERROR non-defining opaque type use in defining scope
21 fn concrete_lifetime() -> OneLifetime<'static> {
23 //~^ ERROR non-defining opaque type use in defining scope
26 fn concrete_const() -> OneConst<{ 123 }> {
28 //~^ ERROR non-defining opaque type use in defining scope