// run-pass // pretty-expanded FIXME #23616 #![allow(dead_code)] trait A { fn get(self) -> T; } trait B { fn get(self) -> (T,U); } trait C<'a, U> { fn get(self) -> &'a U; } mod foo { pub trait D<'a, T> { fn get(self) -> &'a T; } } fn foo1(_: &(dyn A + Send)) {} fn foo2(_: Box + Send + Sync>) {} fn foo3(_: Box + 'static>) {} fn foo4<'a, T>(_: Box + 'static + Send>) {} fn foo5<'a, T>(_: Box + 'static + Send>) {} pub fn main() {}