@@ -995,7 +995,7 @@ impl<T> [T] {
995
995
#[ unstable( feature = "slice_as_chunks" , issue = "74985" ) ]
996
996
#[ inline]
997
997
#[ must_use]
998
- pub unsafe fn as_chunks_unchecked < const N : usize > ( & self ) -> & [ [ T ; N ] ] {
998
+ pub const unsafe fn as_chunks_unchecked < const N : usize > ( & self ) -> & [ [ T ; N ] ] {
999
999
let this = self ;
1000
1000
// SAFETY: Caller must guarantee that `N` is nonzero and exactly divides the slice length
1001
1001
let new_len = unsafe {
@@ -1043,7 +1043,7 @@ impl<T> [T] {
1043
1043
#[ inline]
1044
1044
#[ track_caller]
1045
1045
#[ must_use]
1046
- pub fn as_chunks < const N : usize > ( & self ) -> ( & [ [ T ; N ] ] , & [ T ] ) {
1046
+ pub const fn as_chunks < const N : usize > ( & self ) -> ( & [ [ T ; N ] ] , & [ T ] ) {
1047
1047
assert ! ( N != 0 , "chunk size must be non-zero" ) ;
1048
1048
let len = self . len ( ) / N ;
1049
1049
let ( multiple_of_n, remainder) = self . split_at ( len * N ) ;
@@ -1075,7 +1075,7 @@ impl<T> [T] {
1075
1075
#[ inline]
1076
1076
#[ track_caller]
1077
1077
#[ must_use]
1078
- pub fn as_rchunks < const N : usize > ( & self ) -> ( & [ T ] , & [ [ T ; N ] ] ) {
1078
+ pub const fn as_rchunks < const N : usize > ( & self ) -> ( & [ T ] , & [ [ T ; N ] ] ) {
1079
1079
assert ! ( N != 0 , "chunk size must be non-zero" ) ;
1080
1080
let len = self . len ( ) / N ;
1081
1081
let ( remainder, multiple_of_n) = self . split_at ( self . len ( ) - len * N ) ;
@@ -1152,7 +1152,7 @@ impl<T> [T] {
1152
1152
#[ unstable( feature = "slice_as_chunks" , issue = "74985" ) ]
1153
1153
#[ inline]
1154
1154
#[ must_use]
1155
- pub unsafe fn as_chunks_unchecked_mut < const N : usize > ( & mut self ) -> & mut [ [ T ; N ] ] {
1155
+ pub const unsafe fn as_chunks_unchecked_mut < const N : usize > ( & mut self ) -> & mut [ [ T ; N ] ] {
1156
1156
let this = & * self ;
1157
1157
// SAFETY: Caller must guarantee that `N` is nonzero and exactly divides the slice length
1158
1158
let new_len = unsafe {
@@ -1195,7 +1195,7 @@ impl<T> [T] {
1195
1195
#[ inline]
1196
1196
#[ track_caller]
1197
1197
#[ must_use]
1198
- pub fn as_chunks_mut < const N : usize > ( & mut self ) -> ( & mut [ [ T ; N ] ] , & mut [ T ] ) {
1198
+ pub const fn as_chunks_mut < const N : usize > ( & mut self ) -> ( & mut [ [ T ; N ] ] , & mut [ T ] ) {
1199
1199
assert ! ( N != 0 , "chunk size must be non-zero" ) ;
1200
1200
let len = self . len ( ) / N ;
1201
1201
let ( multiple_of_n, remainder) = self . split_at_mut ( len * N ) ;
@@ -1233,7 +1233,7 @@ impl<T> [T] {
1233
1233
#[ inline]
1234
1234
#[ track_caller]
1235
1235
#[ must_use]
1236
- pub fn as_rchunks_mut < const N : usize > ( & mut self ) -> ( & mut [ T ] , & mut [ [ T ; N ] ] ) {
1236
+ pub const fn as_rchunks_mut < const N : usize > ( & mut self ) -> ( & mut [ T ] , & mut [ [ T ; N ] ] ) {
1237
1237
assert ! ( N != 0 , "chunk size must be non-zero" ) ;
1238
1238
let len = self . len ( ) / N ;
1239
1239
let ( remainder, multiple_of_n) = self . split_at_mut ( self . len ( ) - len * N ) ;
0 commit comments