diff options
| author | bors <bors@rust-lang.org> | 2018-09-24 10:08:01 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-09-24 10:08:01 +0000 |
| commit | e5c6575801028f5e089ef2e7720aa1af9d452334 (patch) | |
| tree | ef88220171a4af19391bc37b5b69e462f9c31285 | |
| parent | 5ad5aca714a29931903b8e22851dfd9db2bedba7 (diff) | |
| parent | 6523eabf6e013f2889ed8af60ab6019690f6b00b (diff) | |
| download | rust-e5c6575801028f5e089ef2e7720aa1af9d452334.tar.gz rust-e5c6575801028f5e089ef2e7720aa1af9d452334.zip | |
Auto merge of #54507 - csmoe:deny_overflow, r=varkor
Deny the `overflowing_literals` lint for the 2018 edition Closes https://github.com/rust-lang/rust/issues/54502 r? @varkor
| -rw-r--r-- | src/librustc_lint/types.rs | 4 | ||||
| -rw-r--r-- | src/test/ui/editions/edition-deny-overflowing-literals-2018.rs | 16 | ||||
| -rw-r--r-- | src/test/ui/editions/edition-deny-overflowing-literals-2018.stderr | 10 |
3 files changed, 29 insertions, 1 deletions
diff --git a/src/librustc_lint/types.rs b/src/librustc_lint/types.rs index 2bec9203e9e..01d4d0f8cdb 100644 --- a/src/librustc_lint/types.rs +++ b/src/librustc_lint/types.rs @@ -24,6 +24,7 @@ use std::{i8, i16, i32, i64, u8, u16, u32, u64, f32, f64}; use syntax::{ast, attr}; use syntax::errors::Applicability; use rustc_target::spec::abi::Abi; +use syntax::edition::Edition; use syntax_pos::Span; use syntax::source_map; @@ -38,7 +39,8 @@ declare_lint! { declare_lint! { OVERFLOWING_LITERALS, Warn, - "literal out of range for its type" + "literal out of range for its type", + Edition::Edition2018 => Deny } declare_lint! { diff --git a/src/test/ui/editions/edition-deny-overflowing-literals-2018.rs b/src/test/ui/editions/edition-deny-overflowing-literals-2018.rs new file mode 100644 index 00000000000..48dfd24d50d --- /dev/null +++ b/src/test/ui/editions/edition-deny-overflowing-literals-2018.rs @@ -0,0 +1,16 @@ +// Copyright 2012 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// edition:2018 + +fn main() { + let x: u8 = 256; + //~^ error: literal out of range for u8 +} diff --git a/src/test/ui/editions/edition-deny-overflowing-literals-2018.stderr b/src/test/ui/editions/edition-deny-overflowing-literals-2018.stderr new file mode 100644 index 00000000000..97f547abfa7 --- /dev/null +++ b/src/test/ui/editions/edition-deny-overflowing-literals-2018.stderr @@ -0,0 +1,10 @@ +error: literal out of range for u8 + --> $DIR/edition-deny-overflowing-literals-2018.rs:14:17 + | +LL | let x: u8 = 256; + | ^^^ + | + = note: #[deny(overflowing_literals)] on by default + +error: aborting due to previous error + |
