error[E0308]: mismatched types
  --> $DIR/issue-87812-path.rs:3:24
   |
LL |         let _: usize = $f;
   |                -----   ^^ expected `usize`, found `Baz`
   |                |
   |                expected due to this
...
LL |     foo!(Baz);
   |     --------- in this macro invocation
   |
   = note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.