@@ -185,19 +185,19 @@ impl<'a, 'tcx> LanguageItemCollector<'a, 'tcx> {
185
185
match self . items. items[ item_index] {
186
186
Some ( original_def_id) if original_def_id != item_def_id => {
187
187
let cstore = & self . session. cstore;
188
- let span = self . ast_map. span_if_local( original_def_id ) . unwrap_or( span) ;
188
+ let span = self . ast_map. span_if_local( item_def_id ) . unwrap_or( span) ;
189
189
let mut err = struct_span_err!( self . session,
190
190
span,
191
191
E0152 ,
192
192
"Duplicate lang item found: `{}`." ,
193
193
LanguageItems :: item_name( item_index) ) ;
194
- if let Some ( span) = self . ast_map. span_if_local( item_def_id ) {
194
+ if let Some ( span) = self . ast_map. span_if_local( original_def_id ) {
195
195
span_note!( & mut err, span,
196
196
"First defined here." ) ;
197
197
} else {
198
198
span_note!( & mut err, span,
199
199
"First defined in crate `{}`." ,
200
- cstore. crate_name( item_def_id . krate) ) ;
200
+ cstore. crate_name( original_def_id . krate) ) ;
201
201
}
202
202
err. emit( ) ;
203
203
}
@@ -225,8 +225,8 @@ impl<'a, 'tcx> LanguageItemCollector<'a, 'tcx> {
225
225
}
226
226
227
227
pub fn collect( & mut self , krate: & hir:: Crate ) {
228
- self . collect_local_language_items( krate) ;
229
228
self . collect_external_language_items( krate) ;
229
+ self . collect_local_language_items( krate) ;
230
230
}
231
231
}
232
232
0 commit comments