mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-27 15:11:30 +00:00
0ce564a7e1
This test doesn't reproduce the ICE since it only happens, when the macro is defined in another file. Currently we can't add tests with multiple files AFAIK Also using the auxiliary folder didn't help
296 lines
9 KiB
Text
296 lines
9 KiB
Text
error: you don't need to add `&` to all patterns
|
|
--> $DIR/matches.rs:11:9
|
|
|
|
|
LL | / match v {
|
|
LL | | &Some(v) => println!("{:?}", v),
|
|
LL | | &None => println!("none"),
|
|
LL | | }
|
|
| |_________^
|
|
|
|
|
= note: `-D clippy::match-ref-pats` implied by `-D warnings`
|
|
help: instead of prefixing all patterns with `&`, you can dereference the expression
|
|
|
|
|
LL | match *v {
|
|
LL | Some(v) => println!("{:?}", v),
|
|
LL | None => println!("none"),
|
|
|
|
|
|
|
error: you don't need to add `&` to all patterns
|
|
--> $DIR/matches.rs:22:5
|
|
|
|
|
LL | / match tup {
|
|
LL | | &(v, 1) => println!("{}", v),
|
|
LL | | _ => println!("none"),
|
|
LL | | }
|
|
| |_____^
|
|
help: instead of prefixing all patterns with `&`, you can dereference the expression
|
|
|
|
|
LL | match *tup {
|
|
LL | (v, 1) => println!("{}", v),
|
|
|
|
|
|
|
error: you don't need to add `&` to both the expression and the patterns
|
|
--> $DIR/matches.rs:28:5
|
|
|
|
|
LL | / match &w {
|
|
LL | | &Some(v) => println!("{:?}", v),
|
|
LL | | &None => println!("none"),
|
|
LL | | }
|
|
| |_____^
|
|
help: try
|
|
|
|
|
LL | match w {
|
|
LL | Some(v) => println!("{:?}", v),
|
|
LL | None => println!("none"),
|
|
|
|
|
|
|
error: you don't need to add `&` to all patterns
|
|
--> $DIR/matches.rs:39:5
|
|
|
|
|
LL | / if let &None = a {
|
|
LL | | println!("none");
|
|
LL | | }
|
|
| |_____^
|
|
help: instead of prefixing all patterns with `&`, you can dereference the expression
|
|
|
|
|
LL | if let None = *a {
|
|
| ^^^^ ^^
|
|
|
|
error: you don't need to add `&` to both the expression and the patterns
|
|
--> $DIR/matches.rs:44:5
|
|
|
|
|
LL | / if let &None = &b {
|
|
LL | | println!("none");
|
|
LL | | }
|
|
| |_____^
|
|
help: try
|
|
|
|
|
LL | if let None = b {
|
|
| ^^^^ ^
|
|
|
|
error: Err(_) will match all errors, maybe not a good idea
|
|
--> $DIR/matches.rs:55:9
|
|
|
|
|
LL | Err(_) => panic!("err"),
|
|
| ^^^^^^
|
|
|
|
|
= note: `-D clippy::match-wild-err-arm` implied by `-D warnings`
|
|
= note: to remove this warning, match each error separately or use unreachable macro
|
|
|
|
error: this `match` has identical arm bodies
|
|
--> $DIR/matches.rs:54:18
|
|
|
|
|
LL | Ok(_) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
= note: `-D clippy::match-same-arms` implied by `-D warnings`
|
|
note: same as this
|
|
--> $DIR/matches.rs:53:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
note: consider refactoring into `Ok(3) | Ok(_)`
|
|
--> $DIR/matches.rs:53:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
|
|
|
|
error: Err(_) will match all errors, maybe not a good idea
|
|
--> $DIR/matches.rs:61:9
|
|
|
|
|
LL | Err(_) => panic!(),
|
|
| ^^^^^^
|
|
|
|
|
= note: to remove this warning, match each error separately or use unreachable macro
|
|
|
|
error: this `match` has identical arm bodies
|
|
--> $DIR/matches.rs:60:18
|
|
|
|
|
LL | Ok(_) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
note: same as this
|
|
--> $DIR/matches.rs:59:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
note: consider refactoring into `Ok(3) | Ok(_)`
|
|
--> $DIR/matches.rs:59:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
|
|
|
|
error: Err(_) will match all errors, maybe not a good idea
|
|
--> $DIR/matches.rs:67:9
|
|
|
|
|
LL | Err(_) => {
|
|
| ^^^^^^
|
|
|
|
|
= note: to remove this warning, match each error separately or use unreachable macro
|
|
|
|
error: this `match` has identical arm bodies
|
|
--> $DIR/matches.rs:66:18
|
|
|
|
|
LL | Ok(_) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
note: same as this
|
|
--> $DIR/matches.rs:65:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
note: consider refactoring into `Ok(3) | Ok(_)`
|
|
--> $DIR/matches.rs:65:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
|
|
|
|
error: this `match` has identical arm bodies
|
|
--> $DIR/matches.rs:75:18
|
|
|
|
|
LL | Ok(_) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
note: same as this
|
|
--> $DIR/matches.rs:74:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
note: consider refactoring into `Ok(3) | Ok(_)`
|
|
--> $DIR/matches.rs:74:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
|
|
|
|
error: this `match` has identical arm bodies
|
|
--> $DIR/matches.rs:82:18
|
|
|
|
|
LL | Ok(_) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
note: same as this
|
|
--> $DIR/matches.rs:81:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
note: consider refactoring into `Ok(3) | Ok(_)`
|
|
--> $DIR/matches.rs:81:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
|
|
|
|
error: this `match` has identical arm bodies
|
|
--> $DIR/matches.rs:88:18
|
|
|
|
|
LL | Ok(_) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
note: same as this
|
|
--> $DIR/matches.rs:87:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
note: consider refactoring into `Ok(3) | Ok(_)`
|
|
--> $DIR/matches.rs:87:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
|
|
|
|
error: this `match` has identical arm bodies
|
|
--> $DIR/matches.rs:94:18
|
|
|
|
|
LL | Ok(_) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
note: same as this
|
|
--> $DIR/matches.rs:93:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
note: consider refactoring into `Ok(3) | Ok(_)`
|
|
--> $DIR/matches.rs:93:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
|
|
|
|
error: this `match` has identical arm bodies
|
|
--> $DIR/matches.rs:117:29
|
|
|
|
|
LL | (Ok(_), Some(x)) => println!("ok {}", x),
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
note: same as this
|
|
--> $DIR/matches.rs:116:29
|
|
|
|
|
LL | (Ok(x), Some(_)) => println!("ok {}", x),
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
note: consider refactoring into `(Ok(x), Some(_)) | (Ok(_), Some(x))`
|
|
--> $DIR/matches.rs:116:29
|
|
|
|
|
LL | (Ok(x), Some(_)) => println!("ok {}", x),
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
|
|
|
|
error: this `match` has identical arm bodies
|
|
--> $DIR/matches.rs:132:18
|
|
|
|
|
LL | Ok(_) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
note: same as this
|
|
--> $DIR/matches.rs:131:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
note: consider refactoring into `Ok(3) | Ok(_)`
|
|
--> $DIR/matches.rs:131:18
|
|
|
|
|
LL | Ok(3) => println!("ok"),
|
|
| ^^^^^^^^^^^^^^
|
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
|
|
|
|
error: use as_ref() instead
|
|
--> $DIR/matches.rs:141:33
|
|
|
|
|
LL | let borrowed: Option<&()> = match owned {
|
|
| _________________________________^
|
|
LL | | None => None,
|
|
LL | | Some(ref v) => Some(v),
|
|
LL | | };
|
|
| |_____^ help: try this: `owned.as_ref()`
|
|
|
|
|
= note: `-D clippy::match-as-ref` implied by `-D warnings`
|
|
|
|
error: use as_mut() instead
|
|
--> $DIR/matches.rs:147:39
|
|
|
|
|
LL | let borrow_mut: Option<&mut ()> = match mut_owned {
|
|
| _______________________________________^
|
|
LL | | None => None,
|
|
LL | | Some(ref mut v) => Some(v),
|
|
LL | | };
|
|
| |_____^ help: try this: `mut_owned.as_mut()`
|
|
|
|
error: you don't need to add `&` to all patterns
|
|
--> $DIR/matches.rs:174:5
|
|
|
|
|
LL | / match foo_variant!(0) {
|
|
LL | | &Foo::A => println!("A"),
|
|
LL | | _ => println!("Wild"),
|
|
LL | | }
|
|
| |_____^
|
|
help: instead of prefixing all patterns with `&`, you can dereference the expression
|
|
|
|
|
LL | match *foo_variant!(0) {
|
|
LL | Foo::A => println!("A"),
|
|
|
|
|
|
|
error: aborting due to 20 previous errors
|
|
|