@@ -10,13 +10,14 @@ use crate::ffi::{OsStr, OsString};
10
10
use crate :: num:: NonZero ;
11
11
use crate :: os:: windows:: prelude:: * ;
12
12
use crate :: path:: { Path , PathBuf } ;
13
+ use crate :: sys:: args:: Args ;
13
14
use crate :: sys:: pal:: os:: current_exe;
14
15
use crate :: sys:: pal:: { ensure_no_nuls, fill_utf16_buf} ;
15
16
use crate :: sys:: path:: get_long_path;
16
17
use crate :: sys:: { c, to_u16s} ;
17
18
use crate :: sys_common:: AsInner ;
18
19
use crate :: sys_common:: wstr:: WStrUnits ;
19
- use crate :: { fmt , io, iter, ptr, vec } ;
20
+ use crate :: { io, iter, ptr} ;
20
21
21
22
pub fn args ( ) -> Args {
22
23
// SAFETY: `GetCommandLineW` returns a pointer to a null terminated UTF-16
@@ -27,7 +28,7 @@ pub fn args() -> Args {
27
28
current_exe ( ) . map ( PathBuf :: into_os_string) . unwrap_or_else ( |_| OsString :: new ( ) )
28
29
} ) ;
29
30
30
- Args { parsed_args_list : parsed_args_list . into_iter ( ) }
31
+ Args :: new ( parsed_args_list )
31
32
}
32
33
}
33
34
@@ -153,38 +154,6 @@ fn parse_lp_cmd_line<'a, F: Fn() -> OsString>(
153
154
ret_val
154
155
}
155
156
156
- pub struct Args {
157
- parsed_args_list : vec:: IntoIter < OsString > ,
158
- }
159
-
160
- impl fmt:: Debug for Args {
161
- fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
162
- self . parsed_args_list . as_slice ( ) . fmt ( f)
163
- }
164
- }
165
-
166
- impl Iterator for Args {
167
- type Item = OsString ;
168
- fn next ( & mut self ) -> Option < OsString > {
169
- self . parsed_args_list . next ( )
170
- }
171
- fn size_hint ( & self ) -> ( usize , Option < usize > ) {
172
- self . parsed_args_list . size_hint ( )
173
- }
174
- }
175
-
176
- impl DoubleEndedIterator for Args {
177
- fn next_back ( & mut self ) -> Option < OsString > {
178
- self . parsed_args_list . next_back ( )
179
- }
180
- }
181
-
182
- impl ExactSizeIterator for Args {
183
- fn len ( & self ) -> usize {
184
- self . parsed_args_list . len ( )
185
- }
186
- }
187
-
188
157
#[ derive( Debug ) ]
189
158
pub ( crate ) enum Arg {
190
159
/// Add quotes (if needed)
0 commit comments