Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Move if_then_panic to pedantic
  • Loading branch information
camsteffen committed Oct 28, 2021
1 parent 7788af9 commit d8fcfd7
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 30 deletions.
2 changes: 1 addition & 1 deletion clippy_lints/src/if_then_panic.rs
Expand Up @@ -27,7 +27,7 @@ declare_clippy_lint! {
/// assert!(sad_people.is_empty(), "there are sad people: {:?}", sad_people);
/// ```
pub IF_THEN_PANIC,
style,
pedantic,
"`panic!` and only a `panic!` in `if`-then statement"
}

Expand Down
1 change: 0 additions & 1 deletion clippy_lints/src/lib.register_all.rs
Expand Up @@ -76,7 +76,6 @@ store.register_group(true, "clippy::all", Some("clippy_all"), vec![
LintId::of(get_last_with_len::GET_LAST_WITH_LEN),
LintId::of(identity_op::IDENTITY_OP),
LintId::of(if_let_mutex::IF_LET_MUTEX),
LintId::of(if_then_panic::IF_THEN_PANIC),
LintId::of(indexing_slicing::OUT_OF_BOUNDS_INDEXING),
LintId::of(infinite_iter::INFINITE_ITER),
LintId::of(inherent_to_string::INHERENT_TO_STRING),
Expand Down
1 change: 1 addition & 0 deletions clippy_lints/src/lib.register_pedantic.rs
Expand Up @@ -34,6 +34,7 @@ store.register_group(true, "clippy::pedantic", Some("clippy_pedantic"), vec![
LintId::of(functions::MUST_USE_CANDIDATE),
LintId::of(functions::TOO_MANY_LINES),
LintId::of(if_not_else::IF_NOT_ELSE),
LintId::of(if_then_panic::IF_THEN_PANIC),
LintId::of(implicit_hasher::IMPLICIT_HASHER),
LintId::of(implicit_saturating_sub::IMPLICIT_SATURATING_SUB),
LintId::of(inconsistent_struct_constructor::INCONSISTENT_STRUCT_CONSTRUCTOR),
Expand Down
1 change: 0 additions & 1 deletion clippy_lints/src/lib.register_style.rs
Expand Up @@ -27,7 +27,6 @@ store.register_group(true, "clippy::style", Some("clippy_style"), vec![
LintId::of(functions::DOUBLE_MUST_USE),
LintId::of(functions::MUST_USE_UNIT),
LintId::of(functions::RESULT_UNIT_ERR),
LintId::of(if_then_panic::IF_THEN_PANIC),
LintId::of(inherent_to_string::INHERENT_TO_STRING),
LintId::of(len_zero::COMPARISON_TO_EMPTY),
LintId::of(len_zero::LEN_WITHOUT_IS_EMPTY),
Expand Down
1 change: 0 additions & 1 deletion tests/ui/fallible_impl_from.rs
@@ -1,5 +1,4 @@
#![deny(clippy::fallible_impl_from)]
#![allow(clippy::if_then_panic)]

// docs example
struct Foo(i32);
Expand Down
16 changes: 8 additions & 8 deletions tests/ui/fallible_impl_from.stderr
@@ -1,5 +1,5 @@
error: consider implementing `TryFrom` instead
--> $DIR/fallible_impl_from.rs:6:1
--> $DIR/fallible_impl_from.rs:5:1
|
LL | / impl From<String> for Foo {
LL | | fn from(s: String) -> Self {
Expand All @@ -15,13 +15,13 @@ LL | #![deny(clippy::fallible_impl_from)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
note: potential failure(s)
--> $DIR/fallible_impl_from.rs:8:13
--> $DIR/fallible_impl_from.rs:7:13
|
LL | Foo(s.parse().unwrap())
| ^^^^^^^^^^^^^^^^^^

error: consider implementing `TryFrom` instead
--> $DIR/fallible_impl_from.rs:27:1
--> $DIR/fallible_impl_from.rs:26:1
|
LL | / impl From<usize> for Invalid {
LL | | fn from(i: usize) -> Invalid {
Expand All @@ -34,14 +34,14 @@ LL | | }
|
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
note: potential failure(s)
--> $DIR/fallible_impl_from.rs:30:13
--> $DIR/fallible_impl_from.rs:29:13
|
LL | panic!();
| ^^^^^^^^
= note: this error originates in the macro `$crate::panic::panic_2015` (in Nightly builds, run with -Z macro-backtrace for more info)

error: consider implementing `TryFrom` instead
--> $DIR/fallible_impl_from.rs:36:1
--> $DIR/fallible_impl_from.rs:35:1
|
LL | / impl From<Option<String>> for Invalid {
LL | | fn from(s: Option<String>) -> Invalid {
Expand All @@ -54,7 +54,7 @@ LL | | }
|
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
note: potential failure(s)
--> $DIR/fallible_impl_from.rs:38:17
--> $DIR/fallible_impl_from.rs:37:17
|
LL | let s = s.unwrap();
| ^^^^^^^^^^
Expand All @@ -68,7 +68,7 @@ LL | panic!("{:?}", s);
= note: this error originates in the macro `$crate::panic::panic_2015` (in Nightly builds, run with -Z macro-backtrace for more info)

error: consider implementing `TryFrom` instead
--> $DIR/fallible_impl_from.rs:54:1
--> $DIR/fallible_impl_from.rs:53:1
|
LL | / impl<'a> From<&'a mut <Box<u32> as ProjStrTrait>::ProjString> for Invalid {
LL | | fn from(s: &'a mut <Box<u32> as ProjStrTrait>::ProjString) -> Invalid {
Expand All @@ -81,7 +81,7 @@ LL | | }
|
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
note: potential failure(s)
--> $DIR/fallible_impl_from.rs:56:12
--> $DIR/fallible_impl_from.rs:55:12
|
LL | if s.parse::<u32>().ok().unwrap() != 42 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
7 changes: 1 addition & 6 deletions tests/ui/ptr_arg.rs
@@ -1,9 +1,4 @@
#![allow(
unused,
clippy::many_single_char_names,
clippy::redundant_clone,
clippy::if_then_panic
)]
#![allow(unused, clippy::many_single_char_names, clippy::redundant_clone)]
#![warn(clippy::ptr_arg)]

use std::borrow::Cow;
Expand Down
24 changes: 12 additions & 12 deletions tests/ui/ptr_arg.stderr
@@ -1,31 +1,31 @@
error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices
--> $DIR/ptr_arg.rs:12:14
--> $DIR/ptr_arg.rs:7:14
|
LL | fn do_vec(x: &Vec<i64>) {
| ^^^^^^^^^ help: change this to: `&[i64]`
|
= note: `-D clippy::ptr-arg` implied by `-D warnings`

error: writing `&String` instead of `&str` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:21:14
--> $DIR/ptr_arg.rs:16:14
|
LL | fn do_str(x: &String) {
| ^^^^^^^ help: change this to: `&str`

error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:30:15
--> $DIR/ptr_arg.rs:25:15
|
LL | fn do_path(x: &PathBuf) {
| ^^^^^^^^ help: change this to: `&Path`

error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices
--> $DIR/ptr_arg.rs:43:18
--> $DIR/ptr_arg.rs:38:18
|
LL | fn do_vec(x: &Vec<i64>);
| ^^^^^^^^^ help: change this to: `&[i64]`

error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices
--> $DIR/ptr_arg.rs:56:14
--> $DIR/ptr_arg.rs:51:14
|
LL | fn cloned(x: &Vec<u8>) -> Vec<u8> {
| ^^^^^^^^
Expand All @@ -44,7 +44,7 @@ LL | x.to_owned()
|

error: writing `&String` instead of `&str` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:65:18
--> $DIR/ptr_arg.rs:60:18
|
LL | fn str_cloned(x: &String) -> String {
| ^^^^^^^
Expand All @@ -67,7 +67,7 @@ LL | x.to_string()
|

error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:73:19
--> $DIR/ptr_arg.rs:68:19
|
LL | fn path_cloned(x: &PathBuf) -> PathBuf {
| ^^^^^^^^
Expand All @@ -90,7 +90,7 @@ LL | x.to_path_buf()
|

error: writing `&String` instead of `&str` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:81:44
--> $DIR/ptr_arg.rs:76:44
|
LL | fn false_positive_capacity(x: &Vec<u8>, y: &String) {
| ^^^^^^^
Expand All @@ -109,13 +109,13 @@ LL | let c = y;
| ~

error: using a reference to `Cow` is not recommended
--> $DIR/ptr_arg.rs:95:25
--> $DIR/ptr_arg.rs:90:25
|
LL | fn test_cow_with_ref(c: &Cow<[i32]>) {}
| ^^^^^^^^^^^ help: change this to: `&[i32]`

error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices
--> $DIR/ptr_arg.rs:148:21
--> $DIR/ptr_arg.rs:143:21
|
LL | fn foo_vec(vec: &Vec<u8>) {
| ^^^^^^^^
Expand All @@ -134,7 +134,7 @@ LL | let _ = vec.to_owned().clone();
| ~~~~~~~~~~~~~~

error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:153:23
--> $DIR/ptr_arg.rs:148:23
|
LL | fn foo_path(path: &PathBuf) {
| ^^^^^^^^
Expand All @@ -153,7 +153,7 @@ LL | let _ = path.to_path_buf().clone();
| ~~~~~~~~~~~~~~~~~~

error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:158:21
--> $DIR/ptr_arg.rs:153:21
|
LL | fn foo_str(str: &PathBuf) {
| ^^^^^^^^
Expand Down

0 comments on commit d8fcfd7

Please sign in to comment.