@@ -9,8 +9,10 @@ use rustc_hir::def_id::{DefId, LocalDefId};
9
9
use rustc_hir:: lang_items:: LangItem ;
10
10
use rustc_hir:: { ExprKind , Node , QPath } ;
11
11
use rustc_infer:: infer:: type_variable:: { TypeVariableOrigin , TypeVariableOriginKind } ;
12
+ use rustc_middle:: traits:: util:: supertraits;
12
13
use rustc_middle:: ty:: fast_reject:: { simplify_type, SimplifyParams } ;
13
14
use rustc_middle:: ty:: print:: with_crate_prefix;
15
+ use rustc_middle:: ty:: ToPolyTraitRef ;
14
16
use rustc_middle:: ty:: { self , DefIdTree , ToPredicate , Ty , TyCtxt , TypeFoldable } ;
15
17
use rustc_span:: lev_distance;
16
18
use rustc_span:: symbol:: { kw, sym, Ident } ;
@@ -1212,12 +1214,9 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1212
1214
if can_derive {
1213
1215
let self_name = trait_pred. self_ty ( ) . to_string ( ) ;
1214
1216
let self_span = self . tcx . def_span ( adt. did ) ;
1215
- use crate :: rustc_middle:: ty:: ToPolyTraitRef ;
1216
1217
if let Some ( poly_trait_ref) = pred. to_opt_poly_trait_pred ( ) {
1217
- for super_trait in rustc_middle:: traits:: util:: supertraits (
1218
- self . tcx ,
1219
- poly_trait_ref. to_poly_trait_ref ( ) ,
1220
- ) {
1218
+ for super_trait in supertraits ( self . tcx , poly_trait_ref. to_poly_trait_ref ( ) )
1219
+ {
1221
1220
if let Some ( parent_diagnostic_name) =
1222
1221
self . tcx . get_diagnostic_name ( super_trait. def_id ( ) )
1223
1222
{
0 commit comments