@@ -83,7 +83,7 @@ fn parse_args() -> Args {
83
83
. about ( about)
84
84
. arg_required_else_help ( true )
85
85
. subcommand_required_else_help ( true )
86
- . subcommand ( SubCommand :: new ( "script" )
86
+ . subcommand ( SubCommand :: with_name ( "script" )
87
87
. version ( version)
88
88
. about ( about)
89
89
. usage ( "cargo script [FLAGS OPTIONS] [--] <script> <args>..." )
@@ -111,7 +111,7 @@ fn parse_args() -> Args {
111
111
. requires ( "script" )
112
112
)
113
113
. arg_group ( ArgGroup :: with_name ( "expr_or_loop" )
114
- . add_all ( vec ! [ "expr" , "loop" ] )
114
+ . add_all ( & [ "expr" , "loop" ] )
115
115
)
116
116
. arg ( Arg :: with_name ( "clear_cache" )
117
117
. help ( "Clears out the script cache." )
@@ -182,10 +182,13 @@ fn parse_args() -> Args {
182
182
183
183
let m = m. subcommand_matches ( "script" ) . unwrap ( ) ;
184
184
185
+ fn owned_vec_string < ' a > ( v : Option < Vec < & ' a str > > ) -> Vec < String > {
186
+ v. unwrap_or ( vec ! [ ] ) . into_iter ( ) . map ( Into :: into) . collect ( )
187
+ }
188
+
185
189
Args {
186
190
script : m. value_of ( "script" ) . map ( Into :: into) ,
187
- args : m. values_of ( "args" ) . unwrap_or ( vec ! [ ] ) . into_iter ( )
188
- . map ( Into :: into) . collect ( ) ,
191
+ args : owned_vec_string ( m. values_of ( "args" ) ) ,
189
192
190
193
expr : m. is_present ( "expr" ) ,
191
194
loop_ : m. is_present ( "loop" ) ,
@@ -196,12 +199,9 @@ fn parse_args() -> Args {
196
199
build_only : m. is_present ( "build_only" ) ,
197
200
clear_cache : m. is_present ( "clear_cache" ) ,
198
201
debug : m. is_present ( "debug" ) ,
199
- dep : m. values_of ( "dep" ) . unwrap_or ( vec ! [ ] ) . into_iter ( )
200
- . map ( Into :: into) . collect ( ) ,
201
- dep_extern : m. values_of ( "dep_extern" ) . unwrap_or ( vec ! [ ] ) . into_iter ( )
202
- . map ( Into :: into) . collect ( ) ,
203
- extern_ : m. values_of ( "extern" ) . unwrap_or ( vec ! [ ] ) . into_iter ( )
204
- . map ( Into :: into) . collect ( ) ,
202
+ dep : owned_vec_string ( m. values_of ( "dep" ) ) ,
203
+ dep_extern : owned_vec_string ( m. values_of ( "dep_extern" ) ) ,
204
+ extern_ : owned_vec_string ( m. values_of ( "extern" ) ) ,
205
205
force : m. is_present ( "force" ) ,
206
206
}
207
207
}
0 commit comments