@@ -10,7 +10,7 @@ use crate::traits::{ObligationCause, ObligationCauseCode};
10
10
use rustc_data_structures:: intern:: Interned ;
11
11
use rustc_errors:: { Diag , IntoDiagArg } ;
12
12
use rustc_hir:: def:: Namespace ;
13
- use rustc_hir:: def_id:: { DefId , CRATE_DEF_ID } ;
13
+ use rustc_hir:: def_id:: DefId ;
14
14
use rustc_middle:: bug;
15
15
use rustc_middle:: ty:: error:: ExpectedFound ;
16
16
use rustc_middle:: ty:: print:: { FmtPrinter , Print , PrintTraitRefExt as _, RegionHighlightMode } ;
@@ -240,21 +240,17 @@ impl<'tcx> NiceRegionError<'_, 'tcx> {
240
240
) -> Diag < ' tcx > {
241
241
let span = cause. span ( ) ;
242
242
243
- let ( leading_ellipsis, satisfy_span, where_span, dup_span, def_id) =
244
- if let ObligationCauseCode :: WhereClause ( def_id, span)
245
- | ObligationCauseCode :: WhereClauseInExpr ( def_id, span, ..) = * cause. code ( )
246
- && def_id != CRATE_DEF_ID . to_def_id ( )
247
- {
248
- (
249
- true ,
250
- Some ( span) ,
251
- Some ( self . tcx ( ) . def_span ( def_id) ) ,
252
- None ,
253
- self . tcx ( ) . def_path_str ( def_id) ,
254
- )
255
- } else {
256
- ( false , None , None , Some ( span) , String :: new ( ) )
257
- } ;
243
+ let ( leading_ellipsis, satisfy_span, where_span, dup_span, def_id) = match * cause. code ( ) {
244
+ ObligationCauseCode :: WhereClause ( def_id, pred_span)
245
+ | ObligationCauseCode :: WhereClauseInExpr ( def_id, pred_span, ..) => (
246
+ true ,
247
+ Some ( span) ,
248
+ if pred_span. is_dummy ( ) { Some ( span) } else { Some ( pred_span) } ,
249
+ None ,
250
+ self . tcx ( ) . def_path_str ( def_id) ,
251
+ ) ,
252
+ _ => ( false , None , None , Some ( span) , String :: new ( ) ) ,
253
+ } ;
258
254
259
255
let expected_trait_ref = self . cx . resolve_vars_if_possible ( ty:: TraitRef :: new_from_args (
260
256
self . cx . tcx ,
0 commit comments