File tree 3 files changed +45
-8
lines changed
3 files changed +45
-8
lines changed Original file line number Diff line number Diff line change @@ -35,14 +35,7 @@ pub fn cli() -> Command {
35
35
. arg_parallel ( )
36
36
. arg_target_triple ( "Build for the target triple" )
37
37
. arg_target_dir ( )
38
- . arg (
39
- opt (
40
- "out-dir" ,
41
- "Copy final artifacts to this directory (unstable)" ,
42
- )
43
- . value_name ( "PATH" )
44
- . help_heading ( heading:: COMPILATION_OPTIONS ) ,
45
- )
38
+ . arg_out_dir ( )
46
39
. arg_build_plan ( )
47
40
. arg_unit_graph ( )
48
41
. arg_timings ( )
Original file line number Diff line number Diff line change @@ -357,6 +357,27 @@ pub trait CommandExt: Sized {
357
357
. help_heading ( heading:: COMPILATION_OPTIONS ) ,
358
358
)
359
359
}
360
+
361
+ fn arg_out_dir ( self ) -> Self {
362
+ let unsupported_short_arg = {
363
+ let value_parser = UnknownArgumentValueParser :: suggest_arg ( "--out-dir" ) ;
364
+ Arg :: new ( "unsupported-short-out-dir-flag" )
365
+ . help ( "" )
366
+ . short ( 'O' )
367
+ . value_parser ( value_parser)
368
+ . action ( ArgAction :: SetTrue )
369
+ . hide ( true )
370
+ } ;
371
+ self . _arg (
372
+ opt (
373
+ "out-dir" ,
374
+ "Copy final artifacts to this directory (unstable)" ,
375
+ )
376
+ . value_name ( "PATH" )
377
+ . help_heading ( heading:: COMPILATION_OPTIONS ) ,
378
+ )
379
+ . _arg ( unsupported_short_arg)
380
+ }
360
381
}
361
382
362
383
impl CommandExt for Command {
Original file line number Diff line number Diff line change @@ -281,6 +281,29 @@ fn cargo_build_out_dir() {
281
281
) ;
282
282
}
283
283
284
+ #[ cargo_test]
285
+ fn unsupported_short_out_dir_flag ( ) {
286
+ let p = project ( )
287
+ . file ( "src/main.rs" , r#"fn main() { println!("Hello, World!") }"# )
288
+ . build ( ) ;
289
+
290
+ p. cargo ( "build -Z unstable-options -O" )
291
+ . masquerade_as_nightly_cargo ( & [ "out-dir" ] )
292
+ . with_stderr (
293
+ "\
294
+ error: unexpected argument '-O' found
295
+
296
+ tip: a similar argument exists: '--out-dir'
297
+
298
+ Usage: cargo[EXE] build [OPTIONS]
299
+
300
+ For more information, try '--help'.
301
+ " ,
302
+ )
303
+ . with_status ( 1 )
304
+ . run ( ) ;
305
+ }
306
+
284
307
fn check_dir_contents (
285
308
out_dir : & Path ,
286
309
expected_linux : & [ & str ] ,
You can’t perform that action at this time.
0 commit comments