about summary refs log tree commit diff
path: root/compiler/rustc_infer
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2025-01-18 18:47:11 +0000
committerMichael Goulet <michael@errs.io>2025-01-18 18:47:17 +0000
commit2a180a93a12e5353e77d2b8f03fb95f99fed2dc7 (patch)
tree4fe506b2a845878e0a3675949b10d022e8332f60 /compiler/rustc_infer
parent8321f00bf4a5f25cad5ec8861c5469afe6e0ce8b (diff)
downloadrust-2a180a93a12e5353e77d2b8f03fb95f99fed2dc7.tar.gz
rust-2a180a93a12e5353e77d2b8f03fb95f99fed2dc7.zip
Get rid of `ToPolyTraitRef`
Diffstat (limited to 'compiler/rustc_infer')
-rw-r--r--compiler/rustc_infer/src/traits/util.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/rustc_infer/src/traits/util.rs b/compiler/rustc_infer/src/traits/util.rs
index ab8ada1596c..66ed49fe326 100644
--- a/compiler/rustc_infer/src/traits/util.rs
+++ b/compiler/rustc_infer/src/traits/util.rs
@@ -1,5 +1,5 @@
 use rustc_data_structures::fx::FxHashSet;
-use rustc_middle::ty::{self, ToPolyTraitRef, TyCtxt};
+use rustc_middle::ty::{self, TyCtxt};
 use rustc_span::{Ident, Span};
 pub use rustc_type_ir::elaborate::*;
 
@@ -125,8 +125,8 @@ pub fn transitive_bounds_that_define_assoc_item<'tcx>(
                     .iter_identity_copied()
                     .map(|(clause, _)| clause.instantiate_supertrait(tcx, trait_ref))
                     .filter_map(|clause| clause.as_trait_clause())
-                    // FIXME: Negative supertraits are elaborated here lol
-                    .map(|trait_pred| trait_pred.to_poly_trait_ref()),
+                    .filter(|clause| clause.polarity() == ty::PredicatePolarity::Positive)
+                    .map(|clause| clause.map_bound(|clause| clause.trait_ref)),
             );
 
             return Some(trait_ref);