2 #![feature(impl_trait_in_fn_trait_return)]
5 fn f_debug() -> impl Fn() -> impl Debug {
9 fn ff_debug() -> impl Fn() -> impl Fn() -> impl Debug {
13 fn multi() -> impl Fn() -> (impl Debug + Send) {
18 // Check that `ff_debug` is `() -> (() -> Debug)` and not `(() -> ()) -> Debug`
19 let debug = ff_debug()()();
20 assert_eq!(format!("{:?}", debug), "()");
23 assert_eq!(format!("{:?}", x), "()");
24 fn assert_send(_: &impl Send) {}