diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 539d594cb8b..6cfa6c05701 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3395,7 +3395,10 @@ fn parse_let(&mut self) -> PResult> { /// Parse a structure field fn parse_name_and_ty(&mut self, pr: Visibility, attrs: Vec ) -> PResult { - let lo = self.span.lo; + let lo = match pr { + Inherited => self.span.lo, + Public => self.last_span.lo, + }; if !self.token.is_plain_ident() { return Err(self.fatal("expected ident")); }