error[E0407]: method `from` is not a member of trait `Fn` --> $DIR/issue-87558.rs:8:5 | LL | fn from() {} | ^^^^^^^^^^^^ not a member of trait `Fn` error[E0183]: manual implementations of `Fn` are experimental --> $DIR/issue-87558.rs:3:6 | LL | impl Fn(&isize) for Error { | ^^^^^^^^^^ manual implementations of `Fn` are experimental | = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable error[E0229]: associated type bindings are not allowed here --> $DIR/issue-87558.rs:3:6 | LL | impl Fn(&isize) for Error { | ^^^^^^^^^^ associated type not allowed here | help: parenthesized trait syntax expands to `Fn<(&isize,), Output=()>` --> $DIR/issue-87558.rs:3:6 | LL | impl Fn(&isize) for Error { | ^^^^^^^^^^ error[E0277]: expected a `FnMut(&isize)` closure, found `Error` --> $DIR/issue-87558.rs:3:21 | LL | impl Fn(&isize) for Error { | ^^^^^ expected an `FnMut(&isize)` closure, found `Error` | = help: the trait `FnMut<(&isize,)>` is not implemented for `Error` note: required by a bound in `Fn` --> $SRC_DIR/core/src/ops/function.rs:LL:COL error[E0046]: not all trait items implemented, missing: `call` --> $DIR/issue-87558.rs:3:1 | LL | impl Fn(&isize) for Error { | ^^^^^^^^^^^^^^^^^^^^^^^^^ missing `call` in implementation | = help: implement the missing item: `fn call(&self, _: (&isize,)) -> >::Output { todo!() }` error: aborting due to 5 previous errors Some errors have detailed explanations: E0046, E0183, E0229, E0277, E0407. For more information about an error, try `rustc --explain E0046`.