@@ -8,13 +8,13 @@ extern crate rustc_hir;
8
8
extern crate rustc_lint;
9
9
#[ macro_use]
10
10
extern crate rustc_session;
11
- extern crate rustc_span;
12
11
extern crate rustc_ast;
12
+ extern crate rustc_span;
13
13
14
14
use rustc_driver:: plugin:: Registry ;
15
- use rustc_lint:: { LateContext , LateLintPass , LintArray , LintContext , LintPass } ;
15
+ use rustc_lint:: { LateContext , LateLintPass , LintContext } ;
16
+ use rustc_span:: def_id:: CRATE_DEF_ID ;
16
17
use rustc_span:: symbol:: Symbol ;
17
- use rustc_ast:: attr;
18
18
19
19
declare_lint ! {
20
20
CRATE_NOT_OKAY ,
@@ -25,13 +25,12 @@ declare_lint! {
25
25
declare_lint_pass ! ( Pass => [ CRATE_NOT_OKAY ] ) ;
26
26
27
27
impl < ' tcx > LateLintPass < ' tcx > for Pass {
28
- fn check_crate ( & mut self , cx : & LateContext , krate : & rustc_hir :: Crate ) {
28
+ fn check_crate ( & mut self , cx : & LateContext ) {
29
29
let attrs = cx. tcx . hir ( ) . attrs ( rustc_hir:: CRATE_HIR_ID ) ;
30
+ let span = cx. tcx . def_span ( CRATE_DEF_ID ) ;
30
31
if !cx. sess ( ) . contains_name ( attrs, Symbol :: intern ( "crate_okay" ) ) {
31
32
cx. lint ( CRATE_NOT_OKAY , |lint| {
32
- lint. build ( "crate is not marked with #![crate_okay]" )
33
- . set_span ( krate. module ( ) . inner )
34
- . emit ( )
33
+ lint. build ( "crate is not marked with #![crate_okay]" ) . set_span ( span) . emit ( )
35
34
} ) ;
36
35
}
37
36
}
0 commit comments