@@ -606,20 +606,19 @@ pub struct TypeParameterDef<'tcx> {
606606 pub pure_wrt_drop : bool ,
607607}
608608
609- #[ derive( Clone , RustcEncodable , RustcDecodable ) ]
610- pub struct RegionParameterDef < ' tcx > {
609+ #[ derive( Copy , Clone , RustcEncodable , RustcDecodable ) ]
610+ pub struct RegionParameterDef {
611611 pub name : Name ,
612612 pub def_id : DefId ,
613613 pub index : u32 ,
614- pub bounds : Vec < & ' tcx ty:: Region > ,
615614
616615 /// `pure_wrt_drop`, set by the (unsafe) `#[may_dangle]` attribute
617616 /// on generic parameter `'a`, asserts data of lifetime `'a`
618617 /// won't be accessed during the parent type's `Drop` impl.
619618 pub pure_wrt_drop : bool ,
620619}
621620
622- impl < ' tcx > RegionParameterDef < ' tcx > {
621+ impl RegionParameterDef {
623622 pub fn to_early_bound_region_data ( & self ) -> ty:: EarlyBoundRegion {
624623 ty:: EarlyBoundRegion {
625624 index : self . index ,
@@ -640,7 +639,7 @@ pub struct Generics<'tcx> {
640639 pub parent : Option < DefId > ,
641640 pub parent_regions : u32 ,
642641 pub parent_types : u32 ,
643- pub regions : Vec < RegionParameterDef < ' tcx > > ,
642+ pub regions : Vec < RegionParameterDef > ,
644643 pub types : Vec < TypeParameterDef < ' tcx > > ,
645644 pub has_self : bool ,
646645}
@@ -658,7 +657,7 @@ impl<'tcx> Generics<'tcx> {
658657 self . parent_count ( ) + self . own_count ( )
659658 }
660659
661- pub fn region_param ( & self , param : & EarlyBoundRegion ) -> & RegionParameterDef < ' tcx > {
660+ pub fn region_param ( & self , param : & EarlyBoundRegion ) -> & RegionParameterDef {
662661 & self . regions [ param. index as usize - self . has_self as usize ]
663662 }
664663
0 commit comments