diff options
| author | Chris Denton <christophersdenton@gmail.com> | 2022-06-28 11:37:48 +0100 |
|---|---|---|
| committer | Chris Denton <christophersdenton@gmail.com> | 2022-06-28 11:37:48 +0100 |
| commit | 2ee92419dd17606d6b50f44b413dcf7ef49ac116 (patch) | |
| tree | 8f25db7966c71e25c63f7b15913fe5cb20d6ba6c | |
| parent | 64eb9ab869bc3f9ef3645302fbf22e706eea16cf (diff) | |
| download | rust-2ee92419dd17606d6b50f44b413dcf7ef49ac116.tar.gz rust-2ee92419dd17606d6b50f44b413dcf7ef49ac116.zip | |
Remove feature `const_option` from std
| -rw-r--r-- | library/std/src/lib.rs | 1 | ||||
| -rw-r--r-- | library/std/src/sys/windows/args.rs | 16 |
2 files changed, 12 insertions, 5 deletions
diff --git a/library/std/src/lib.rs b/library/std/src/lib.rs index 7da9f248c87..65b8df42996 100644 --- a/library/std/src/lib.rs +++ b/library/std/src/lib.rs @@ -335,7 +335,6 @@ #![feature(const_ip)] #![feature(const_ipv4)] #![feature(const_ipv6)] -#![feature(const_option)] #![feature(const_socketaddr)] #![feature(thread_local_internals)] // diff --git a/library/std/src/sys/windows/args.rs b/library/std/src/sys/windows/args.rs index c5918103fec..361cf0590a1 100644 --- a/library/std/src/sys/windows/args.rs +++ b/library/std/src/sys/windows/args.rs @@ -21,6 +21,14 @@ use crate::vec; use core::iter; +/// This is the const equivalent to `NonZeroU16::new(n).unwrap()` +const fn non_zero_u16(n: u16) -> NonZeroU16 { + match NonZeroU16::new(n) { + Some(n) => n, + None => panic!("called `unwrap` on a `None` value"), + } +} + pub fn args() -> Args { // SAFETY: `GetCommandLineW` returns a pointer to a null terminated UTF-16 // string so it's safe for `WStrUnits` to use. @@ -58,10 +66,10 @@ fn parse_lp_cmd_line<'a, F: Fn() -> OsString>( lp_cmd_line: Option<WStrUnits<'a>>, exe_name: F, ) -> Vec<OsString> { - const BACKSLASH: NonZeroU16 = NonZeroU16::new(b'\\' as u16).unwrap(); - const QUOTE: NonZeroU16 = NonZeroU16::new(b'"' as u16).unwrap(); - const TAB: NonZeroU16 = NonZeroU16::new(b'\t' as u16).unwrap(); - const SPACE: NonZeroU16 = NonZeroU16::new(b' ' as u16).unwrap(); + const BACKSLASH: NonZeroU16 = non_zero_u16(b'\\' as u16); + const QUOTE: NonZeroU16 = non_zero_u16(b'"' as u16); + const TAB: NonZeroU16 = non_zero_u16(b'\t' as u16); + const SPACE: NonZeroU16 = non_zero_u16(b' ' as u16); let mut ret_val = Vec::new(); // If the cmd line pointer is null or it points to an empty string then |
