about summary refs log tree commit diff
path: root/library/core/src/array
diff options
context:
space:
mode:
authorMaybe Waffle <waffle.lapkin@gmail.com>2021-10-22 11:15:56 +0300
committerMaybe Waffle <waffle.lapkin@gmail.com>2021-10-22 14:53:30 +0300
commita288bf6afbf7f98fd357b971b23ef09a66aaa8c0 (patch)
tree47bb39bd8e57857860bb5b0408f19ecf5fc6c82e /library/core/src/array
parent1d6f24210c4a8f46f9781a56f819a383e590cccf (diff)
downloadrust-a288bf6afbf7f98fd357b971b23ef09a66aaa8c0.tar.gz
rust-a288bf6afbf7f98fd357b971b23ef09a66aaa8c0.zip
Mark {array,slice}::{from_ref,from_mut} as const fn
Diffstat (limited to 'library/core/src/array')
-rw-r--r--library/core/src/array/mod.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/library/core/src/array/mod.rs b/library/core/src/array/mod.rs
index 8d5c0510404..752e3fceb35 100644
--- a/library/core/src/array/mod.rs
+++ b/library/core/src/array/mod.rs
@@ -85,14 +85,16 @@ where
 
 /// Converts a reference to `T` into a reference to an array of length 1 (without copying).
 #[stable(feature = "array_from_ref", since = "1.53.0")]
-pub fn from_ref<T>(s: &T) -> &[T; 1] {
+#[rustc_const_unstable(feature = "const_array_from_ref", issue = "none")]
+pub const fn from_ref<T>(s: &T) -> &[T; 1] {
     // SAFETY: Converting `&T` to `&[T; 1]` is sound.
     unsafe { &*(s as *const T).cast::<[T; 1]>() }
 }
 
 /// Converts a mutable reference to `T` into a mutable reference to an array of length 1 (without copying).
 #[stable(feature = "array_from_ref", since = "1.53.0")]
-pub fn from_mut<T>(s: &mut T) -> &mut [T; 1] {
+#[rustc_const_unstable(feature = "const_array_from_ref", issue = "none")]
+pub const fn from_mut<T>(s: &mut T) -> &mut [T; 1] {
     // SAFETY: Converting `&mut T` to `&mut [T; 1]` is sound.
     unsafe { &mut *(s as *mut T).cast::<[T; 1]>() }
 }