]>
git.proxmox.com Git - rustc.git/blob - vendor/chalk-ir/src/visit/binder_impls.rs
1 //! This module contains impls of `TypeVisitable` for those types that
4 //! The more interesting impls of `TypeVisitable` remain in the `visit` module.
6 use crate::interner
::HasInterner
;
8 Binders
, Canonical
, ControlFlow
, DebruijnIndex
, FnPointer
, Interner
, TypeVisitable
, TypeVisitor
,
11 impl<I
: Interner
> TypeVisitable
<I
> for FnPointer
<I
> {
14 visitor
: &mut dyn TypeVisitor
<I
, BreakTy
= B
>,
15 outer_binder
: DebruijnIndex
,
18 .visit_with(visitor
, outer_binder
.shifted_in())
22 impl<T
, I
: Interner
> TypeVisitable
<I
> for Binders
<T
>
24 T
: HasInterner
+ TypeVisitable
<I
>,
28 visitor
: &mut dyn TypeVisitor
<I
, BreakTy
= B
>,
29 outer_binder
: DebruijnIndex
,
31 self.value
.visit_with(visitor
, outer_binder
.shifted_in())
35 impl<I
, T
> TypeVisitable
<I
> for Canonical
<T
>
38 T
: HasInterner
<Interner
= I
> + TypeVisitable
<I
>,
42 visitor
: &mut dyn TypeVisitor
<I
, BreakTy
= B
>,
43 outer_binder
: DebruijnIndex
,
45 self.value
.visit_with(visitor
, outer_binder
.shifted_in())