error[E0631]: type mismatch in closure arguments --> $DIR/E0631.rs:7:5 | LL | foo(|_: isize| {}); | ^^^ ---------- found signature defined here | | | expected due to this | = note: expected closure signature `fn(usize) -> _` found closure signature `fn(isize) -> _` note: required by a bound in `foo` --> $DIR/E0631.rs:3:11 | LL | fn foo(_: F) {} | ^^^^^^^^^ required by this bound in `foo` error[E0631]: type mismatch in closure arguments --> $DIR/E0631.rs:8:5 | LL | bar(|_: isize| {}); | ^^^ ---------- found signature defined here | | | expected due to this | = note: expected closure signature `fn(usize) -> _` found closure signature `fn(isize) -> _` note: required by a bound in `bar` --> $DIR/E0631.rs:4:11 | LL | fn bar>(_: F) {} | ^^^^^^^^^ required by this bound in `bar` error[E0631]: type mismatch in function arguments --> $DIR/E0631.rs:9:9 | LL | fn f(_: u64) {} | ------------ found signature defined here ... LL | foo(f); | --- ^ expected due to this | | | required by a bound introduced by this call | = note: expected function signature `fn(usize) -> _` found function signature `fn(u64) -> _` note: required by a bound in `foo` --> $DIR/E0631.rs:3:11 | LL | fn foo(_: F) {} | ^^^^^^^^^ required by this bound in `foo` error[E0631]: type mismatch in function arguments --> $DIR/E0631.rs:10:9 | LL | fn f(_: u64) {} | ------------ found signature defined here ... LL | bar(f); | --- ^ expected due to this | | | required by a bound introduced by this call | = note: expected function signature `fn(usize) -> _` found function signature `fn(u64) -> _` note: required by a bound in `bar` --> $DIR/E0631.rs:4:11 | LL | fn bar>(_: F) {} | ^^^^^^^^^ required by this bound in `bar` error: aborting due to 4 previous errors For more information about this error, try `rustc --explain E0631`.