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:
commit
5b08200223
@ -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],
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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() {
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user