error: function pointers and raw pointers not derived from integers in patterns behave unpredictably and should not be relied upon. See https://github.com/rust-lang/rust/issues/70861 for details.
  --> $DIR/fn-ptr-is-not-structurally-matchable.rs:41:14
   |
LL |         Wrap(CFN1) => count += 1,
   |              ^^^^

error: function pointers and raw pointers not derived from integers in patterns behave unpredictably and should not be relied upon. See https://github.com/rust-lang/rust/issues/70861 for details.
  --> $DIR/fn-ptr-is-not-structurally-matchable.rs:49:14
   |
LL |         Wrap(CFN2) => count += 1,
   |              ^^^^

error: function pointers and raw pointers not derived from integers in patterns behave unpredictably and should not be relied upon. See https://github.com/rust-lang/rust/issues/70861 for details.
  --> $DIR/fn-ptr-is-not-structurally-matchable.rs:57:14
   |
LL |         Wrap(CFN3) => count += 1,
   |              ^^^^

error: function pointers and raw pointers not derived from integers in patterns behave unpredictably and should not be relied upon. See https://github.com/rust-lang/rust/issues/70861 for details.
  --> $DIR/fn-ptr-is-not-structurally-matchable.rs:65:14
   |
LL |         Wrap(CFN4) => count += 1,
   |              ^^^^

error: function pointers and raw pointers not derived from integers in patterns behave unpredictably and should not be relied upon. See https://github.com/rust-lang/rust/issues/70861 for details.
  --> $DIR/fn-ptr-is-not-structurally-matchable.rs:73:14
   |
LL |         Wrap(CFN5) => count += 1,
   |              ^^^^

error: function pointers and raw pointers not derived from integers in patterns behave unpredictably and should not be relied upon. See https://github.com/rust-lang/rust/issues/70861 for details.
  --> $DIR/fn-ptr-is-not-structurally-matchable.rs:81:14
   |
LL |         Wrap(CFN6) => count += 1,
   |              ^^^^

error: function pointers and raw pointers not derived from integers in patterns behave unpredictably and should not be relied upon. See https://github.com/rust-lang/rust/issues/70861 for details.
  --> $DIR/fn-ptr-is-not-structurally-matchable.rs:89:14
   |
LL |         Wrap(CFN7) => count += 1,
   |              ^^^^

error: function pointers and raw pointers not derived from integers in patterns behave unpredictably and should not be relied upon. See https://github.com/rust-lang/rust/issues/70861 for details.
  --> $DIR/fn-ptr-is-not-structurally-matchable.rs:97:14
   |
LL |         Wrap(CFN8) => count += 1,
   |              ^^^^

error: function pointers and raw pointers not derived from integers in patterns behave unpredictably and should not be relied upon. See https://github.com/rust-lang/rust/issues/70861 for details.
  --> $DIR/fn-ptr-is-not-structurally-matchable.rs:105:14
   |
LL |         Wrap(CFN9) => count += 1,
   |              ^^^^

error: function pointers and raw pointers not derived from integers in patterns behave unpredictably and should not be relied upon. See https://github.com/rust-lang/rust/issues/70861 for details.
  --> $DIR/fn-ptr-is-not-structurally-matchable.rs:127:9
   |
LL |         CFOO => count += 1,
   |         ^^^^

error: aborting due to 10 previous errors

