File tree Expand file tree Collapse file tree 1 file changed +14
-2
lines changed
Expand file tree Collapse file tree 1 file changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -570,10 +570,22 @@ impl<'a> TypeFolder for SubstFolder<'a> {
570570 // the specialized routine
571571 // `middle::typeck::check::regionmanip::replace_late_regions_in_fn_sig()`.
572572 match r {
573- ty:: ReEarlyBound ( _, space, i, _ ) => {
573+ ty:: ReEarlyBound ( _, space, i, region_name ) => {
574574 match self . substs . regions {
575575 ErasedRegions => ty:: ReStatic ,
576- NonerasedRegions ( ref regions) => * regions. get ( space, i) ,
576+ NonerasedRegions ( ref regions) =>
577+ match regions. opt_get ( space, i) {
578+ Some ( t) => * t,
579+ None => {
580+ let span = self . span . unwrap_or ( DUMMY_SP ) ;
581+ self . tcx ( ) . sess . span_bug (
582+ span,
583+ format ! ( "Type parameter out of range \
584+ when substituting in region {} (root type={})",
585+ region_name. as_str( ) ,
586+ self . root_ty. repr( self . tcx( ) ) ) . as_slice ( ) ) ;
587+ }
588+ }
577589 }
578590 }
579591 _ => r
You can’t perform that action at this time.
0 commit comments