@@ -242,7 +242,6 @@ impl Buffer {
242242 /// - If `bounds` has a length less than 1.
243243 pub fn slice < S : RangeBounds < BufferAddress > > ( & self , bounds : S ) -> BufferSlice < ' _ > {
244244 let ( offset, size) = range_to_offset_size ( bounds) ;
245- check_buffer_bounds ( self . size , offset, size) ;
246245 BufferSlice {
247246 buffer : self ,
248247 offset,
@@ -865,31 +864,6 @@ impl Drop for BufferViewMut<'_> {
865864 }
866865}
867866
868- fn check_buffer_bounds (
869- buffer_size : BufferAddress ,
870- offset : BufferAddress ,
871- size : Option < BufferSize > ,
872- ) {
873- // A slice of length 0 is invalid, so the offset must not be equal to or greater than the buffer size.
874- if offset >= buffer_size {
875- panic ! (
876- "slice offset {} is out of range for buffer of size {}" ,
877- offset, buffer_size
878- ) ;
879- }
880-
881- if let Some ( size) = size {
882- // Detect integer overflow.
883- let end = offset. checked_add ( size. get ( ) ) ;
884- if end. is_none_or ( |end| end > buffer_size) {
885- panic ! (
886- "slice offset {} size {} is out of range for buffer of size {}" ,
887- offset, size, buffer_size
888- ) ;
889- }
890- }
891- }
892-
893867fn range_to_offset_size < S : RangeBounds < BufferAddress > > (
894868 bounds : S ,
895869) -> ( BufferAddress , Option < BufferSize > ) {
@@ -910,7 +884,7 @@ fn range_to_offset_size<S: RangeBounds<BufferAddress>>(
910884
911885#[ cfg( test) ]
912886mod tests {
913- use super :: { check_buffer_bounds , range_to_offset_size, BufferSize } ;
887+ use super :: { range_to_offset_size, BufferSize } ;
914888
915889 #[ test]
916890 fn range_to_offset_size_works ( ) {
@@ -933,31 +907,4 @@ mod tests {
933907 fn range_to_offset_size_panics_for_unbounded_empty_range ( ) {
934908 range_to_offset_size ( ..0 ) ;
935909 }
936-
937- #[ test]
938- #[ should_panic]
939- fn check_buffer_bounds_panics_for_offset_at_size ( ) {
940- check_buffer_bounds ( 100 , 100 , None ) ;
941- }
942-
943- #[ test]
944- fn check_buffer_bounds_works_for_end_in_range ( ) {
945- check_buffer_bounds ( 200 , 100 , BufferSize :: new ( 50 ) ) ;
946- check_buffer_bounds ( 200 , 100 , BufferSize :: new ( 100 ) ) ;
947- check_buffer_bounds ( u64:: MAX , u64:: MAX - 100 , BufferSize :: new ( 100 ) ) ;
948- check_buffer_bounds ( u64:: MAX , 0 , BufferSize :: new ( u64:: MAX ) ) ;
949- check_buffer_bounds ( u64:: MAX , 1 , BufferSize :: new ( u64:: MAX - 1 ) ) ;
950- }
951-
952- #[ test]
953- #[ should_panic]
954- fn check_buffer_bounds_panics_for_end_over_size ( ) {
955- check_buffer_bounds ( 200 , 100 , BufferSize :: new ( 101 ) ) ;
956- }
957-
958- #[ test]
959- #[ should_panic]
960- fn check_buffer_bounds_panics_for_end_wraparound ( ) {
961- check_buffer_bounds ( u64:: MAX , 1 , BufferSize :: new ( u64:: MAX ) ) ;
962- }
963910}
0 commit comments