Skip to content

Commit

Permalink
Auto merge of #4539 - jolson88:cast-lossless-pedantic, r=flip1995
Browse files Browse the repository at this point in the history
Changes cast-lossless to a pedantic lint

As discussed in #4528, this moves the cast-lossless lint from `all` to `pedantic`.

I couldn't tell from description alone if it should also be removed from the complexity category, so I left it as part of complexity for now. I didn't see any impact to the tests from this change, but I could be wrong (as this is my first PR).

fixes #4528

changelog: Moves cast-lossless from default to checking only as a `pedantic` lint.
bors committed Sep 19, 2019

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
2 parents f783ff3 + 6f1f413 commit f08f171
Showing 6 changed files with 6 additions and 5 deletions.
3 changes: 1 addition & 2 deletions clippy_lints/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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,
@@ -891,7 +892,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,
@@ -1074,7 +1074,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,
2 changes: 1 addition & 1 deletion clippy_lints/src/types.rs
Original file line number Diff line number Diff line change
@@ -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`"
}

2 changes: 1 addition & 1 deletion src/lintlist/mod.rs
Original file line number Diff line number Diff line change
@@ -121,7 +121,7 @@ pub const ALL_LINTS: [Lint; 314] = [
},
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",
1 change: 1 addition & 0 deletions tests/ui/types.fixed
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions tests/ui/types.rs
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion tests/ui/types.stderr
Original file line number Diff line number Diff line change
@@ -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)`

0 comments on commit f08f171

Please sign in to comment.