about summary refs log tree commit diff
path: root/compiler/rustc_infer
diff options
context:
space:
mode:
authorSantiago Pastorino <spastorino@gmail.com>2021-10-20 14:12:11 -0300
committerSantiago Pastorino <spastorino@gmail.com>2021-10-20 14:45:10 -0300
commit68d444ffa19fa5feda8550a4a8d4dfb2f1da04b6 (patch)
tree041843dd4be173f0e9a484a805ebe01150810dce /compiler/rustc_infer
parent7568632513c4f9e4324e0d7cf97df791c0df4333 (diff)
downloadrust-68d444ffa19fa5feda8550a4a8d4dfb2f1da04b6.tar.gz
rust-68d444ffa19fa5feda8550a4a8d4dfb2f1da04b6.zip
Add TraitObligation::polarity() for better encapsulation
Diffstat (limited to 'compiler/rustc_infer')
-rw-r--r--compiler/rustc_infer/src/traits/mod.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/rustc_infer/src/traits/mod.rs b/compiler/rustc_infer/src/traits/mod.rs
index 8b99db06891..033d634cdb7 100644
--- a/compiler/rustc_infer/src/traits/mod.rs
+++ b/compiler/rustc_infer/src/traits/mod.rs
@@ -140,6 +140,10 @@ impl<'tcx> FulfillmentError<'tcx> {
 }
 
 impl<'tcx> TraitObligation<'tcx> {
+    pub fn polarity(&self) -> ty::ImplPolarity {
+        self.predicate.skip_binder().polarity
+    }
+
     pub fn self_ty(&self) -> ty::Binder<'tcx, Ty<'tcx>> {
         self.predicate.map_bound(|p| p.self_ty())
     }