diff options
| author | Maybe Waffle <waffle.lapkin@gmail.com> | 2021-10-22 11:15:56 +0300 |
|---|---|---|
| committer | Maybe Waffle <waffle.lapkin@gmail.com> | 2021-10-22 14:53:30 +0300 |
| commit | a288bf6afbf7f98fd357b971b23ef09a66aaa8c0 (patch) | |
| tree | 47bb39bd8e57857860bb5b0408f19ecf5fc6c82e /library/core/src/array | |
| parent | 1d6f24210c4a8f46f9781a56f819a383e590cccf (diff) | |
| download | rust-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.rs | 6 |
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]>() } } |
