error: expected identifier, found keyword `return`
  --> $DIR/issue-15980.rs:8:13
   |
LL |         Err(ref e) if e.kind == io::EndOfFile {
   |                                 ------------- while parsing this struct
LL |
LL |             return
   |             ^^^^^^ expected identifier, found keyword
help: you can escape reserved keywords to use them as identifiers
   |
LL |             r#return
   |

error: expected one of `.`, `=>`, `?`, or an operator, found `_`
  --> $DIR/issue-15980.rs:13:9
   |
LL |         }
   |          - expected one of `.`, `=>`, `?`, or an operator here
LL |
LL |         _ => {}
   |         ^ unexpected token

error: aborting due to 2 previous errors

