1
Fork 0

add CoroutineWitness to covered types

This commit is contained in:
Oğuz Ağcayazı 2023-11-10 17:02:08 +03:00
parent 3d0e99d632
commit 6812f64c35
4 changed files with 14 additions and 1 deletions

View file

@ -156,6 +156,7 @@ pub enum RigidTy {
Dynamic(Vec<Binder<ExistentialPredicate>>, Region, DynKind),
Never,
Tuple(Vec<Ty>),
CoroutineWitness(CoroutineWitnessDef, GenericArgs),
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
@ -235,6 +236,9 @@ pub struct ImplDef(pub DefId);
#[derive(Clone, PartialEq, Eq, Debug)]
pub struct RegionDef(pub DefId);
#[derive(Clone, PartialEq, Eq, Debug)]
pub struct CoroutineWitnessDef(pub DefId);
/// A list of generic arguments.
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct GenericArgs(pub Vec<GenericArgKind>);

View file

@ -149,6 +149,7 @@ impl Visitable for RigidTy {
RigidTy::FnPtr(sig) => sig.visit(visitor),
RigidTy::Closure(_, args) => args.visit(visitor),
RigidTy::Coroutine(_, args, _) => args.visit(visitor),
RigidTy::CoroutineWitness(_, args) => args.visit(visitor),
RigidTy::Dynamic(pred, r, _) => {
pred.visit(visitor)?;
r.visit(visitor)