[INFO] cloning repository https://github.com/denzyldick/phanalist [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/denzyldick/phanalist" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdenzyldick%2Fphanalist", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdenzyldick%2Fphanalist'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a9c7cfb9413c74548f119f09b571e6587f6c59a9 [INFO] building denzyldick/phanalist against master#44f415c1d617ebc7b931a243b7b321ef8a6ca47c for pr-142134-abi-ast-error [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdenzyldick%2Fphanalist" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/denzyldick/phanalist on toolchain 44f415c1d617ebc7b931a243b7b321ef8a6ca47c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/denzyldick/phanalist [INFO] finished tweaking git repo https://github.com/denzyldick/phanalist [INFO] tweaked toml for git repo https://github.com/denzyldick/phanalist written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/denzyldick/phanalist already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/php-rust-tools/parser` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded schemafy_core v0.6.0 [INFO] [stderr] Downloaded schemafy_lib v0.6.0 [INFO] [stderr] Downloaded cli-table-derive v0.4.6 [INFO] [stderr] Downloaded cli-table v0.4.9 [INFO] [stderr] Downloaded serde-sarif v0.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 098d7d9ed0aa81b98caa4dec64938d2a7dd3e06123cb1c4fa36f8cf74ab3a311 [INFO] running `Command { std: "docker" "start" "-a" "098d7d9ed0aa81b98caa4dec64938d2a7dd3e06123cb1c4fa36f8cf74ab3a311", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "098d7d9ed0aa81b98caa4dec64938d2a7dd3e06123cb1c4fa36f8cf74ab3a311", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "098d7d9ed0aa81b98caa4dec64938d2a7dd3e06123cb1c4fa36f8cf74ab3a311", kill_on_drop: false }` [INFO] [stdout] 098d7d9ed0aa81b98caa4dec64938d2a7dd3e06123cb1c4fa36f8cf74ab3a311 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 52aa13816e24d37f68cf3f9b8911938f70e38691bae19e7baf5da742ea9500fa [INFO] running `Command { std: "docker" "start" "-a" "52aa13816e24d37f68cf3f9b8911938f70e38691bae19e7baf5da742ea9500fa", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling prettyplease v0.2.20 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling anstyle-parse v0.2.4 [INFO] [stderr] Compiling uriparse v0.6.4 [INFO] [stderr] Compiling colorchoice v1.0.1 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling anstyle v1.0.7 [INFO] [stderr] Compiling anstyle-query v1.1.0 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.0 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling clap_lex v0.7.1 [INFO] [stderr] Compiling schemars v0.8.21 [INFO] [stderr] Compiling portable-atomic v1.7.0 [INFO] [stderr] Compiling unicode-width v0.1.13 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling anstream v0.6.14 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling yansi v0.5.1 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling dyn-clone v1.0.17 [INFO] [stderr] Compiling console v0.15.8 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling clap_builder v4.5.9 [INFO] [stderr] Compiling ariadne v0.1.5 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling csv-core v0.1.11 [INFO] [stderr] Compiling crossbeam-queue v0.3.11 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling number_prefix v0.4.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling syn v2.0.71 [INFO] [stderr] Compiling indexmap v2.2.6 [INFO] [stderr] Compiling memory-stats v1.2.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.5 [INFO] [stderr] Compiling indicatif v0.17.8 [INFO] [stderr] Compiling colored v2.1.0 [INFO] [stderr] Compiling exitcode v1.1.2 [INFO] [stderr] Compiling human_bytes v0.4.3 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling jwalk v0.8.1 [INFO] [stderr] Compiling cli-table-derive v0.4.6 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling regex v1.10.5 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling clap_derive v4.5.8 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling schemars_derive v0.8.21 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling clap v4.5.9 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling derive_builder_core v0.20.0 [INFO] [stderr] Compiling derive_builder_macro v0.20.0 [INFO] [stderr] Compiling derive_builder v0.20.0 [INFO] [stderr] Compiling csv v1.3.0 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling cli-table v0.4.9 [INFO] [stderr] Compiling schemafy_core v0.6.0 [INFO] [stderr] Compiling schemafy_lib v0.6.0 [INFO] [stderr] Compiling serde-sarif v0.5.0 [INFO] [stderr] Compiling php-parser-rs v0.1.3 (https://github.com/php-rust-tools/parser#ec4cb411) [INFO] [stderr] Compiling phanalist v0.1.21 (/opt/rustwide/workdir) [INFO] [stdout] warning: method `output` is never used [INFO] [stdout] --> src/analyse.rs:157:19 [INFO] [stdout] | [INFO] [stdout] 55 | impl Analyse { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | pub(crate) fn output(&mut self, results: &mut Results, format: Format, summary_only: bool) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `OutputFormatter` is never used [INFO] [stdout] --> src/outputs/mod.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait OutputFormatter { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeClimate` is never constructed [INFO] [stdout] --> src/outputs/codeclimate.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct CodeClimate {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Text` is never constructed [INFO] [stdout] --> src/outputs/text.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Text {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `output_files_with_violations` and `output_summary` are never used [INFO] [stdout] --> src/outputs/text.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 33 | impl Text { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 34 | fn output_files_with_violations(results: &Results) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | fn output_summary(results: &Results) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Json` is never constructed [INFO] [stdout] --> src/outputs/json.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Json {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sarif` is never constructed [INFO] [stdout] --> src/outputs/sarif.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Sarif {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `description` and `get_detailed_explanation` are never used [INFO] [stdout] --> src/rules/mod.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub trait Rule { [INFO] [stdout] | ---- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 38 | fn description(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn get_detailed_explanation(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CODE` is never used [INFO] [stdout] --> src/rules/e0.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | static CODE: &str = "E0000"; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e0.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Example rule"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rule` is never constructed [INFO] [stdout] --> src/rules/e0.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Rule {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e1.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Opening tag position"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e10.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | static DESCRIPTION: &str = "Npath complexity"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e11.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static DESCRIPTION: &str = "Detect the error suppression symbol: @"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e12.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | static DESCRIPTION: &str = "Service compatibility with Shared Memory Model"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e13.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Private method not being called."; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e2.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | static DESCRIPTION: &str = "Empty catch"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e3.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static DESCRIPTION: &str = "Method modifiers"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e4.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static DESCRIPTION: &str = "Uppercase constants"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e5.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Capitalized class name"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e6.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | static DESCRIPTION: &str = "Property modifiers"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e7.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | static DESCRIPTION: &str = "Method parameters count"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e8.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | static DESCRIPTION: &str = "Return type signature"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e9.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | static DESCRIPTION: &str = "Cyclomatic complexity"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:100:44 [INFO] [stdout] | [INFO] [stdout] 100 | fn flatten_statements_to_validate<'a>(&'a self, statement: &'a Statement) -> Vec<&Statement> { [INFO] [stdout] | ^^ ^^ ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | | these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 100 | fn flatten_statements_to_validate<'a>(&'a self, statement: &'a Statement) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:107:10 [INFO] [stdout] | [INFO] [stdout] 107 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 108 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 109 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 110 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 110 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 136 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 137 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 138 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 138 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e1.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 69 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 70 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 71 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 71 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e10.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 80 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 81 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 82 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 82 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:130:10 [INFO] [stdout] | [INFO] [stdout] 130 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 131 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 132 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 133 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 133 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:215:10 [INFO] [stdout] | [INFO] [stdout] 215 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 216 | mut flatten_property_expressions: Vec<&'a Expression>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 217 | expression: &'a Expression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 218 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 218 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 259 | short_array: &'a ShortArrayExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 260 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 260 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:280:10 [INFO] [stdout] | [INFO] [stdout] 280 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 281 | assignment: &'a AssignmentOperationExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 282 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 282 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:326:10 [INFO] [stdout] | [INFO] [stdout] 326 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 327 | arithmetic: &'a ArithmeticOperationExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 328 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 328 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 354 | method_call: &'a MethodCallExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 355 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 355 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e3.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 59 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 60 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 61 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 61 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e4.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 47 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 48 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 48 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e5.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 36 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 37 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 38 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 38 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e6.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 44 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 45 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 46 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e7.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 87 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 88 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 89 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 89 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e8.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 45 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 47 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 47 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e9.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 79 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 80 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 81 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 81 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CODE` is never used [INFO] [stdout] --> src/rules/e0.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | static CODE: &str = "E0000"; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e0.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Example rule"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rule` is never constructed [INFO] [stdout] --> src/rules/e0.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Rule {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:100:44 [INFO] [stdout] | [INFO] [stdout] 100 | fn flatten_statements_to_validate<'a>(&'a self, statement: &'a Statement) -> Vec<&Statement> { [INFO] [stdout] | ^^ ^^ ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | | these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 100 | fn flatten_statements_to_validate<'a>(&'a self, statement: &'a Statement) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:107:10 [INFO] [stdout] | [INFO] [stdout] 107 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 108 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 109 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 110 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 110 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 136 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 137 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 138 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 138 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e1.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 69 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 70 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 71 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 71 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e10.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 80 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 81 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 82 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 82 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:130:10 [INFO] [stdout] | [INFO] [stdout] 130 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 131 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 132 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 133 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 133 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:215:10 [INFO] [stdout] | [INFO] [stdout] 215 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 216 | mut flatten_property_expressions: Vec<&'a Expression>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 217 | expression: &'a Expression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 218 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 218 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 259 | short_array: &'a ShortArrayExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 260 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 260 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:280:10 [INFO] [stdout] | [INFO] [stdout] 280 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 281 | assignment: &'a AssignmentOperationExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 282 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 282 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:326:10 [INFO] [stdout] | [INFO] [stdout] 326 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 327 | arithmetic: &'a ArithmeticOperationExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 328 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 328 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 354 | method_call: &'a MethodCallExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 355 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 355 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e3.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 59 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 60 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 61 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 61 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e4.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 47 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 48 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 48 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e5.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 36 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 37 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 38 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 38 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e6.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 44 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 45 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 46 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e7.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 87 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 88 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 89 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 89 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e8.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 45 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 47 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 47 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e9.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 79 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 80 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 81 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 81 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s [INFO] running `Command { std: "docker" "inspect" "52aa13816e24d37f68cf3f9b8911938f70e38691bae19e7baf5da742ea9500fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52aa13816e24d37f68cf3f9b8911938f70e38691bae19e7baf5da742ea9500fa", kill_on_drop: false }` [INFO] [stdout] 52aa13816e24d37f68cf3f9b8911938f70e38691bae19e7baf5da742ea9500fa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0f67406e2b5fe133c86a1053fd0aef7d4350ea248bed72154faeb53fe79dd865 [INFO] running `Command { std: "docker" "start" "-a" "0f67406e2b5fe133c86a1053fd0aef7d4350ea248bed72154faeb53fe79dd865", kill_on_drop: false }` [INFO] [stdout] warning: method `output` is never used [INFO] [stdout] --> src/analyse.rs:157:19 [INFO] [stdout] | [INFO] [stdout] 55 | impl Analyse { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | pub(crate) fn output(&mut self, results: &mut Results, format: Format, summary_only: bool) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `OutputFormatter` is never used [INFO] [stdout] --> src/outputs/mod.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait OutputFormatter { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeClimate` is never constructed [INFO] [stdout] --> src/outputs/codeclimate.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct CodeClimate {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Text` is never constructed [INFO] [stdout] --> src/outputs/text.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Text {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `output_files_with_violations` and `output_summary` are never used [INFO] [stdout] --> src/outputs/text.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 33 | impl Text { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 34 | fn output_files_with_violations(results: &Results) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | fn output_summary(results: &Results) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Json` is never constructed [INFO] [stdout] --> src/outputs/json.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Json {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sarif` is never constructed [INFO] [stdout] --> src/outputs/sarif.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Sarif {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `description` and `get_detailed_explanation` are never used [INFO] [stdout] --> src/rules/mod.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub trait Rule { [INFO] [stdout] | ---- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 38 | fn description(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn get_detailed_explanation(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CODE` is never used [INFO] [stdout] --> src/rules/e0.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | static CODE: &str = "E0000"; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e0.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Example rule"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rule` is never constructed [INFO] [stdout] --> src/rules/e0.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Rule {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e1.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Opening tag position"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e10.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | static DESCRIPTION: &str = "Npath complexity"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e11.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static DESCRIPTION: &str = "Detect the error suppression symbol: @"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e12.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | static DESCRIPTION: &str = "Service compatibility with Shared Memory Model"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e13.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Private method not being called."; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e2.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | static DESCRIPTION: &str = "Empty catch"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e3.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static DESCRIPTION: &str = "Method modifiers"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e4.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static DESCRIPTION: &str = "Uppercase constants"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e5.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Capitalized class name"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e6.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | static DESCRIPTION: &str = "Property modifiers"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e7.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | static DESCRIPTION: &str = "Method parameters count"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e8.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | static DESCRIPTION: &str = "Return type signature"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e9.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | static DESCRIPTION: &str = "Cyclomatic complexity"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:100:44 [INFO] [stdout] | [INFO] [stdout] 100 | fn flatten_statements_to_validate<'a>(&'a self, statement: &'a Statement) -> Vec<&Statement> { [INFO] [stdout] | ^^ ^^ ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | | these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 100 | fn flatten_statements_to_validate<'a>(&'a self, statement: &'a Statement) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:107:10 [INFO] [stdout] | [INFO] [stdout] 107 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 108 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 109 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 110 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 110 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 136 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 137 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 138 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 138 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e1.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 69 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 70 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 71 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 71 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e10.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 80 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 81 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 82 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 82 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:130:10 [INFO] [stdout] | [INFO] [stdout] 130 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 131 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 132 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 133 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 133 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:215:10 [INFO] [stdout] | [INFO] [stdout] 215 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 216 | mut flatten_property_expressions: Vec<&'a Expression>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 217 | expression: &'a Expression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 218 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 218 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 259 | short_array: &'a ShortArrayExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 260 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 260 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:280:10 [INFO] [stdout] | [INFO] [stdout] 280 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 281 | assignment: &'a AssignmentOperationExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 282 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 282 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:326:10 [INFO] [stdout] | [INFO] [stdout] 326 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 327 | arithmetic: &'a ArithmeticOperationExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 328 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 328 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 354 | method_call: &'a MethodCallExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 355 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 355 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e3.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 59 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 60 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 61 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 61 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e4.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 47 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 48 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 48 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e5.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 36 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 37 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 38 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 38 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling phanalist v0.1.21 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e6.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 44 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 45 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 46 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e7.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 87 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 88 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 89 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 89 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e8.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 45 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 47 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 47 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e9.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 79 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 80 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 81 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 81 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `output` is never used [INFO] [stdout] --> src/analyse.rs:157:19 [INFO] [stdout] | [INFO] [stdout] 55 | impl Analyse { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | pub(crate) fn output(&mut self, results: &mut Results, format: Format, summary_only: bool) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `OutputFormatter` is never used [INFO] [stdout] --> src/outputs/mod.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait OutputFormatter { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeClimate` is never constructed [INFO] [stdout] --> src/outputs/codeclimate.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct CodeClimate {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Text` is never constructed [INFO] [stdout] --> src/outputs/text.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Text {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `output_files_with_violations` and `output_summary` are never used [INFO] [stdout] --> src/outputs/text.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 33 | impl Text { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 34 | fn output_files_with_violations(results: &Results) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | fn output_summary(results: &Results) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Json` is never constructed [INFO] [stdout] --> src/outputs/json.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Json {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sarif` is never constructed [INFO] [stdout] --> src/outputs/sarif.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Sarif {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `description` is never used [INFO] [stdout] --> src/rules/mod.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub trait Rule { [INFO] [stdout] | ---- method in this trait [INFO] [stdout] ... [INFO] [stdout] 38 | fn description(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e0.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Example rule"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rule` is never constructed [INFO] [stdout] --> src/rules/e0.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Rule {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e1.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Opening tag position"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e10.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | static DESCRIPTION: &str = "Npath complexity"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e11.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static DESCRIPTION: &str = "Detect the error suppression symbol: @"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e12.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | static DESCRIPTION: &str = "Service compatibility with Shared Memory Model"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e13.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Private method not being called."; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e2.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | static DESCRIPTION: &str = "Empty catch"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e3.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static DESCRIPTION: &str = "Method modifiers"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e4.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static DESCRIPTION: &str = "Uppercase constants"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e5.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Capitalized class name"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e6.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | static DESCRIPTION: &str = "Property modifiers"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e7.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | static DESCRIPTION: &str = "Method parameters count"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e8.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | static DESCRIPTION: &str = "Return type signature"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e9.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | static DESCRIPTION: &str = "Cyclomatic complexity"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:100:44 [INFO] [stdout] | [INFO] [stdout] 100 | fn flatten_statements_to_validate<'a>(&'a self, statement: &'a Statement) -> Vec<&Statement> { [INFO] [stdout] | ^^ ^^ ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | | these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 100 | fn flatten_statements_to_validate<'a>(&'a self, statement: &'a Statement) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:107:10 [INFO] [stdout] | [INFO] [stdout] 107 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 108 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 109 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 110 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 110 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 136 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 137 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 138 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 138 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e1.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 69 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 70 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 71 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 71 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e10.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 80 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 81 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 82 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 82 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:130:10 [INFO] [stdout] | [INFO] [stdout] 130 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 131 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 132 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 133 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 133 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:215:10 [INFO] [stdout] | [INFO] [stdout] 215 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 216 | mut flatten_property_expressions: Vec<&'a Expression>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 217 | expression: &'a Expression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 218 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 218 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 259 | short_array: &'a ShortArrayExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 260 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 260 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:280:10 [INFO] [stdout] | [INFO] [stdout] 280 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 281 | assignment: &'a AssignmentOperationExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 282 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 282 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:326:10 [INFO] [stdout] | [INFO] [stdout] 326 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 327 | arithmetic: &'a ArithmeticOperationExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 328 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 328 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 354 | method_call: &'a MethodCallExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 355 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 355 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e3.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 59 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 60 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 61 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 61 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e4.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 47 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 48 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 48 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e5.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 36 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 37 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 38 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 38 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e6.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 44 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 45 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 46 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e7.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 87 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 88 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 89 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 89 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e8.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 45 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 47 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 47 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e9.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 79 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 80 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 81 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 81 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DESCRIPTION` is never used [INFO] [stdout] --> src/rules/e0.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | static DESCRIPTION: &str = "Example rule"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rule` is never constructed [INFO] [stdout] --> src/rules/e0.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Rule {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:100:44 [INFO] [stdout] | [INFO] [stdout] 100 | fn flatten_statements_to_validate<'a>(&'a self, statement: &'a Statement) -> Vec<&Statement> { [INFO] [stdout] | ^^ ^^ ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | | | [INFO] [stdout] | | these lifetimes flow to the output [INFO] [stdout] | these lifetimes flow to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 100 | fn flatten_statements_to_validate<'a>(&'a self, statement: &'a Statement) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:107:10 [INFO] [stdout] | [INFO] [stdout] 107 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 108 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 109 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 110 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 110 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/mod.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 136 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 137 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 138 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 138 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e1.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 69 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 70 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 71 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 71 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e10.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 80 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 81 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 82 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 82 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:130:10 [INFO] [stdout] | [INFO] [stdout] 130 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 131 | mut flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 132 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 133 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 133 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:215:10 [INFO] [stdout] | [INFO] [stdout] 215 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 216 | mut flatten_property_expressions: Vec<&'a Expression>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 217 | expression: &'a Expression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 218 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 218 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 259 | short_array: &'a ShortArrayExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 260 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 260 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:280:10 [INFO] [stdout] | [INFO] [stdout] 280 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 281 | assignment: &'a AssignmentOperationExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 282 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 282 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:326:10 [INFO] [stdout] | [INFO] [stdout] 326 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 327 | arithmetic: &'a ArithmeticOperationExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 328 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 328 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e12.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 354 | method_call: &'a MethodCallExpression, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 355 | ) -> Vec<&Expression> { [INFO] [stdout] | ----------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 355 | ) -> Vec<&'a Expression> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e3.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 59 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 60 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 61 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 61 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e4.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 47 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 48 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 48 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e5.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 36 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 37 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 38 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 38 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e6.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 44 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 45 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 46 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e7.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 87 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 88 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 89 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 89 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e8.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 45 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 46 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 47 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 47 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rules/e9.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | &'a self, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 79 | flatten_statements: Vec<&'a Statement>, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 80 | statement: &'a Statement, [INFO] [stdout] | ^^ these lifetimes flow to the output [INFO] [stdout] 81 | ) -> Vec<&Statement> { [INFO] [stdout] | ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 81 | ) -> Vec<&'a Statement> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.05s [INFO] running `Command { std: "docker" "inspect" "0f67406e2b5fe133c86a1053fd0aef7d4350ea248bed72154faeb53fe79dd865", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f67406e2b5fe133c86a1053fd0aef7d4350ea248bed72154faeb53fe79dd865", kill_on_drop: false }` [INFO] [stdout] 0f67406e2b5fe133c86a1053fd0aef7d4350ea248bed72154faeb53fe79dd865