1 error[E0277]: the trait bound `fn(Argument) -> Return {function}: Trait` is not satisfied
2 --> $DIR/issue-99875.rs:12:11
5 | ----- ^^^^^^^^ the trait `Trait` is not implemented for fn item `fn(Argument) -> Return {function}`
7 | required by a bound introduced by this call
9 = help: the trait `Trait` is implemented for fn pointer `fn(Argument) -> Return`
10 note: required by a bound in `takes`
11 --> $DIR/issue-99875.rs:9:18
13 LL | fn takes(_: impl Trait) {}
14 | ^^^^^ required by this bound in `takes`
16 error[E0277]: the trait bound `[closure@$DIR/issue-99875.rs:14:11: 14:34]: Trait` is not satisfied
17 --> $DIR/issue-99875.rs:14:11
19 LL | takes(|_: Argument| -> Return { todo!() });
20 | ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Trait` is not implemented for closure `[closure@$DIR/issue-99875.rs:14:11: 14:34]`
22 | required by a bound introduced by this call
24 = help: the trait `Trait` is implemented for fn pointer `fn(Argument) -> Return`
25 note: required by a bound in `takes`
26 --> $DIR/issue-99875.rs:9:18
28 LL | fn takes(_: impl Trait) {}
29 | ^^^^^ required by this bound in `takes`
31 error: aborting due to 2 previous errors
33 For more information about this error, try `rustc --explain E0277`.