Changes cast-lossless to a pedantic lint

Fixes #4528
This commit is contained in:
Jason Olson 2019-09-12 17:30:58 -07:00
parent 535bc1d704
commit 6f1f413717
No known key found for this signature in database
GPG key ID: 10D79242ABFC2732
6 changed files with 6 additions and 5 deletions

View file

@ -667,6 +667,7 @@ pub fn register_plugins(reg: &mut rustc_driver::plugin::Registry<'_>, conf: &Con
shadow::SHADOW_UNRELATED,
strings::STRING_ADD_ASSIGN,
trait_bounds::TYPE_REPETITION_IN_BOUNDS,
types::CAST_LOSSLESS,
types::CAST_POSSIBLE_TRUNCATION,
types::CAST_POSSIBLE_WRAP,
types::CAST_PRECISION_LOSS,
@ -890,7 +891,6 @@ pub fn register_plugins(reg: &mut rustc_driver::plugin::Registry<'_>, conf: &Con
types::ABSURD_EXTREME_COMPARISONS,
types::BORROWED_BOX,
types::BOX_VEC,
types::CAST_LOSSLESS,
types::CAST_PTR_ALIGNMENT,
types::CAST_REF_TO_MUT,
types::CHAR_LIT_AS_U8,
@ -1072,7 +1072,6 @@ pub fn register_plugins(reg: &mut rustc_driver::plugin::Registry<'_>, conf: &Con
transmute::TRANSMUTE_PTR_TO_REF,
transmute::USELESS_TRANSMUTE,
types::BORROWED_BOX,
types::CAST_LOSSLESS,
types::CHAR_LIT_AS_U8,
types::OPTION_OPTION,
types::TYPE_COMPLEXITY,

View file

@ -765,7 +765,7 @@ declare_clippy_lint! {
/// }
/// ```
pub CAST_LOSSLESS,
complexity,
pedantic,
"casts using `as` that are known to be lossless, e.g., `x as u64` where `x: u8`"
}

View file

@ -121,7 +121,7 @@ pub const ALL_LINTS: [Lint; 313] = [
},
Lint {
name: "cast_lossless",
group: "complexity",
group: "pedantic",
desc: "casts using `as` that are known to be lossless, e.g., `x as u64` where `x: u8`",
deprecation: None,
module: "types",

View file

@ -1,6 +1,7 @@
// run-rustfix
#![allow(dead_code, unused_variables)]
#![warn(clippy::all, clippy::pedantic)]
// should not warn on lossy casting in constant types
// because not supported yet

View file

@ -1,6 +1,7 @@
// run-rustfix
#![allow(dead_code, unused_variables)]
#![warn(clippy::all, clippy::pedantic)]
// should not warn on lossy casting in constant types
// because not supported yet

View file

@ -1,5 +1,5 @@
error: casting i32 to i64 may become silently lossy if you later change the type
--> $DIR/types.rs:13:22
--> $DIR/types.rs:14:22
|
LL | let c_i64: i64 = c as i64;
| ^^^^^^^^ help: try: `i64::from(c)`