@@ -18,17 +18,6 @@ use crate::sys_common::AsInner;
18
18
use crate :: sys_common:: wstr:: WStrUnits ;
19
19
use crate :: { fmt, io, iter, vec} ;
20
20
21
- /// This is the const equivalent to `NonZero::new(n).unwrap()`
22
- ///
23
- /// FIXME(const-hack): This can be removed once `Option::unwrap` is stably const.
24
- /// See the `const_option` feature (#67441).
25
- const fn non_zero_u16 ( n : u16 ) -> NonZero < u16 > {
26
- match NonZero :: new ( n) {
27
- Some ( n) => n,
28
- None => panic ! ( "called `unwrap` on a `None` value" ) ,
29
- }
30
- }
31
-
32
21
pub fn args ( ) -> Args {
33
22
// SAFETY: `GetCommandLineW` returns a pointer to a null terminated UTF-16
34
23
// string so it's safe for `WStrUnits` to use.
@@ -66,10 +55,10 @@ fn parse_lp_cmd_line<'a, F: Fn() -> OsString>(
66
55
lp_cmd_line : Option < WStrUnits < ' a > > ,
67
56
exe_name : F ,
68
57
) -> Vec < OsString > {
69
- const BACKSLASH : NonZero < u16 > = non_zero_u16 ( b'\\' as u16 ) ;
70
- const QUOTE : NonZero < u16 > = non_zero_u16 ( b'"' as u16 ) ;
71
- const TAB : NonZero < u16 > = non_zero_u16 ( b'\t' as u16 ) ;
72
- const SPACE : NonZero < u16 > = non_zero_u16 ( b' ' as u16 ) ;
58
+ const BACKSLASH : NonZero < u16 > = NonZero :: new ( b'\\' as u16 ) . unwrap ( ) ;
59
+ const QUOTE : NonZero < u16 > = NonZero :: new ( b'"' as u16 ) . unwrap ( ) ;
60
+ const TAB : NonZero < u16 > = NonZero :: new ( b'\t' as u16 ) . unwrap ( ) ;
61
+ const SPACE : NonZero < u16 > = NonZero :: new ( b' ' as u16 ) . unwrap ( ) ;
73
62
74
63
let mut ret_val = Vec :: new ( ) ;
75
64
// If the cmd line pointer is null or it points to an empty string then
0 commit comments