error[E0308]: mismatched types
  --> $DIR/issue-87490.rs:9:5
   |
LL | fn follow(_: &str) -> <&str as StreamOnce>::Position {
   |                       ------------------------------ expected `usize` because of return type
LL |     String::new
   |     ^^^^^^^^^^^ expected `usize`, found fn item
   |
   = note: expected type `usize`
           found fn item `fn() -> String {String::new}`

error: aborting due to previous error

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