diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-08-08 16:33:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-08 16:33:41 +0200 |
| commit | 499887ffb9cb500c00c7e191d7e6ca67e1e6498f (patch) | |
| tree | c5828371b6515b7a1820137be03a3cd873bf38a8 | |
| parent | 1514bc1c6853f61da5c718d523e0faf931e4e737 (diff) | |
| parent | e2b3543eabafb7ca143445b02c36ff7e412445b1 (diff) | |
| download | rust-499887ffb9cb500c00c7e191d7e6ca67e1e6498f.tar.gz rust-499887ffb9cb500c00c7e191d7e6ca67e1e6498f.zip | |
Rollup merge of #63370 - JohnTitor:fix-ice-63364, r=varkor
Fix ICE #63364 Fixes #63364 r? @estebank cc @varkor
| -rw-r--r-- | src/librustc_lint/types.rs | 4 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-63364.rs | 10 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-63364.stderr | 10 |
3 files changed, 23 insertions, 1 deletions
diff --git a/src/librustc_lint/types.rs b/src/librustc_lint/types.rs index fdfc6f68590..e86230437f2 100644 --- a/src/librustc_lint/types.rs +++ b/src/librustc_lint/types.rs @@ -73,7 +73,9 @@ fn lint_overflowing_range_endpoint<'a, 'tcx>( // We only want to handle exclusive (`..`) ranges, // which are represented as `ExprKind::Struct`. if let ExprKind::Struct(_, eps, _) = &parent_expr.node { - debug_assert_eq!(eps.len(), 2); + if eps.len() != 2 { + return false; + } // We can suggest using an inclusive range // (`..=`) instead only if it is the `end` that is // overflowing and only by 1. diff --git a/src/test/ui/issues/issue-63364.rs b/src/test/ui/issues/issue-63364.rs new file mode 100644 index 00000000000..5223267a69a --- /dev/null +++ b/src/test/ui/issues/issue-63364.rs @@ -0,0 +1,10 @@ +fn part(_: u16) -> u32 { + 1 +} + +fn main() { + for n in 100_000.. { + //~^ ERROR: literal out of range for `u16` + let _ = part(n); + } +} diff --git a/src/test/ui/issues/issue-63364.stderr b/src/test/ui/issues/issue-63364.stderr new file mode 100644 index 00000000000..60ff318f35a --- /dev/null +++ b/src/test/ui/issues/issue-63364.stderr @@ -0,0 +1,10 @@ +error: literal out of range for `u16` + --> $DIR/issue-63364.rs:6:14 + | +LL | for n in 100_000.. { + | ^^^^^^^ + | + = note: `#[deny(overflowing_literals)]` on by default + +error: aborting due to previous error + |
