// check-pass | |
#![feature(type_alias_impl_trait)] | |
type A = impl Sized; | |
fn f1() -> A { 0 } | |
type B = impl ?Sized; | |
fn f2() -> &'static B { &[0] } | |
type C = impl ?Sized + 'static; | |
fn f3() -> &'static C { &[0] } | |
type D = impl ?Sized; | |
fn f4() -> &'static D { &1 } | |
fn main() {} |