[INFO] fetching crate garando_syntax 0.1.1...
[INFO] checking garando_syntax-0.1.1 against try#7b3da9103634dffd4f4365cfd8642427c781d99f+rustflags=-Dinherent-method-on-receiver for 152214-denied
[INFO] extracting crate garando_syntax 0.1.1 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate garando_syntax 0.1.1
[INFO] finished tweaking crates.io crate garando_syntax 0.1.1
[INFO] tweaked toml for crates.io crate garando_syntax 0.1.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate garando_syntax 0.1.1 on toolchain 7b3da9103634dffd4f4365cfd8642427c781d99f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 32 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (available: v2.10.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 14416a5ac3a4f03dfdf1b4a6f9039c9868c92c872bff85f949c9e0fcf5820e45
[INFO] running `Command { std: "docker" "start" "-a" "14416a5ac3a4f03dfdf1b4a6f9039c9868c92c872bff85f949c9e0fcf5820e45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "14416a5ac3a4f03dfdf1b4a6f9039c9868c92c872bff85f949c9e0fcf5820e45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14416a5ac3a4f03dfdf1b4a6f9039c9868c92c872bff85f949c9e0fcf5820e45", kill_on_drop: false }`
[INFO] [stdout] 14416a5ac3a4f03dfdf1b4a6f9039c9868c92c872bff85f949c9e0fcf5820e45
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=forbid -Dinherent-method-on-receiver" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 74c6370328670b3f1c4a2903f5d0a7ab770fb970d8a29ed2c7d032167ac3be8b
[INFO] running `Command { std: "docker" "start" "-a" "74c6370328670b3f1c4a2903f5d0a7ab770fb970d8a29ed2c7d032167ac3be8b", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]     Checking term v0.6.1
[INFO] [stderr]     Checking garando_pos v0.1.0
[INFO] [stderr]     Checking garando_errors v0.1.0
[INFO] [stderr]     Checking garando_syntax v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::ext`
[INFO] [stdout]   --> src/ext/build.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub use crate::ext;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parse`
[INFO] [stdout]   --> src/ext/build.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub use crate::parse;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ext`
[INFO] [stdout]   --> src/ext/build.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub use crate::ext;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parse`
[INFO] [stdout]   --> src/ext/build.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub use crate::parse;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp_lhs`
[INFO] [stdout]    --> src/codemap.rs:499:27
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn merge_spans(&self, sp_lhs: Span, sp_rhs: Span) -> Option<Span> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sp_lhs`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp_rhs`
[INFO] [stdout]    --> src/codemap.rs:499:41
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn merge_spans(&self, sp_lhs: Span, sp_rhs: Span) -> Option<Span> {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sp_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp_lhs`
[INFO] [stdout]    --> src/codemap.rs:499:27
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn merge_spans(&self, sp_lhs: Span, sp_rhs: Span) -> Option<Span> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sp_lhs`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp_rhs`
[INFO] [stdout]    --> src/codemap.rs:499:41
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn merge_spans(&self, sp_lhs: Span, sp_rhs: Span) -> Option<Span> {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sp_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_unsigned_leb128_to_buf` is never used
[INFO] [stdout]  --> src/rustc_data_structures/stable_hasher.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn write_unsigned_leb128_to_buf(buf: &mut [u8; 16], value: u64) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_signed_leb128_to_buf` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn write_signed_leb128_to_buf(buf: &mut [u8; 16], value: i64) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StableHasher` is never constructed
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct StableHasher<W> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StableHasherResult` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait StableHasherResult: Sized {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_uleb128` and `write_ileb128` are never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl<W> StableHasher<W> {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] 64 |     #[inline]
[INFO] [stdout] 65 |     fn write_uleb128(&mut self, value: u64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn write_ileb128(&mut self, value: i64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HashStable` is never used
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:150:11
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub trait HashStable<CTX> {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blake2bCtx` is never constructed
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Blake2bCtx {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `b2b_g` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn b2b_g(v: &mut [u64; 16], a: usize, b: usize, c: usize, d: usize, x: u64, y: u64) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLAKE2B_IV` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const BLAKE2B_IV: [u64; 8] = [
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_compress` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn blake2b_compress(ctx: &mut Blake2bCtx, last: bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_update` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn blake2b_update(ctx: &mut Blake2bCtx, mut data: &[u8]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_final` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn blake2b_final(ctx: &mut Blake2bCtx) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checked_mem_copy` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:206:4
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn checked_mem_copy<T1, T2>(from: &[T1], to: &mut [T2], byte_count: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blake2bHasher` is never constructed
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub struct Blake2bHasher(Blake2bCtx);
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `finalize` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl Blake2bHasher {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 235 |     pub fn finalize(&mut self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_unsigned_leb128_to` is never used
[INFO] [stdout]  --> src/rustc_data_structures/leb128.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn write_unsigned_leb128_to<W>(mut value: u128, mut write: W) -> usize
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_signed_leb128_to` is never used
[INFO] [stdout]   --> src/rustc_data_structures/leb128.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn write_signed_leb128_to<W>(mut value: i128, mut write: W) -> usize
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CodeMapExtension` is never used
[INFO] [stdout]    --> src/codemap.rs:772:11
[INFO] [stdout]     |
[INFO] [stdout] 772 |     trait CodeMapExtension {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:188:33
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let val: u32 = unsafe { ::std::mem::transmute(*self) };
[INFO] [stdout]     |                                 ---------------------^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: replace this with: `f32::to_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:195:33
[INFO] [stdout]     |
[INFO] [stdout] 195 |         let val: u64 = unsafe { ::std::mem::transmute(*self) };
[INFO] [stdout]     |                                 ---------------------^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codemap.rs:114:18
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn files(&self) -> Ref<Vec<Rc<FileMap>>> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn files(&self) -> Ref<'_, Vec<Rc<FileMap>>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 105 | ) -> PResult<ast::Crate> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 105 | ) -> PResult<'_, ast::Crate> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:112:11
[INFO] [stdout]     |
[INFO] [stdout] 112 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 113 | ) -> PResult<Vec<ast::Attribute>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 | ) -> PResult<'_, Vec<ast::Attribute>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 121 | ) -> PResult<P<ast::Expr>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 121 | ) -> PResult<'_, P<ast::Expr>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:132:11
[INFO] [stdout]     |
[INFO] [stdout] 132 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 133 | ) -> PResult<Option<P<ast::Item>>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 133 | ) -> PResult<'_, Option<P<ast::Item>>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:140:11
[INFO] [stdout]     |
[INFO] [stdout] 140 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 141 | ) -> PResult<ast::MetaItem> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 | ) -> PResult<'_, ast::MetaItem> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:148:11
[INFO] [stdout]     |
[INFO] [stdout] 148 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 149 | ) -> PResult<Option<ast::Stmt>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 149 | ) -> PResult<'_, Option<ast::Stmt>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:158:41
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn new_parser_from_source_str(sess: &ParseSess, name: String, source: String) -> Parser {
[INFO] [stdout]     |                                         ^^^^^^^^^^ the lifetime is elided here       ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn new_parser_from_source_str(sess: &ParseSess, name: String, source: String) -> Parser<'_> {
[INFO] [stdout]     |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:187:32
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn filemap_to_parser(sess: &ParseSess, filemap: Rc<FileMap>) -> Parser {
[INFO] [stdout]     |                                ^^^^^^^^^^                           ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn filemap_to_parser(sess: &ParseSess, filemap: Rc<FileMap>) -> Parser<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:204:34
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn new_parser_from_tts(sess: &ParseSess, tts: Vec<TokenTree>) -> Parser {
[INFO] [stdout]     |                                  ^^^^^^^^^^                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn new_parser_from_tts(sess: &ParseSess, tts: Vec<TokenTree>) -> Parser<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:233:31
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn stream_to_parser(sess: &ParseSess, stream: TokenStream) -> Parser {
[INFO] [stdout]     |                               ^^^^^^^^^^                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn stream_to_parser(sess: &ParseSess, stream: TokenStream) -> Parser<'_> {
[INFO] [stdout]     |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/parser.rs:392:46
[INFO] [stdout]     |
[INFO] [stdout] 392 |     pub fn span_err(self, sp: Span, handler: &errors::Handler) -> DiagnosticBuilder {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 392 |     pub fn span_err(self, sp: Span, handler: &errors::Handler) -> DiagnosticBuilder<'_> {
[INFO] [stdout]     |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: inherent methods on types that implement `Deref` or `Receiver` shadow methods of their target
[INFO] [stdout]   --> src/ptr.rs:55:27
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn and_then<U, F>(self, f: F) -> U
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 | impl<T: ?Sized> Deref for P<T> {
[INFO] [stdout]    | ------------------------------ trait implemented here
[INFO] [stdout] 91 |     type Target = T;
[INFO] [stdout]    |     ----------- with `Target` set here
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D inherent-method-on-receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: inherent methods on types that implement `Deref` or `Receiver` shadow methods of their target
[INFO] [stdout]   --> src/ptr.rs:62:19
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn unwrap(self) -> T {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 | impl<T: ?Sized> Deref for P<T> {
[INFO] [stdout]    | ------------------------------ trait implemented here
[INFO] [stdout] 91 |     type Target = T;
[INFO] [stdout]    |     ----------- with `Target` set here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: inherent methods on types that implement `Deref` or `Receiver` shadow methods of their target
[INFO] [stdout]   --> src/ptr.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn map<F>(mut self, f: F) -> P<T>
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 | impl<T: ?Sized> Deref for P<T> {
[INFO] [stdout]    | ------------------------------ trait implemented here
[INFO] [stdout] 91 |     type Target = T;
[INFO] [stdout]    |     ----------- with `Target` set here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
[INFO] [stdout]    --> src/ptr.rs:210:18
[INFO] [stdout]     |
[INFO] [stdout] 210 |         self.ptr.into_iter()
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
[INFO] [stdout]     = note: `#[warn(boxed_slice_into_iter)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 210 -         self.ptr.into_iter()
[INFO] [stdout] 210 +         self.ptr.iter()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 210 -         self.ptr.into_iter()
[INFO] [stdout] 210 +         IntoIterator::into_iter(self.ptr)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:231:35
[INFO] [stdout]     |
[INFO] [stdout] 231 |     walk_list!(visitor, visit_ty, &local.ty);
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:232:37
[INFO] [stdout]     |
[INFO] [stdout] 232 |     walk_list!(visitor, visit_expr, &local.init);
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:317:50
[INFO] [stdout]     |
[INFO] [stdout] 317 |             walk_list!(visitor, visit_trait_ref, opt_trait_reference);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:368:37
[INFO] [stdout]     |
[INFO] [stdout] 368 |     walk_list!(visitor, visit_expr, &variant.node.disr_expr);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:377:49
[INFO] [stdout]     |
[INFO] [stdout] 377 |             walk_list!(visitor, visit_lifetime, opt_lifetime);
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:448:43
[INFO] [stdout]     |
[INFO] [stdout] 448 |             walk_list!(visitor, visit_ty, &data.output);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:486:44
[INFO] [stdout]     |
[INFO] [stdout] 486 |             walk_list!(visitor, visit_pat, optional_subpattern);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:496:44
[INFO] [stdout]     |
[INFO] [stdout] 496 |             walk_list!(visitor, visit_pat, slice_pattern);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:533:39
[INFO] [stdout]     |
[INFO] [stdout] 533 |         walk_list!(visitor, visit_ty, &param.default);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:617:45
[INFO] [stdout]     |
[INFO] [stdout] 617 |             walk_list!(visitor, visit_expr, default);
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:633:43
[INFO] [stdout]     |
[INFO] [stdout] 633 |             walk_list!(visitor, visit_ty, default);
[INFO] [stdout]     |                                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:727:45
[INFO] [stdout]     |
[INFO] [stdout] 727 |             walk_list!(visitor, visit_expr, optional_base);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:756:45
[INFO] [stdout]     |
[INFO] [stdout] 756 |             walk_list!(visitor, visit_expr, optional_else);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:767:45
[INFO] [stdout]     |
[INFO] [stdout] 767 |             walk_list!(visitor, visit_expr, optional_else);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:816:45
[INFO] [stdout]     |
[INFO] [stdout] 816 |             walk_list!(visitor, visit_expr, start);
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:817:45
[INFO] [stdout]     |
[INFO] [stdout] 817 |             walk_list!(visitor, visit_expr, end);
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:827:45
[INFO] [stdout]     |
[INFO] [stdout] 827 |             walk_list!(visitor, visit_expr, opt_expr);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:833:45
[INFO] [stdout]     |
[INFO] [stdout] 833 |             walk_list!(visitor, visit_expr, optional_expression);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:854:37
[INFO] [stdout]     |
[INFO] [stdout] 854 |     walk_list!(visitor, visit_expr, &arm.guard);
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `garando_syntax` (lib test) due to 3 previous errors; 56 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `write_unsigned_leb128_to_buf` is never used
[INFO] [stdout]  --> src/rustc_data_structures/stable_hasher.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn write_unsigned_leb128_to_buf(buf: &mut [u8; 16], value: u64) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_signed_leb128_to_buf` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn write_signed_leb128_to_buf(buf: &mut [u8; 16], value: i64) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StableHasher` is never constructed
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct StableHasher<W> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StableHasherResult` is never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait StableHasherResult: Sized {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_uleb128` and `write_ileb128` are never used
[INFO] [stdout]   --> src/rustc_data_structures/stable_hasher.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl<W> StableHasher<W> {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] 64 |     #[inline]
[INFO] [stdout] 65 |     fn write_uleb128(&mut self, value: u64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn write_ileb128(&mut self, value: i64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HashStable` is never used
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:150:11
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub trait HashStable<CTX> {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blake2bCtx` is never constructed
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Blake2bCtx {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `b2b_g` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn b2b_g(v: &mut [u64; 16], a: usize, b: usize, c: usize, d: usize, x: u64, y: u64) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLAKE2B_IV` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const BLAKE2B_IV: [u64; 8] = [
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_compress` is never used
[INFO] [stdout]   --> src/rustc_data_structures/blake2b.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn blake2b_compress(ctx: &mut Blake2bCtx, last: bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_update` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn blake2b_update(ctx: &mut Blake2bCtx, mut data: &[u8]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blake2b_final` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn blake2b_final(ctx: &mut Blake2bCtx) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checked_mem_copy` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:206:4
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn checked_mem_copy<T1, T2>(from: &[T1], to: &mut [T2], byte_count: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blake2bHasher` is never constructed
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub struct Blake2bHasher(Blake2bCtx);
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `finalize` is never used
[INFO] [stdout]    --> src/rustc_data_structures/blake2b.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl Blake2bHasher {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 235 |     pub fn finalize(&mut self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_unsigned_leb128_to` is never used
[INFO] [stdout]  --> src/rustc_data_structures/leb128.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn write_unsigned_leb128_to<W>(mut value: u128, mut write: W) -> usize
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_signed_leb128_to` is never used
[INFO] [stdout]   --> src/rustc_data_structures/leb128.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn write_signed_leb128_to<W>(mut value: i128, mut write: W) -> usize
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:188:33
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let val: u32 = unsafe { ::std::mem::transmute(*self) };
[INFO] [stdout]     |                                 ---------------------^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: replace this with: `f32::to_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/rustc_data_structures/stable_hasher.rs:195:33
[INFO] [stdout]     |
[INFO] [stdout] 195 |         let val: u64 = unsafe { ::std::mem::transmute(*self) };
[INFO] [stdout]     |                                 ---------------------^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: replace this with: `f64::to_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codemap.rs:114:18
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn files(&self) -> Ref<Vec<Rc<FileMap>>> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn files(&self) -> Ref<'_, Vec<Rc<FileMap>>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 105 | ) -> PResult<ast::Crate> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 105 | ) -> PResult<'_, ast::Crate> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:112:11
[INFO] [stdout]     |
[INFO] [stdout] 112 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 113 | ) -> PResult<Vec<ast::Attribute>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 | ) -> PResult<'_, Vec<ast::Attribute>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 121 | ) -> PResult<P<ast::Expr>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 121 | ) -> PResult<'_, P<ast::Expr>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:132:11
[INFO] [stdout]     |
[INFO] [stdout] 132 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 133 | ) -> PResult<Option<P<ast::Item>>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 133 | ) -> PResult<'_, Option<P<ast::Item>>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:140:11
[INFO] [stdout]     |
[INFO] [stdout] 140 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 141 | ) -> PResult<ast::MetaItem> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 | ) -> PResult<'_, ast::MetaItem> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:148:11
[INFO] [stdout]     |
[INFO] [stdout] 148 |     sess: &ParseSess,
[INFO] [stdout]     |           ^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 149 | ) -> PResult<Option<ast::Stmt>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 149 | ) -> PResult<'_, Option<ast::Stmt>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:158:41
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn new_parser_from_source_str(sess: &ParseSess, name: String, source: String) -> Parser {
[INFO] [stdout]     |                                         ^^^^^^^^^^ the lifetime is elided here       ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn new_parser_from_source_str(sess: &ParseSess, name: String, source: String) -> Parser<'_> {
[INFO] [stdout]     |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:187:32
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn filemap_to_parser(sess: &ParseSess, filemap: Rc<FileMap>) -> Parser {
[INFO] [stdout]     |                                ^^^^^^^^^^                           ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub fn filemap_to_parser(sess: &ParseSess, filemap: Rc<FileMap>) -> Parser<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:204:34
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn new_parser_from_tts(sess: &ParseSess, tts: Vec<TokenTree>) -> Parser {
[INFO] [stdout]     |                                  ^^^^^^^^^^                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn new_parser_from_tts(sess: &ParseSess, tts: Vec<TokenTree>) -> Parser<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/mod.rs:233:31
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn stream_to_parser(sess: &ParseSess, stream: TokenStream) -> Parser {
[INFO] [stdout]     |                               ^^^^^^^^^^                          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn stream_to_parser(sess: &ParseSess, stream: TokenStream) -> Parser<'_> {
[INFO] [stdout]     |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/parser.rs:392:46
[INFO] [stdout]     |
[INFO] [stdout] 392 |     pub fn span_err(self, sp: Span, handler: &errors::Handler) -> DiagnosticBuilder {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 392 |     pub fn span_err(self, sp: Span, handler: &errors::Handler) -> DiagnosticBuilder<'_> {
[INFO] [stdout]     |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: inherent methods on types that implement `Deref` or `Receiver` shadow methods of their target
[INFO] [stdout]   --> src/ptr.rs:55:27
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn and_then<U, F>(self, f: F) -> U
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 | impl<T: ?Sized> Deref for P<T> {
[INFO] [stdout]    | ------------------------------ trait implemented here
[INFO] [stdout] 91 |     type Target = T;
[INFO] [stdout]    |     ----------- with `Target` set here
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D inherent-method-on-receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: inherent methods on types that implement `Deref` or `Receiver` shadow methods of their target
[INFO] [stdout]   --> src/ptr.rs:62:19
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn unwrap(self) -> T {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 | impl<T: ?Sized> Deref for P<T> {
[INFO] [stdout]    | ------------------------------ trait implemented here
[INFO] [stdout] 91 |     type Target = T;
[INFO] [stdout]    |     ----------- with `Target` set here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: inherent methods on types that implement `Deref` or `Receiver` shadow methods of their target
[INFO] [stdout]   --> src/ptr.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn map<F>(mut self, f: F) -> P<T>
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 | impl<T: ?Sized> Deref for P<T> {
[INFO] [stdout]    | ------------------------------ trait implemented here
[INFO] [stdout] 91 |     type Target = T;
[INFO] [stdout]    |     ----------- with `Target` set here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
[INFO] [stdout]    --> src/ptr.rs:210:18
[INFO] [stdout]     |
[INFO] [stdout] 210 |         self.ptr.into_iter()
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
[INFO] [stdout]     = note: `#[warn(boxed_slice_into_iter)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 210 -         self.ptr.into_iter()
[INFO] [stdout] 210 +         self.ptr.iter()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 210 -         self.ptr.into_iter()
[INFO] [stdout] 210 +         IntoIterator::into_iter(self.ptr)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:231:35
[INFO] [stdout]     |
[INFO] [stdout] 231 |     walk_list!(visitor, visit_ty, &local.ty);
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:232:37
[INFO] [stdout]     |
[INFO] [stdout] 232 |     walk_list!(visitor, visit_expr, &local.init);
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:317:50
[INFO] [stdout]     |
[INFO] [stdout] 317 |             walk_list!(visitor, visit_trait_ref, opt_trait_reference);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:368:37
[INFO] [stdout]     |
[INFO] [stdout] 368 |     walk_list!(visitor, visit_expr, &variant.node.disr_expr);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:377:49
[INFO] [stdout]     |
[INFO] [stdout] 377 |             walk_list!(visitor, visit_lifetime, opt_lifetime);
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:448:43
[INFO] [stdout]     |
[INFO] [stdout] 448 |             walk_list!(visitor, visit_ty, &data.output);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:486:44
[INFO] [stdout]     |
[INFO] [stdout] 486 |             walk_list!(visitor, visit_pat, optional_subpattern);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:496:44
[INFO] [stdout]     |
[INFO] [stdout] 496 |             walk_list!(visitor, visit_pat, slice_pattern);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:533:39
[INFO] [stdout]     |
[INFO] [stdout] 533 |         walk_list!(visitor, visit_ty, &param.default);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:617:45
[INFO] [stdout]     |
[INFO] [stdout] 617 |             walk_list!(visitor, visit_expr, default);
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:633:43
[INFO] [stdout]     |
[INFO] [stdout] 633 |             walk_list!(visitor, visit_ty, default);
[INFO] [stdout]     |                                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:727:45
[INFO] [stdout]     |
[INFO] [stdout] 727 |             walk_list!(visitor, visit_expr, optional_base);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:756:45
[INFO] [stdout]     |
[INFO] [stdout] 756 |             walk_list!(visitor, visit_expr, optional_else);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:767:45
[INFO] [stdout]     |
[INFO] [stdout] 767 |             walk_list!(visitor, visit_expr, optional_else);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:816:45
[INFO] [stdout]     |
[INFO] [stdout] 816 |             walk_list!(visitor, visit_expr, start);
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:817:45
[INFO] [stdout]     |
[INFO] [stdout] 817 |             walk_list!(visitor, visit_expr, end);
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:827:45
[INFO] [stdout]     |
[INFO] [stdout] 827 |             walk_list!(visitor, visit_expr, opt_expr);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:833:45
[INFO] [stdout]     |
[INFO] [stdout] 833 |             walk_list!(visitor, visit_expr, optional_expression);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/visit.rs:854:37
[INFO] [stdout]     |
[INFO] [stdout] 854 |     walk_list!(visitor, visit_expr, &arm.guard);
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         while let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 181 -         for elem in $list {
[INFO] [stdout] 181 +         if let Some(elem) = $list {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `garando_syntax` (lib) due to 3 previous errors; 55 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "74c6370328670b3f1c4a2903f5d0a7ab770fb970d8a29ed2c7d032167ac3be8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74c6370328670b3f1c4a2903f5d0a7ab770fb970d8a29ed2c7d032167ac3be8b", kill_on_drop: false }`
[INFO] [stdout] 74c6370328670b3f1c4a2903f5d0a7ab770fb970d8a29ed2c7d032167ac3be8b
