diff options
| author | Trevor Gross <tmgross@umich.edu> | 2024-10-01 17:11:48 -0400 |
|---|---|---|
| committer | Trevor Gross <tmgross@umich.edu> | 2024-10-12 17:07:13 -0400 |
| commit | 19f6c17df486c5f70c1000ecada39c62b9c93550 (patch) | |
| tree | 326ea966597781d18a42c85e1851eed464cba193 /library/core/src/array | |
| parent | 6b9676b45431a1e531b9c5f7bd289fc36a312749 (diff) | |
| download | rust-19f6c17df486c5f70c1000ecada39c62b9c93550.tar.gz rust-19f6c17df486c5f70c1000ecada39c62b9c93550.zip | |
Stabilize `const_option`
This makes the following API stable in const contexts:
impl<T> Option<T> {
pub const fn as_mut(&mut self) -> Option<&mut T>;
pub const fn expect(self, msg: &str) -> T;
pub const fn unwrap(self) -> T;
pub const unsafe fn unwrap_unchecked(self) -> T;
pub const fn take(&mut self) -> Option<T>;
pub const fn replace(&mut self, value: T) -> Option<T>;
}
impl<T> Option<&T> {
pub const fn copied(self) -> Option<T>
where T: Copy;
}
impl<T> Option<&mut T> {
pub const fn copied(self) -> Option<T>
where T: Copy;
}
impl<T, E> Option<Result<T, E>> {
pub const fn transpose(self) -> Result<Option<T>, E>
}
impl<T> Option<Option<T>> {
pub const fn flatten(self) -> Option<T>;
}
The following functions make use of the unstable
`const_precise_live_drops` feature:
- `expect`
- `unwrap`
- `unwrap_unchecked`
- `transpose`
- `flatten`
Fixes: <https://github.com/rust-lang/rust/issues/67441>
Diffstat (limited to 'library/core/src/array')
| -rw-r--r-- | library/core/src/array/ascii.rs | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/library/core/src/array/ascii.rs b/library/core/src/array/ascii.rs index 05797b042ee..e2faef855bc 100644 --- a/library/core/src/array/ascii.rs +++ b/library/core/src/array/ascii.rs @@ -9,7 +9,6 @@ impl<const N: usize> [u8; N] { /// /// ``` /// #![feature(ascii_char)] - /// #![feature(const_option)] /// /// const HEX_DIGITS: [std::ascii::Char; 16] = /// *b"0123456789abcdef".as_ascii().unwrap(); |
