Rollup merge of #54676 - pnkfelix:issue-15287-kill-zflag-disabling-ast-check, r=alexcrichton

Remove `-Z disable_ast_check_for_mutation_in_guard`

One should use `#![feature(bind_by_move_pattern_guards)]` over `-Z disable_ast_check_for_mutation_in_guard`

cc #15287
This commit is contained in:
kennytm 2018-10-01 17:49:33 +08:00
commit 5b08200223
No known key found for this signature in database
GPG Key ID: FEF6C8051D0E013C
5 changed files with 5 additions and 13 deletions

View File

@ -1322,8 +1322,6 @@ fn parse_cross_lang_lto(slot: &mut CrossLangLto, v: Option<&str>) -> bool {
useful for profiling / PGO."),
relro_level: Option<RelroLevel> = (None, parse_relro_level, [TRACKED],
"choose which RELRO level to use"),
disable_ast_check_for_mutation_in_guard: bool = (false, parse_bool, [UNTRACKED],
"skip AST-based mutation-in-guard check (mir-borrowck provides more precise check)"),
nll_subminimal_causes: bool = (false, parse_bool, [UNTRACKED],
"when tracking region error causes, accept subminimal results for faster execution."),
nll_facts: bool = (false, parse_bool, [UNTRACKED],

View File

@ -1467,11 +1467,6 @@ pub fn allow_bind_by_move_patterns_with_guards(self) -> bool {
/// If true, we should use a naive AST walk to determine if match
/// guard could perform bad mutations (or mutable-borrows).
pub fn check_for_mutation_in_guard_via_ast_walk(self) -> bool {
// If someone passes the `-Z` flag, they're asking for the footgun.
if self.sess.opts.debugging_opts.disable_ast_check_for_mutation_in_guard {
return false;
}
// If someone requests the feature, then be a little more
// careful and ensure that MIR-borrowck is enabled (which can
// happen via edition selection, via `feature(nll)`, or via an

View File

@ -12,12 +12,11 @@
// This test illustrates that under NLL, we can remove our overly
// conservative approach for disallowing mutations of match inputs.
// See further discussion on rust-lang/rust#24535 and
// rust-lang/rfcs#1006.
// compile-flags: -Z disable-ast-check-for-mutation-in-guard
// See further discussion on rust-lang/rust#24535,
// rust-lang/rfcs#1006, and rust-lang/rfcs#107
#![feature(nll)]
#![feature(bind_by_move_pattern_guards)]
fn main() {
rust_issue_24535();

View File

@ -15,8 +15,8 @@
// reject it. But I want to make sure that we continue to reject it
// (under NLL) even when that conservaive check goes away.
// compile-flags: -Z disable-ast-check-for-mutation-in-guard
#![feature(bind_by_move_pattern_guards)]
#![feature(nll)]
fn main() {

View File

@ -5,8 +5,8 @@
// Test that we don't allow mutating the value being matched on in a way that
// changes which patterns it matches, until we have chosen an arm.
// compile-flags: -Zdisable-ast-check-for-mutation-in-guard
#![feature(bind_by_move_pattern_guards)]
#![feature(nll)]
fn ok_mutation_in_guard(mut q: i32) {