File: foreign-safe-fn-arg-mismatch.stderr

package info (click to toggle)
rustc 1.87.0%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 925,564 kB
  • sloc: xml: 158,127; python: 36,039; javascript: 19,761; sh: 19,737; cpp: 18,981; ansic: 13,133; asm: 4,376; makefile: 710; perl: 29; lisp: 28; ruby: 19; sql: 11
file content (44 lines) | stat: -rw-r--r-- 1,471 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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`.