Skip to content

Commit 3daf17c

Browse files
committed
Replace better_divergence_checking feature flag with exhaustive_patterns
1 parent c07fcd8 commit 3daf17c

File tree

7 files changed

+7
-50
lines changed

7 files changed

+7
-50
lines changed

src/libcore/num/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4210,6 +4210,7 @@ impl fmt::Display for TryFromIntError {
42104210

42114211
#[unstable(feature = "try_from", issue = "33417")]
42124212
impl From<!> for TryFromIntError {
4213+
#[allow(unreachable_code)]
42134214
fn from(never: !) -> TryFromIntError {
42144215
never
42154216
}

src/librustc_mir/hair/pattern/check_match.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ impl<'a, 'tcx> MatchVisitor<'a, 'tcx> {
227227
let scrutinee_is_uninhabited = if self.tcx.features().exhaustive_patterns {
228228
self.tcx.is_ty_uninhabited_from(module, pat_ty)
229229
} else {
230-
if self.tcx.features().better_divergence_checking {
230+
if self.tcx.features().exhaustive_patterns {
231231
pat_ty.conservative_is_uninhabited()
232232
} else {
233233
match pat_ty.sty {

src/librustc_typeck/check/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,7 +1060,7 @@ fn check_fn<'a, 'gcx, 'tcx>(inherited: &'a Inherited<'a, 'gcx, 'tcx>,
10601060
// If any of a function's parameters have a type that is uninhabited, then it
10611061
// may never be called (because its arguments cannot be constructed). Therefore,
10621062
// it must always diverge.
1063-
if fcx.tcx.features().better_divergence_checking {
1063+
if fcx.tcx.features().exhaustive_patterns {
10641064
if arg_ty.conservative_is_uninhabited() {
10651065
fcx.diverges.set(fcx.diverges.get() | Diverges::Always);
10661066
}
@@ -3673,7 +3673,7 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
36733673

36743674
// Any expression that produces a value of an uninhabited type must have diverged.
36753675
if ty.conservative_is_uninhabited() {
3676-
if ty.is_never() || self.tcx.features().better_divergence_checking {
3676+
if ty.is_never() || self.tcx.features().exhaustive_patterns {
36773677
self.diverges.set(self.diverges.get() | Diverges::Always);
36783678
}
36793679
}

src/libstd/error.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ impl Error for string::FromUtf16Error {
309309

310310
#[stable(feature = "str_parse_error2", since = "1.8.0")]
311311
impl Error for string::ParseError {
312+
#[allow(unreachable_code)]
312313
fn description(&self) -> &str {
313314
match *self {}
314315
}

src/libstd/process.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1477,6 +1477,7 @@ impl<E: fmt::Debug> Termination for Result<(), E> {
14771477

14781478
#[unstable(feature = "termination_trait_lib", issue = "43301")]
14791479
impl Termination for ! {
1480+
#[allow(unreachable_code)]
14801481
fn report(self) -> i32 { self }
14811482
}
14821483

src/test/compile-fail/uninhabited-matches-better-divergence-checking.rs

Lines changed: 0 additions & 46 deletions
This file was deleted.

src/test/ui/better_divergence_checking.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
#![feature(better_divergence_checking)]
11+
#![feature(exhaustive_patterns)]
1212
#![deny(unreachable_code)]
1313

1414
pub enum Void {}

0 commit comments

Comments
 (0)