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> {
570
570
// the specialized routine
571
571
// `middle::typeck::check::regionmanip::replace_late_regions_in_fn_sig()`.
572
572
match r {
573
- ty:: ReEarlyBound ( _, space, i, _ ) => {
573
+ ty:: ReEarlyBound ( _, space, i, region_name ) => {
574
574
match self . substs . regions {
575
575
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
+ }
577
589
}
578
590
}
579
591
_ => r
You can’t perform that action at this time.
0 commit comments