@@ -2974,8 +2974,15 @@ where
29742974#[ inline( never) ]
29752975#[ cold]
29762976#[ track_caller]
2977- fn slice_index_len_fail ( index : usize , len : usize ) -> ! {
2978- panic ! ( "index {} out of range for slice of length {}" , index, len) ;
2977+ fn slice_start_index_len_fail ( index : usize , len : usize ) -> ! {
2978+ panic ! ( "range start index {} out of range for slice of length {}" , index, len) ;
2979+ }
2980+
2981+ #[ inline( never) ]
2982+ #[ cold]
2983+ #[ track_caller]
2984+ fn slice_end_index_len_fail ( index : usize , len : usize ) -> ! {
2985+ panic ! ( "range end index {} out of range for slice of length {}" , index, len) ;
29792986}
29802987
29812988#[ inline( never) ]
@@ -3160,7 +3167,7 @@ unsafe impl<T> SliceIndex<[T]> for ops::Range<usize> {
31603167 if self . start > self . end {
31613168 slice_index_order_fail ( self . start , self . end ) ;
31623169 } else if self . end > slice. len ( ) {
3163- slice_index_len_fail ( self . end , slice. len ( ) ) ;
3170+ slice_end_index_len_fail ( self . end , slice. len ( ) ) ;
31643171 }
31653172 unsafe { & * self . get_unchecked ( slice) }
31663173 }
@@ -3170,7 +3177,7 @@ unsafe impl<T> SliceIndex<[T]> for ops::Range<usize> {
31703177 if self . start > self . end {
31713178 slice_index_order_fail ( self . start , self . end ) ;
31723179 } else if self . end > slice. len ( ) {
3173- slice_index_len_fail ( self . end , slice. len ( ) ) ;
3180+ slice_end_index_len_fail ( self . end , slice. len ( ) ) ;
31743181 }
31753182 unsafe { & mut * self . get_unchecked_mut ( slice) }
31763183 }
@@ -3242,15 +3249,15 @@ unsafe impl<T> SliceIndex<[T]> for ops::RangeFrom<usize> {
32423249 #[ inline]
32433250 fn index ( self , slice : & [ T ] ) -> & [ T ] {
32443251 if self . start > slice. len ( ) {
3245- slice_index_len_fail ( self . start , slice. len ( ) ) ;
3252+ slice_start_index_len_fail ( self . start , slice. len ( ) ) ;
32463253 }
32473254 unsafe { & * self . get_unchecked ( slice) }
32483255 }
32493256
32503257 #[ inline]
32513258 fn index_mut ( self , slice : & mut [ T ] ) -> & mut [ T ] {
32523259 if self . start > slice. len ( ) {
3253- slice_index_len_fail ( self . start , slice. len ( ) ) ;
3260+ slice_start_index_len_fail ( self . start , slice. len ( ) ) ;
32543261 }
32553262 unsafe { & mut * self . get_unchecked_mut ( slice) }
32563263 }
0 commit comments