Skip to content

Commit

Permalink
Support true and false as boolean flag params
Browse files Browse the repository at this point in the history
Implements MCP 577.
  • Loading branch information
Noratrieb committed Jan 18, 2023
1 parent 1f72129 commit a6fda3e
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 9 deletions.
10 changes: 5 additions & 5 deletions compiler/rustc_session/src/options.rs
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ fn build_options<O: Default>(
#[allow(non_upper_case_globals)]
mod desc {
pub const parse_no_flag: &str = "no value";
pub const parse_bool: &str = "one of: `y`, `yes`, `on`, `n`, `no`, or `off`";
pub const parse_bool: &str = "one of: `y`, `yes`, `on`, `true`, `n`, `no`, `off` or `false`";
pub const parse_opt_bool: &str = parse_bool;
pub const parse_string: &str = "a string";
pub const parse_opt_string: &str = parse_string;
Expand Down Expand Up @@ -432,11 +432,11 @@ mod parse {
/// Use this for any boolean option that has a static default.
pub(crate) fn parse_bool(slot: &mut bool, v: Option<&str>) -> bool {
match v {
Some("y") | Some("yes") | Some("on") | None => {
Some("y") | Some("yes") | Some("on") | Some("true") | None => {
*slot = true;
true
}
Some("n") | Some("no") | Some("off") => {
Some("n") | Some("no") | Some("off") | Some("false") => {
*slot = false;
true
}
Expand All @@ -449,11 +449,11 @@ mod parse {
/// other factors, such as other options, or target options.)
pub(crate) fn parse_opt_bool(slot: &mut Option<bool>, v: Option<&str>) -> bool {
match v {
Some("y") | Some("yes") | Some("on") | None => {
Some("y") | Some("yes") | Some("on") | Some("true") | None => {
*slot = Some(true);
true
}
Some("n") | Some("no") | Some("off") => {
Some("n") | Some("no") | Some("off") | Some("false") => {
*slot = Some(false);
true
}
Expand Down
2 changes: 1 addition & 1 deletion tests/codegen/issue-75659.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// This test checks that the call to memchr/slice_contains is optimized away
// when searching in small slices.

// compile-flags: -O -Zinline-mir=no
// compile-flags: -O -Zinline-mir=false
// only-x86_64

#![crate_type = "lib"]
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/lint/reasons-forbidden.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
//
// The test is much cleaner if we deduplicate, though.

// compile-flags: -Z deduplicate-diagnostics=yes
// compile-flags: -Z deduplicate-diagnostics=true

#![forbid(
unsafe_code,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// run-pass
// compile-flags: -C debug_assertions=yes
// compile-flags: -C debug_assertions=true
// needs-unwind
// ignore-emscripten dies with an LLVM error

Expand Down
2 changes: 1 addition & 1 deletion tests/ui/rfc-2091-track-caller/call-chain.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// run-pass
// revisions: default mir-opt
//[default] compile-flags: -Zinline-mir=no
//[default] compile-flags: -Zinline-mir=false
//[mir-opt] compile-flags: -Zmir-opt-level=4

use std::panic::Location;
Expand Down

0 comments on commit a6fda3e

Please sign in to comment.