File tree Expand file tree Collapse file tree 3 files changed +40
-2
lines changed Expand file tree Collapse file tree 3 files changed +40
-2
lines changed Original file line number Diff line number Diff line change @@ -77,7 +77,7 @@ Example uses:
77
77
"Ignore `rust-version` specification in packages (unstable)"
78
78
) ,
79
79
] )
80
- . arg_manifest_path ( )
80
+ . arg_manifest_path_without_unsupported_path_tip ( )
81
81
. arg_package ( "Package to modify" )
82
82
. arg_dry_run ( "Don't actually write the manifest" )
83
83
. arg_quiet ( )
Original file line number Diff line number Diff line change @@ -267,6 +267,20 @@ pub trait CommandExt: Sized {
267
267
}
268
268
269
269
fn arg_manifest_path ( self ) -> Self {
270
+ // We use `--manifest-path` instead of `--path`.
271
+ let unsupported_path_arg = {
272
+ let value_parser = UnknownArgumentValueParser :: suggest_arg ( "--manifest-path" ) ;
273
+ flag ( "unsupported-path-flag" , "" )
274
+ . long ( "path" )
275
+ . value_parser ( value_parser)
276
+ . hide ( true )
277
+ } ;
278
+ self . arg_manifest_path_without_unsupported_path_tip ( )
279
+ . _arg ( unsupported_path_arg)
280
+ }
281
+
282
+ // `cargo add` has a `--path` flag to install a crate from a local path.
283
+ fn arg_manifest_path_without_unsupported_path_tip ( self ) -> Self {
270
284
self . _arg (
271
285
opt ( "manifest-path" , "Path to Cargo.toml" )
272
286
. value_name ( "PATH" )
@@ -358,7 +372,7 @@ pub trait CommandExt: Sized {
358
372
. value_parser ( value_parser)
359
373
. hide ( true )
360
374
} ;
361
- self . _arg ( flag ( "quiet" , "Do not print cargo log messages" ) . short ( 'q' ) )
375
+ self . arg_quiet_without_unknown_silent_arg_tip ( )
362
376
. _arg ( unsupported_silent_arg)
363
377
}
364
378
Original file line number Diff line number Diff line change @@ -205,6 +205,30 @@ fn cargo_compile_manifest_path() {
205
205
assert ! ( p. bin( "foo" ) . is_file( ) ) ;
206
206
}
207
207
208
+ #[ cargo_test]
209
+ fn cargo_compile_with_wrong_manifest_path_flag ( ) {
210
+ let p = project ( )
211
+ . file ( "Cargo.toml" , & basic_bin_manifest ( "foo" ) )
212
+ . file ( "src/foo.rs" , & main_file ( r#""i am foo""# , & [ ] ) )
213
+ . build ( ) ;
214
+
215
+ p. cargo ( "build --path foo/Cargo.toml" )
216
+ . cwd ( p. root ( ) . parent ( ) . unwrap ( ) )
217
+ . with_stderr (
218
+ "\
219
+ error: unexpected argument '--path' found
220
+
221
+ tip: a similar argument exists: '--manifest-path'
222
+
223
+ Usage: cargo[EXE] build [OPTIONS]
224
+
225
+ For more information, try '--help'.
226
+ " ,
227
+ )
228
+ . with_status ( 1 )
229
+ . run ( ) ;
230
+ }
231
+
208
232
#[ cargo_test]
209
233
fn chdir_gated ( ) {
210
234
let p = project ( )
You can’t perform that action at this time.
0 commit comments