File tree Expand file tree Collapse file tree 1 file changed +8
-0
lines changed
compiler/rustc_trait_selection/src/traits Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -461,6 +461,14 @@ fn subst_and_check_impossible_predicates<'tcx>(
461
461
debug ! ( "subst_and_check_impossible_predicates(key={:?})" , key) ;
462
462
463
463
let mut predicates = tcx. predicates_of ( key. 0 ) . instantiate ( tcx, key. 1 ) . predicates ;
464
+
465
+ // Specifically check trait fulfillment to avoid an error when trying to resolve
466
+ // associated items.
467
+ if let Some ( trait_def_id) = tcx. trait_of_item ( key. 0 ) {
468
+ let trait_ref = ty:: TraitRef :: from_method ( tcx, trait_def_id, key. 1 ) ;
469
+ predicates. push ( ty:: Binder :: dummy ( trait_ref) . to_poly_trait_predicate ( ) . to_predicate ( tcx) ) ;
470
+ }
471
+
464
472
predicates. retain ( |predicate| !predicate. needs_subst ( ) ) ;
465
473
let result = impossible_predicates ( tcx, predicates) ;
466
474
You can’t perform that action at this time.
0 commit comments