mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 01:04:03 +00:00
Don't mark if_let_guard
as an incomplete feature
This commit is contained in:
parent
73d96b090b
commit
dabdd6de1f
@ -555,7 +555,7 @@ declare_features! (
|
|||||||
(incomplete, lazy_normalization_consts, "1.46.0", Some(72219), None),
|
(incomplete, lazy_normalization_consts, "1.46.0", Some(72219), None),
|
||||||
|
|
||||||
/// Allows `if let` guard in match arms.
|
/// Allows `if let` guard in match arms.
|
||||||
(incomplete, if_let_guard, "1.47.0", Some(51114), None),
|
(active, if_let_guard, "1.47.0", Some(51114), None),
|
||||||
|
|
||||||
/// Allows non-trivial generic constants which have to be manually propagated upwards.
|
/// Allows non-trivial generic constants which have to be manually propagated upwards.
|
||||||
(incomplete, const_evaluatable_checked, "1.48.0", Some(76560), None),
|
(incomplete, const_evaluatable_checked, "1.48.0", Some(76560), None),
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
// of the underlying generator.
|
// of the underlying generator.
|
||||||
|
|
||||||
#![feature(if_let_guard)]
|
#![feature(if_let_guard)]
|
||||||
#![allow(incomplete_features)]
|
|
||||||
|
|
||||||
async fn f() -> u8 { 1 }
|
async fn f() -> u8 { 1 }
|
||||||
async fn foo() -> [bool; 10] { [false; 10] }
|
async fn foo() -> [bool; 10] { [false; 10] }
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
#![feature(if_let_guard)]
|
#![feature(if_let_guard)]
|
||||||
#![allow(incomplete_features)]
|
|
||||||
|
|
||||||
#![deny(irrefutable_let_patterns)]
|
#![deny(irrefutable_let_patterns)]
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
error: irrefutable `if let` pattern
|
error: irrefutable `if let` pattern
|
||||||
--> $DIR/deny-irrefutable-let-patterns.rs:7:8
|
--> $DIR/deny-irrefutable-let-patterns.rs:6:8
|
||||||
|
|
|
|
||||||
LL | if let _ = 5 {}
|
LL | if let _ = 5 {}
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
|
|
||||||
note: the lint level is defined here
|
note: the lint level is defined here
|
||||||
--> $DIR/deny-irrefutable-let-patterns.rs:4:9
|
--> $DIR/deny-irrefutable-let-patterns.rs:3:9
|
||||||
|
|
|
|
||||||
LL | #![deny(irrefutable_let_patterns)]
|
LL | #![deny(irrefutable_let_patterns)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
@ -13,7 +13,7 @@ LL | #![deny(irrefutable_let_patterns)]
|
|||||||
= help: consider replacing the `if let` with a `let`
|
= help: consider replacing the `if let` with a `let`
|
||||||
|
|
||||||
error: irrefutable `while let` pattern
|
error: irrefutable `while let` pattern
|
||||||
--> $DIR/deny-irrefutable-let-patterns.rs:9:11
|
--> $DIR/deny-irrefutable-let-patterns.rs:8:11
|
||||||
|
|
|
|
||||||
LL | while let _ = 5 {
|
LL | while let _ = 5 {
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
@ -22,7 +22,7 @@ LL | while let _ = 5 {
|
|||||||
= help: consider instead using a `loop { ... }` with a `let` inside it
|
= help: consider instead using a `loop { ... }` with a `let` inside it
|
||||||
|
|
||||||
error: irrefutable `if let` guard pattern
|
error: irrefutable `if let` guard pattern
|
||||||
--> $DIR/deny-irrefutable-let-patterns.rs:14:18
|
--> $DIR/deny-irrefutable-let-patterns.rs:13:18
|
||||||
|
|
|
|
||||||
LL | _ if let _ = 2 => {}
|
LL | _ if let _ = 2 => {}
|
||||||
| ^
|
| ^
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
#![feature(if_let_guard)]
|
#![feature(if_let_guard)]
|
||||||
#![allow(incomplete_features)]
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
match Some(None) {
|
match Some(None) {
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
error[E0425]: cannot find value `y` in this scope
|
error[E0425]: cannot find value `y` in this scope
|
||||||
--> $DIR/bindings.rs:7:14
|
--> $DIR/bindings.rs:6:14
|
||||||
|
|
|
|
||||||
LL | _ => y,
|
LL | _ => y,
|
||||||
| ^ not found in this scope
|
| ^ not found in this scope
|
||||||
|
|
||||||
error[E0425]: cannot find value `y` in this scope
|
error[E0425]: cannot find value `y` in this scope
|
||||||
--> $DIR/bindings.rs:9:5
|
--> $DIR/bindings.rs:8:5
|
||||||
|
|
|
|
||||||
LL | y
|
LL | y
|
||||||
| ^ not found in this scope
|
| ^ not found in this scope
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
// run-pass
|
// run-pass
|
||||||
|
|
||||||
#![feature(if_let_guard)]
|
#![feature(if_let_guard)]
|
||||||
#![allow(incomplete_features)]
|
|
||||||
|
|
||||||
enum Foo {
|
enum Foo {
|
||||||
Bar,
|
Bar,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
#![feature(if_let_guard)]
|
#![feature(if_let_guard)]
|
||||||
#![allow(incomplete_features)]
|
|
||||||
|
|
||||||
fn ok() -> Result<Option<bool>, ()> {
|
fn ok() -> Result<Option<bool>, ()> {
|
||||||
Ok(Some(true))
|
Ok(Some(true))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
error[E0308]: mismatched types
|
error[E0308]: mismatched types
|
||||||
--> $DIR/typeck.rs:10:22
|
--> $DIR/typeck.rs:9:22
|
||||||
|
|
|
|
||||||
LL | Ok(x) if let Err(_) = x => {},
|
LL | Ok(x) if let Err(_) = x => {},
|
||||||
| ^^^^^^ expected enum `Option`, found enum `Result`
|
| ^^^^^^ expected enum `Option`, found enum `Result`
|
||||||
@ -8,7 +8,7 @@ LL | Ok(x) if let Err(_) = x => {},
|
|||||||
found enum `Result<_, _>`
|
found enum `Result<_, _>`
|
||||||
|
|
||||||
error[E0308]: mismatched types
|
error[E0308]: mismatched types
|
||||||
--> $DIR/typeck.rs:12:22
|
--> $DIR/typeck.rs:11:22
|
||||||
|
|
|
|
||||||
LL | Ok(x) if let 0 = x => {},
|
LL | Ok(x) if let 0 = x => {},
|
||||||
| ^ expected enum `Option`, found integer
|
| ^ expected enum `Option`, found integer
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
#![feature(if_let_guard)]
|
#![feature(if_let_guard)]
|
||||||
#![allow(incomplete_features)]
|
|
||||||
|
|
||||||
#[deny(irrefutable_let_patterns)]
|
#[deny(irrefutable_let_patterns)]
|
||||||
fn irrefutable_let_guard() {
|
fn irrefutable_let_guard() {
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
error: irrefutable `if let` guard pattern
|
error: irrefutable `if let` guard pattern
|
||||||
--> $DIR/warns.rs:7:24
|
--> $DIR/warns.rs:6:24
|
||||||
|
|
|
|
||||||
LL | Some(x) if let () = x => {}
|
LL | Some(x) if let () = x => {}
|
||||||
| ^^
|
| ^^
|
||||||
|
|
|
|
||||||
note: the lint level is defined here
|
note: the lint level is defined here
|
||||||
--> $DIR/warns.rs:4:8
|
--> $DIR/warns.rs:3:8
|
||||||
|
|
|
|
||||||
LL | #[deny(irrefutable_let_patterns)]
|
LL | #[deny(irrefutable_let_patterns)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
@ -13,13 +13,13 @@ LL | #[deny(irrefutable_let_patterns)]
|
|||||||
= help: consider removing the guard and adding a `let` inside the match arm
|
= help: consider removing the guard and adding a `let` inside the match arm
|
||||||
|
|
||||||
error: unreachable pattern
|
error: unreachable pattern
|
||||||
--> $DIR/warns.rs:16:25
|
--> $DIR/warns.rs:15:25
|
||||||
|
|
|
|
||||||
LL | x if let None | None = x => {}
|
LL | x if let None | None = x => {}
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
|
|
||||||
note: the lint level is defined here
|
note: the lint level is defined here
|
||||||
--> $DIR/warns.rs:13:8
|
--> $DIR/warns.rs:12:8
|
||||||
|
|
|
|
||||||
LL | #[deny(unreachable_patterns)]
|
LL | #[deny(unreachable_patterns)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
Loading…
Reference in New Issue
Block a user