]> git.proxmox.com Git - rustc.git/blobdiff - vendor/chalk-ir/src/visit/visitors.rs
Merge tag 'debian/1.52.1+dfsg1-1_exp2' into proxmox/buster
[rustc.git] / vendor / chalk-ir / src / visit / visitors.rs
diff --git a/vendor/chalk-ir/src/visit/visitors.rs b/vendor/chalk-ir/src/visit/visitors.rs
deleted file mode 100644 (file)
index a34514f..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//! Visitor helpers
-
-use crate::{BoundVar, ControlFlow, DebruijnIndex, Interner, Visit, Visitor};
-
-/// Visitor extensions.
-pub trait VisitExt<I: Interner>: Visit<I> {
-    /// Check whether there are free (non-bound) variables.
-    fn has_free_vars(&self, interner: &I) -> bool {
-        self.visit_with(
-            &mut FindFreeVarsVisitor { interner },
-            DebruijnIndex::INNERMOST,
-        )
-        .is_break()
-    }
-}
-
-impl<T, I: Interner> VisitExt<I> for T where T: Visit<I> {}
-
-struct FindFreeVarsVisitor<'i, I: Interner> {
-    interner: &'i I,
-}
-
-impl<'i, I: Interner> Visitor<'i, I> for FindFreeVarsVisitor<'i, I> {
-    type BreakTy = ();
-
-    fn as_dyn(&mut self) -> &mut dyn Visitor<'i, I, BreakTy = Self::BreakTy> {
-        self
-    }
-
-    fn interner(&self) -> &'i I {
-        self.interner
-    }
-
-    fn visit_free_var(
-        &mut self,
-        _bound_var: BoundVar,
-        _outer_binder: DebruijnIndex,
-    ) -> ControlFlow<()> {
-        ControlFlow::BREAK
-    }
-}