File tree Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -283,6 +283,12 @@ fn has_allow_dead_code_or_lang_attr(attrs: &[ast::Attribute]) -> bool {
283283 return true ;
284284 }
285285
286+ // #[used] also keeps the item alive forcefully,
287+ // e.g. for placing it in a specific section.
288+ if attr:: contains_name ( attrs, "used" ) {
289+ return true ;
290+ }
291+
286292 let dead_code = lint:: builtin:: DEAD_CODE . name_lower ( ) ;
287293 for attr in lint:: gather_attrs ( attrs) {
288294 match attr {
Original file line number Diff line number Diff line change 1+ // Copyright 2017 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+ #![ deny( dead_code) ]
12+ #![ feature( used) ]
13+
14+ #[ used]
15+ static FOO : u32 = 0 ;
16+
17+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments