1 error: at least one trait must be specified
2 --> $DIR/issue-78720.rs:1:16
4 LL | fn server() -> impl {
7 error[E0412]: cannot find type `F` in this scope
8 --> $DIR/issue-78720.rs:13:12
13 ::: $SRC_DIR/core/src/ops/function.rs:LL:COL
15 LL | pub trait Fn<Args>: FnMut<Args> {
16 | ------------------------------- similarly named trait `Fn` defined here
18 help: a trait with a similar name exists
22 help: you might be missing a type parameter
24 LL | struct Map2<Segment2, F> {
27 error[E0308]: mismatched types
28 --> $DIR/issue-78720.rs:7:39
30 LL | fn map2<F>(self, f: F) -> Map2<F> {}
31 | ^^ expected struct `Map2`, found `()`
33 = note: expected struct `Map2<F>`
36 error[E0277]: the size for values of type `Self` cannot be known at compilation time
37 --> $DIR/issue-78720.rs:7:16
39 LL | fn map2<F>(self, f: F) -> Map2<F> {}
40 | ^^^^ doesn't have a size known at compile-time
42 = help: unsized fn params are gated as an unstable feature
43 help: consider further restricting `Self`
45 LL | fn map2<F>(self, f: F) -> Map2<F> where Self: Sized {}
47 help: function arguments must have a statically known size, borrowed types always have a known size
49 LL | fn map2<F>(&self, f: F) -> Map2<F> {}
52 error: aborting due to 4 previous errors
54 Some errors have detailed explanations: E0277, E0308, E0412.
55 For more information about an error, try `rustc --explain E0277`.