Don't mark if_let_guard as an incomplete feature

This commit is contained in:
Léo Lanteri Thauvin 2021-08-11 16:10:05 +02:00
parent 73d96b090b
commit dabdd6de1f
11 changed files with 13 additions and 19 deletions

View File

@ -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),

View File

@ -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] }

View File

@ -1,5 +1,4 @@
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![allow(incomplete_features)]
#![deny(irrefutable_let_patterns)] #![deny(irrefutable_let_patterns)]

View File

@ -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 => {}
| ^ | ^

View File

@ -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) {

View File

@ -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

View File

@ -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,

View File

@ -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))

View File

@ -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

View File

@ -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() {

View File

@ -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)]
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^