| error[E0593]: function is expected to take 1 argument, but it takes 0 arguments |
| --> $DIR/foreign-safe-fn-arg-mismatch.rs:11:10 |
| | |
| LL | pub safe fn foo(); |
| | ------------------ takes 0 arguments |
| ... |
| LL | test(foo); |
| | ---- ^^^ expected function that takes 1 argument |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required by a bound in `test` |
| --> $DIR/foreign-safe-fn-arg-mismatch.rs:8:17 |
| | |
| LL | fn test(_: impl Fn(i32)) {} |
| | ^^^^^^^ required by this bound in `test` |
| |
| error[E0631]: type mismatch in function arguments |
| --> $DIR/foreign-safe-fn-arg-mismatch.rs:12:10 |
| | |
| LL | pub safe fn bar(x: u32); |
| | ------------------------ found signature defined here |
| ... |
| LL | test(bar); |
| | ---- ^^^ expected due to this |
| | | |
| | required by a bound introduced by this call |
| | |
| = note: expected function signature `fn(i32) -> _` |
| found function signature `fn(u32) -> _` |
| note: required by a bound in `test` |
| --> $DIR/foreign-safe-fn-arg-mismatch.rs:8:17 |
| | |
| LL | fn test(_: impl Fn(i32)) {} |
| | ^^^^^^^ required by this bound in `test` |
| help: consider wrapping the function in a closure |
| | |
| LL | test(|arg0: i32| bar(/* u32 */)); |
| | +++++++++++ +++++++++++ |
| |
| error: aborting due to 2 previous errors |
| |
| Some errors have detailed explanations: E0593, E0631. |
| For more information about an error, try `rustc --explain E0593`. |