@@ -662,10 +662,10 @@ impl<T, const N: usize> [T; N] {
662662 issue = "90091"
663663 ) ]
664664 #[ inline]
665- pub fn split_array_ref < const M : usize > ( & self ) -> ( & [ T ; M ] , & [ T ] ) {
665+ pub const fn split_array_ref < const M : usize > ( & self ) -> ( & [ T ; M ] , & [ T ] ) {
666666 // FIXME: remove once constraint is encoded in return type
667667 const { assert ! ( M <= N ) }
668- ( & self [ .. ] ) . split_array_ref :: < M > ( ) . unwrap ( )
668+ self . as_slice ( ) . split_array_ref :: < M > ( ) . unwrap ( )
669669 }
670670
671671 /// Divides one mutable array reference into two at an index.
@@ -693,10 +693,10 @@ impl<T, const N: usize> [T; N] {
693693 issue = "90091"
694694 ) ]
695695 #[ inline]
696- pub fn split_array_mut < const M : usize > ( & mut self ) -> ( & mut [ T ; M ] , & mut [ T ] ) {
696+ pub const fn split_array_mut < const M : usize > ( & mut self ) -> ( & mut [ T ; M ] , & mut [ T ] ) {
697697 // FIXME: remove once constraint is encoded in return type
698698 const { assert ! ( M <= N ) }
699- ( & mut self [ .. ] ) . split_array_mut :: < M > ( ) . unwrap ( )
699+ ( self as & mut [ T ] ) . split_array_mut :: < M > ( ) . unwrap ( )
700700 }
701701
702702 /// Divides one array reference into two at an index from the end.
@@ -736,10 +736,10 @@ impl<T, const N: usize> [T; N] {
736736 issue = "90091"
737737 ) ]
738738 #[ inline]
739- pub fn rsplit_array_ref < const M : usize > ( & self ) -> ( & [ T ] , & [ T ; M ] ) {
739+ pub const fn rsplit_array_ref < const M : usize > ( & self ) -> ( & [ T ] , & [ T ; M ] ) {
740740 // FIXME: remove once constraint is encoded in return type
741741 const { assert ! ( M <= N ) }
742- ( & self [ .. ] ) . rsplit_array_ref :: < M > ( ) . unwrap ( )
742+ self . as_slice ( ) . rsplit_array_ref :: < M > ( ) . unwrap ( )
743743 }
744744
745745 /// Divides one mutable array reference into two at an index from the end.
@@ -767,10 +767,10 @@ impl<T, const N: usize> [T; N] {
767767 issue = "90091"
768768 ) ]
769769 #[ inline]
770- pub fn rsplit_array_mut < const M : usize > ( & mut self ) -> ( & mut [ T ] , & mut [ T ; M ] ) {
770+ pub const fn rsplit_array_mut < const M : usize > ( & mut self ) -> ( & mut [ T ] , & mut [ T ; M ] ) {
771771 // FIXME: remove once constraint is encoded in return type
772772 const { assert ! ( M <= N ) }
773- ( & mut self [ .. ] ) . rsplit_array_mut :: < M > ( ) . unwrap ( )
773+ ( self as & mut [ T ] ) . rsplit_array_mut :: < M > ( ) . unwrap ( )
774774 }
775775}
776776
0 commit comments