make reg public and add visit, fold

This commit is contained in:
ouz-a
2023-09-21 12:18:10 +03:00
parent 5dc2214884
commit d83559939c
3 changed files with 22 additions and 3 deletions

View File

@@ -4,7 +4,7 @@ use crate::Opaque;
use super::ty::{
Allocation, Binder, Const, ConstDef, ConstantKind, ExistentialPredicate, FnSig, GenericArgKind,
GenericArgs, Promoted, RigidTy, TermKind, Ty, TyKind, UnevaluatedConst,
GenericArgs, Promoted, Region, RigidTy, TermKind, Ty, TyKind, UnevaluatedConst,
};
pub trait Folder: Sized {
@@ -106,6 +106,12 @@ impl Foldable for GenericArgs {
}
}
impl Foldable for Region {
fn super_fold<V: Folder>(&self, _folder: &mut V) -> ControlFlow<V::Break, Self> {
ControlFlow::Continue(self.clone())
}
}
impl Foldable for GenericArgKind {
fn super_fold<V: Folder>(&self, folder: &mut V) -> ControlFlow<V::Break, Self> {
let mut this = self.clone();