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 item constraints are not allowed here
  --> $DIR/issue-87558.rs:3:6
   |
LL | impl Fn(&isize) for Error {
   |      ^^^^^^^^^^ associated item constraint 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[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,)) -> <Self as FnOnce<(&isize,)>>::Output { todo!() }`

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`
  --> $DIR/issue-87558.rs:2:1
   |
LL | struct Error(ErrorKind);
   | ^^^^^^^^^^^^
note: required by a bound in `Fn`
  --> $SRC_DIR/core/src/ops/function.rs:LL:COL

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`.
