Merge conflicts and rebase onto master

This commit is contained in:
Michael Goulet 2022-10-02 06:57:01 +00:00
parent 29dccfe9e4
commit d9891563d3
7 changed files with 56 additions and 30 deletions

View file

@ -1,7 +1,8 @@
#![feature(fn_traits)]
#![feature(unboxed_closures)]
#![feature(tuple_trait)]
fn foo<F: Fn<T>, T>(f: Option<F>, t: T) {
fn foo<F: Fn<T>, T:std::marker::Tuple>(f: Option<F>, t: T) {
let y = (f.unwrap()).call(t);
}

View file

@ -1,5 +1,5 @@
error[E0277]: the size for values of type `str` cannot be known at compilation time
--> $DIR/unsized-ret.rs:9:27
--> $DIR/unsized-ret.rs:10:27
|
LL | foo::<fn() -> str, _>(None, ());
| --------------------- ^^^^ doesn't have a size known at compile-time
@ -9,13 +9,13 @@ LL | foo::<fn() -> str, _>(None, ());
= help: within `fn() -> str`, the trait `Sized` is not implemented for `str`
= note: required because it appears within the type `fn() -> str`
note: required by a bound in `foo`
--> $DIR/unsized-ret.rs:4:11
--> $DIR/unsized-ret.rs:5:11
|
LL | fn foo<F: Fn<T>, T>(f: Option<F>, t: T) {
LL | fn foo<F: Fn<T>, T:std::marker::Tuple>(f: Option<F>, t: T) {
| ^^^^^ required by this bound in `foo`
error[E0277]: the size for values of type `(dyn std::fmt::Display + 'a)` cannot be known at compilation time
--> $DIR/unsized-ret.rs:12:66
--> $DIR/unsized-ret.rs:13:66
|
LL | foo::<for<'a> fn(&'a ()) -> (dyn std::fmt::Display + 'a), _>(None, (&(),));
| ------------------------------------------------------------ ^^^^ doesn't have a size known at compile-time
@ -25,9 +25,9 @@ LL | foo::<for<'a> fn(&'a ()) -> (dyn std::fmt::Display + 'a), _>(None, (&()
= help: within `for<'a> fn(&'a ()) -> (dyn std::fmt::Display + 'a)`, the trait `for<'a> Sized` is not implemented for `(dyn std::fmt::Display + 'a)`
= note: required because it appears within the type `for<'a> fn(&'a ()) -> (dyn std::fmt::Display + 'a)`
note: required by a bound in `foo`
--> $DIR/unsized-ret.rs:4:11
--> $DIR/unsized-ret.rs:5:11
|
LL | fn foo<F: Fn<T>, T>(f: Option<F>, t: T) {
LL | fn foo<F: Fn<T>, T:std::marker::Tuple>(f: Option<F>, t: T) {
| ^^^^^ required by this bound in `foo`
error: aborting due to 2 previous errors