2022-08-03 03:30:17 +00:00
|
|
|
#![feature(fn_traits)]
|
|
|
|
#![feature(unboxed_closures)]
|
2022-10-02 06:57:01 +00:00
|
|
|
#![feature(tuple_trait)]
|
2022-08-03 03:30:17 +00:00
|
|
|
|
2022-10-02 06:57:01 +00:00
|
|
|
fn foo<F: Fn<T>, T:std::marker::Tuple>(f: Option<F>, t: T) {
|
2022-08-03 03:30:17 +00:00
|
|
|
let y = (f.unwrap()).call(t);
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
foo::<fn() -> str, _>(None, ());
|
|
|
|
//~^ ERROR the size for values of type `str` cannot be known at compilation time
|
|
|
|
|
|
|
|
foo::<for<'a> fn(&'a ()) -> (dyn std::fmt::Display + 'a), _>(None, (&(),));
|
|
|
|
//~^ ERROR the size for values of type `(dyn std::fmt::Display + 'a)` cannot be known at compilation time
|
|
|
|
}
|