Command-line flags are documented in the rustc book. All stable flags should be documented there. Unstable flags should be documented in the unstable book.
See the forge guide for new options for details on the procedure for adding a new command-line argument.
foo and bar, an additional --json flag is better than adding --foo-json and --bar-json.no- prefix. Instead, use the parse_bool function, such as -C embed-bitcode=no.-o) should generate an error if it is too ambiguous what multiple flags would mean.--verbose flag is for adding verbose information to rustc output. For example, using it with the --version flag gives information about the hashes of the compiler code.-Z unstable-options flag.