diff --git a/compiler/rustc_ast_passes/src/feature_gate.rs b/compiler/rustc_ast_passes/src/feature_gate.rs index e13e9bdf96b1..053fa5b7897d 100644 --- a/compiler/rustc_ast_passes/src/feature_gate.rs +++ b/compiler/rustc_ast_passes/src/feature_gate.rs @@ -638,7 +638,11 @@ pub fn check_crate(krate: &ast::Crate, sess: &Session) { } }; } - gate_all!(if_let_guard, "`if let` guards are experimental"); + gate_all!( + if_let_guard, + "`if let` guards are experimental", + "you can write `if matches!(, )` instead of `if let = `" + ); gate_all!( let_chains, "`let` expressions in this position are experimental", diff --git a/src/test/ui/rfc-2294-if-let-guard/feature-gate.stderr b/src/test/ui/rfc-2294-if-let-guard/feature-gate.stderr index 2b71026dc4bd..00811fe3044d 100644 --- a/src/test/ui/rfc-2294-if-let-guard/feature-gate.stderr +++ b/src/test/ui/rfc-2294-if-let-guard/feature-gate.stderr @@ -15,6 +15,7 @@ LL | () if let 0 = 1 => {} | = note: see issue #51114 for more information = help: add `#![feature(if_let_guard)]` to the crate attributes to enable + = help: you can write `if matches!(, )` instead of `if let = ` error[E0658]: `if let` guards are experimental --> $DIR/feature-gate.rs:76:12 @@ -24,6 +25,7 @@ LL | () if let 0 = 1 => {} | = note: see issue #51114 for more information = help: add `#![feature(if_let_guard)]` to the crate attributes to enable + = help: you can write `if matches!(, )` instead of `if let = ` error[E0658]: `let` expressions in this position are experimental --> $DIR/feature-gate.rs:10:16