Skip to content

Commit

Permalink
Rollup merge of rust-lang#4539 - jolson88:cast-lossless-pedantic, r=f…
Browse files Browse the repository at this point in the history
…lip1995

Changes cast-lossless to a pedantic lint

As discussed in rust-lang#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 rust-lang#4528

changelog: Moves cast-lossless from default to checking only as a `pedantic` lint.
  • Loading branch information
flip1995 authored Sep 19, 2019
2 parents 93381fb + 6f1f413 commit aec0c6d
Show file tree
Hide file tree
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
Expand Up @@ -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,
Expand Down Expand Up @@ -892,7 +893,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,
Expand Down Expand Up @@ -1075,7 +1075,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,
Expand Down
2 changes: 1 addition & 1 deletion clippy_lints/src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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`"
}

Expand Down
2 changes: 1 addition & 1 deletion src/lintlist/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
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
Expand Down
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
Expand Down
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)`
Expand Down

0 comments on commit aec0c6d

Please sign in to comment.