786f874c34
changelog: none Sorry, this is a big one. A lot of interrelated changes and I wanted to put the new utils to use to make sure they are somewhat battle-tested. We may want to divide some of the lint-specific refactoring commits into batches for smaller reviewing tasks. I could also split into more PRs. Introduces a bunch of new utils at `clippy_utils::macros::...`. Please read through the docs and give any feedback! I'm happy to introduce `MacroCall` and various functions to retrieve an instance. It feels like the missing puzzle piece. I'm also introducing `ExpnId` from rustc as "useful for Clippy too". `@rust-lang/clippy` Fixes #7843 by not parsing every node of macro implementations, at least the major offenders. I probably want to get rid of `is_expn_of` at some point.
109 lines
2.6 KiB
Plaintext
109 lines
2.6 KiB
Plaintext
error: docs for function which may panic missing `# Panics` section
|
|
--> $DIR/missing_panics_doc.rs:6:1
|
|
|
|
|
LL | / pub fn unwrap() {
|
|
LL | | let result = Err("Hi");
|
|
LL | | result.unwrap()
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
= note: `-D clippy::missing-panics-doc` implied by `-D warnings`
|
|
note: first possible panic found here
|
|
--> $DIR/missing_panics_doc.rs:8:5
|
|
|
|
|
LL | result.unwrap()
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
error: docs for function which may panic missing `# Panics` section
|
|
--> $DIR/missing_panics_doc.rs:12:1
|
|
|
|
|
LL | / pub fn panic() {
|
|
LL | | panic!("This function panics")
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
note: first possible panic found here
|
|
--> $DIR/missing_panics_doc.rs:13:5
|
|
|
|
|
LL | panic!("This function panics")
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: docs for function which may panic missing `# Panics` section
|
|
--> $DIR/missing_panics_doc.rs:17:1
|
|
|
|
|
LL | / pub fn todo() {
|
|
LL | | todo!()
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
note: first possible panic found here
|
|
--> $DIR/missing_panics_doc.rs:18:5
|
|
|
|
|
LL | todo!()
|
|
| ^^^^^^^
|
|
|
|
error: docs for function which may panic missing `# Panics` section
|
|
--> $DIR/missing_panics_doc.rs:22:1
|
|
|
|
|
LL | / pub fn inner_body(opt: Option<u32>) {
|
|
LL | | opt.map(|x| {
|
|
LL | | if x == 10 {
|
|
LL | | panic!()
|
|
LL | | }
|
|
LL | | });
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
note: first possible panic found here
|
|
--> $DIR/missing_panics_doc.rs:25:13
|
|
|
|
|
LL | panic!()
|
|
| ^^^^^^^^
|
|
|
|
error: docs for function which may panic missing `# Panics` section
|
|
--> $DIR/missing_panics_doc.rs:31:1
|
|
|
|
|
LL | / pub fn unreachable_and_panic() {
|
|
LL | | if true { unreachable!() } else { panic!() }
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
note: first possible panic found here
|
|
--> $DIR/missing_panics_doc.rs:32:39
|
|
|
|
|
LL | if true { unreachable!() } else { panic!() }
|
|
| ^^^^^^^^
|
|
|
|
error: docs for function which may panic missing `# Panics` section
|
|
--> $DIR/missing_panics_doc.rs:36:1
|
|
|
|
|
LL | / pub fn assert_eq() {
|
|
LL | | let x = 0;
|
|
LL | | assert_eq!(x, 0);
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
note: first possible panic found here
|
|
--> $DIR/missing_panics_doc.rs:38:5
|
|
|
|
|
LL | assert_eq!(x, 0);
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
error: docs for function which may panic missing `# Panics` section
|
|
--> $DIR/missing_panics_doc.rs:42:1
|
|
|
|
|
LL | / pub fn assert_ne() {
|
|
LL | | let x = 0;
|
|
LL | | assert_ne!(x, 0);
|
|
LL | | }
|
|
| |_^
|
|
|
|
|
note: first possible panic found here
|
|
--> $DIR/missing_panics_doc.rs:44:5
|
|
|
|
|
LL | assert_ne!(x, 0);
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
error: aborting due to 7 previous errors
|
|
|