error: associated function in `impl` without body
  --> $DIR/issue-95023.rs:6:5
   |
LL |     fn foo<const N: usize>(&self) -> Self::B<{N}>;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
   |                                                  |
   |                                                  help: provide a definition for the function: `{ <body> }`

error[E0407]: method `foo` is not a member of trait `Fn`
  --> $DIR/issue-95023.rs:6:5
   |
LL |     fn foo<const N: usize>(&self) -> Self::B<{N}>;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a member of trait `Fn`

error[E0183]: manual implementations of `Fn` are experimental
  --> $DIR/issue-95023.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-95023.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-95023.rs:3:6
   |
LL | impl Fn(&isize) for Error {
   |      ^^^^^^^^^^

error[E0220]: associated type `B` not found for `Self`
  --> $DIR/issue-95023.rs:6:44
   |
LL |     fn foo<const N: usize>(&self) -> Self::B<{N}>;
   |                                            ^ associated type `B` not found

error: aborting due to 5 previous errors

Some errors have detailed explanations: E0183, E0220, E0229, E0407.
For more information about an error, try `rustc --explain E0183`.