@@ -80,8 +80,8 @@ use crate::ty::{
8080 self , AdtDef , AdtDefData , AdtKind , Binder , Clause , Clauses , Const , GenericArg , GenericArgs ,
8181 GenericArgsRef , GenericParamDefKind , List , ListWithCachedTypeInfo , ParamConst , ParamTy ,
8282 Pattern , PatternKind , PolyExistentialPredicate , PolyFnSig , Predicate , PredicateKind ,
83- PredicatePolarity , Region , RegionKind , ReprOptions , TraitObjectVisitor , Ty , TyKind , TyVid ,
84- ValTree , ValTreeKind , Visibility ,
83+ PredicatePolarity , Region , RegionKind , ReprOptions , SigBinderRef , TraitObjectVisitor , Ty ,
84+ TyBinderRef , TyKind , TyVid , ValTree , ValTreeKind , Visibility ,
8585} ;
8686
8787#[ allow( rustc:: usage_of_ty_tykind) ]
@@ -97,6 +97,9 @@ impl<'tcx> Interner for TyCtxt<'tcx> {
9797 type Term = ty:: Term < ' tcx > ;
9898 type BoundVarKinds = & ' tcx List < ty:: BoundVariableKind > ;
9999
100+ type SigBinderRef = ty:: SigBinderRef < ' tcx > ;
101+ type TyBinderRef = ty:: TyBinderRef < ' tcx > ;
102+
100103 type BoundVarKind = ty:: BoundVariableKind ;
101104 type PredefinedOpaques = solve:: PredefinedOpaques < ' tcx > ;
102105
@@ -813,6 +816,8 @@ pub struct CtxtInterners<'tcx> {
813816 captures : InternedSet < ' tcx , List < & ' tcx ty:: CapturedPlace < ' tcx > > > ,
814817 offset_of : InternedSet < ' tcx , List < ( VariantIdx , FieldIdx ) > > ,
815818 valtree : InternedSet < ' tcx , ty:: ValTreeKind < ' tcx > > ,
819+ ty_binder : InternedSet < ' tcx , ty:: Binder < ' tcx , Ty < ' tcx > > > ,
820+ sig_binder : InternedSet < ' tcx , ty:: Binder < ' tcx , ty:: FnSigTys < ' tcx > > > ,
816821}
817822
818823impl < ' tcx > CtxtInterners < ' tcx > {
@@ -849,6 +854,8 @@ impl<'tcx> CtxtInterners<'tcx> {
849854 captures : InternedSet :: with_capacity ( N ) ,
850855 offset_of : InternedSet :: with_capacity ( N ) ,
851856 valtree : InternedSet :: with_capacity ( N ) ,
857+ ty_binder : InternedSet :: with_capacity ( N ) ,
858+ sig_binder : InternedSet :: with_capacity ( N ) ,
852859 }
853860 }
854861
@@ -2331,6 +2338,8 @@ nop_lift! { predicate; Predicate<'a> => Predicate<'tcx> }
23312338nop_lift ! { predicate; Clause <' a> => Clause <' tcx> }
23322339nop_lift ! { layout; Layout <' a> => Layout <' tcx> }
23332340nop_lift ! { valtree; ValTree <' a> => ValTree <' tcx> }
2341+ nop_lift ! { ty_binder; TyBinderRef <' a> => TyBinderRef <' tcx> }
2342+ nop_lift ! { sig_binder; SigBinderRef <' a> => SigBinderRef <' tcx> }
23342343
23352344nop_list_lift ! { type_lists; Ty <' a> => Ty <' tcx> }
23362345nop_list_lift ! {
@@ -2595,6 +2604,8 @@ direct_interners! {
25952604 ExternalConstraints -> ExternalConstraints <' tcx>,
25962605 predefined_opaques_in_body: pub mk_predefined_opaques_in_body( PredefinedOpaquesData <TyCtxt <' tcx>>) :
25972606 PredefinedOpaques -> PredefinedOpaques <' tcx>,
2607+ ty_binder: pub mk_ty_binder( ty:: Binder <' tcx, Ty <' tcx>>) : TyBinderRef -> TyBinderRef <' tcx>,
2608+ sig_binder: pub mk_sig_binder( ty:: Binder <' tcx, ty:: FnSigTys <' tcx>>) : SigBinderRef -> SigBinderRef <' tcx>,
25982609}
25992610
26002611macro_rules! slice_interners {
0 commit comments