File tree Expand file tree Collapse file tree 2 files changed +34
-1
lines changed Expand file tree Collapse file tree 2 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -3394,7 +3394,10 @@ impl<'a> Parser<'a> {
33943394 /// Parse a structure field
33953395 fn parse_name_and_ty ( & mut self , pr : Visibility ,
33963396 attrs : Vec < Attribute > ) -> PResult < StructField > {
3397- let lo = self . span . lo ;
3397+ let lo = match pr {
3398+ Inherited => self . span . lo ,
3399+ Public => self . last_span . lo ,
3400+ } ;
33983401 if !self . token . is_plain_ident ( ) {
33993402 return Err ( self . fatal ( "expected ident" ) ) ;
34003403 }
Original file line number Diff line number Diff line change 1+ // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ // Regression test for issue #26083
12+ // Test that span for public struct fields start at `pub` instead of the identifier
13+
14+ struct Foo {
15+ pub bar : u8 ,
16+
17+ pub
18+ //~^ error: field `bar` is already declared [E0124]
19+ bar : u8 ,
20+
21+ pub bar :
22+ //~^ error: field `bar` is already declared [E0124]
23+ u8 ,
24+
25+ bar :
26+ //~^ error: field `bar` is already declared [E0124]
27+ u8 ,
28+ }
29+
30+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments