File tree Expand file tree Collapse file tree 2 files changed +19
-2
lines changed Expand file tree Collapse file tree 2 files changed +19
-2
lines changed Original file line number Diff line number Diff line change 1919use rustc:: lint;
2020use rustc:: session:: Session ;
2121use syntax:: ast:: * ;
22+ use syntax:: attr;
2223use syntax:: parse:: token:: { self , keywords} ;
2324use syntax:: visit:: { self , Visitor } ;
2425use syntax_pos:: Span ;
@@ -168,6 +169,10 @@ impl<'a> Visitor for AstValidator<'a> {
168169 }
169170 }
170171 }
172+ ItemKind :: Mod ( _) => {
173+ // Ensure that `path` attributes on modules are recorded as used (c.f. #35584).
174+ attr:: first_attr_value_str_by_name ( & item. attrs , "path" ) ;
175+ }
171176 _ => { }
172177 }
173178
Original file line number Diff line number Diff line change 88// option. This file may not be copied, modified, or distributed
99// except according to those terms.
1010
11- #[ cfg_attr( all( ) , path = "nonexistent_file.rs" ) ] mod foo;
12- //~^ ERROR nonexistent_file.rs
11+ #![ feature( rustc_attrs) ]
12+ #![ allow( dead_code) ]
13+ #![ deny( unused_attributes) ] // c.f #35584
14+
15+ mod auxiliary {
16+ #[ cfg_attr( any( ) , path = "nonexistent_file.rs" ) ] pub mod namespaced_enums;
17+ #[ cfg_attr( all( ) , path = "namespaced_enums.rs" ) ] pub mod nonexistent_file;
18+ }
19+
20+ #[ rustc_error]
21+ fn main ( ) { //~ ERROR compilation successful
22+ let _ = auxiliary:: namespaced_enums:: Foo :: A ;
23+ let _ = auxiliary:: nonexistent_file:: Foo :: A ;
24+ }
You can’t perform that action at this time.
0 commit comments