File tree 1 file changed +7
-3
lines changed
1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -73,21 +73,25 @@ struct IntrinsicCheckingVisitor<'a> {
73
73
74
74
impl < ' a > IntrinsicCheckingVisitor < ' a > {
75
75
fn def_id_is_transmute ( & self , def_id : DefId ) -> bool {
76
+ let intrinsic = match ty:: get ( ty:: lookup_item_type ( self . tcx , def_id) . ty ) . sty {
77
+ ty:: ty_bare_fn( ref bfty) => bfty. abi == RustIntrinsic ,
78
+ _ => return false
79
+ } ;
76
80
if def_id. krate == ast:: LOCAL_CRATE {
77
81
match self . tcx . map . get ( def_id. node ) {
78
- NodeForeignItem ( ref item) => {
82
+ NodeForeignItem ( ref item) if intrinsic => {
79
83
token:: get_ident ( item. ident ) ==
80
84
token:: intern_and_get_ident ( "transmute" )
81
85
}
82
86
_ => false ,
83
87
}
84
88
} else {
85
89
match csearch:: get_item_path ( self . tcx , def_id) . last ( ) {
86
- None => false ,
87
- Some ( ref last) => {
90
+ Some ( ref last) if intrinsic => {
88
91
token:: get_name ( last. name ( ) ) ==
89
92
token:: intern_and_get_ident ( "transmute" )
90
93
}
94
+ _ => false ,
91
95
}
92
96
}
93
97
}
You can’t perform that action at this time.
0 commit comments