[INFO] cloning repository https://github.com/kirinokirino/audio-experiments
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kirinokirino/audio-experiments" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkirinokirino%2Faudio-experiments", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkirinokirino%2Faudio-experiments'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] df63f9d30850d10f4eff085212d5432d76084303
[INFO] checking kirinokirino/audio-experiments against master#9e293ae9f8abecb0be5105787d181518c9012a19 for pr-146440-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkirinokirino%2Faudio-experiments" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kirinokirino/audio-experiments
[INFO] finished tweaking git repo https://github.com/kirinokirino/audio-experiments
[INFO] tweaked toml for git repo https://github.com/kirinokirino/audio-experiments written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kirinokirino/audio-experiments on toolchain 9e293ae9f8abecb0be5105787d181518c9012a19
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kirinokirino/audio-experiments 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" "+9e293ae9f8abecb0be5105787d181518c9012a19" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.84
[INFO] [stderr]   Downloaded thiserror-impl v1.0.38
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.84
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.34
[INFO] [stderr]   Downloaded proc-macro-crate v1.3.0
[INFO] [stderr]   Downloaded toml_datetime v0.5.1
[INFO] [stderr]   Downloaded tinyaudio v1.1.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.84
[INFO] [stderr]   Downloaded either v1.8.1
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.84
[INFO] [stderr]   Downloaded thiserror v1.0.38
[INFO] [stderr]   Downloaded unicode-ident v1.0.6
[INFO] [stderr]   Downloaded once_cell v1.17.1
[INFO] [stderr]   Downloaded log v0.4.17
[INFO] [stderr]   Downloaded pkg-config v0.3.26
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.84
[INFO] [stderr]   Downloaded indexmap v1.9.2
[INFO] [stderr]   Downloaded js-sys v0.3.61
[INFO] [stderr]   Downloaded memchr v2.5.0
[INFO] [stderr]   Downloaded bumpalo v3.12.0
[INFO] [stderr]   Downloaded toml_edit v0.18.1
[INFO] [stderr]   Downloaded nom8 v0.2.0
[INFO] [stderr]   Downloaded syn v1.0.107
[INFO] [stderr]   Downloaded regex v1.9.4
[INFO] [stderr]   Downloaded regex-automata v0.3.7
[INFO] [stderr]   Downloaded libc v0.2.139
[INFO] [stderr]   Downloaded web-sys v0.3.61
[INFO] [stderr]   Downloaded glam v0.30.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 93c404e225e3e56518731b07741359015fc7b6469a990ad35a842d497aca160f
[INFO] running `Command { std: "docker" "start" "-a" "93c404e225e3e56518731b07741359015fc7b6469a990ad35a842d497aca160f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "93c404e225e3e56518731b07741359015fc7b6469a990ad35a842d497aca160f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "93c404e225e3e56518731b07741359015fc7b6469a990ad35a842d497aca160f", kill_on_drop: false }`
[INFO] [stdout] 93c404e225e3e56518731b07741359015fc7b6469a990ad35a842d497aca160f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a1bc842abc6c50b5cdfd4d824171cb1b18c765789b7ed108fb6108ce33792386
[INFO] running `Command { std: "docker" "start" "-a" "a1bc842abc6c50b5cdfd4d824171cb1b18c765789b7ed108fb6108ce33792386", kill_on_drop: false }`
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]     Checking glam v0.30.3
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking tinyaudio v1.1.0
[INFO] [stderr]     Checking audio v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/sources/mod.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         todo!();
[INFO] [stdout]    |         ------- any code following this expression is unreachable
[INFO] [stdout] 42 |         Self {}
[INFO] [stdout]    |         ^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]   --> src/sources/mod.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(frequency: f32) -> Self {
[INFO] [stdout]    |                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rest` is never read
[INFO] [stdout]  --> src/mess/melody.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct NoteDuration {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     rest: f32,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `NoteDuration` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mess/melody.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl NoteDuration {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 12 |     fn new(duration: f64) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `duration` and `tuning_offset` are never read
[INFO] [stdout]   --> src/mess/melody.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct Note {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     duration: NoteDuration,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 43 |     tuning_offset: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Note` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mess/melody.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Note {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 49 |     fn new(name: PitchClass, octave: i8) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/dissection/engine.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn lock(&self) -> MutexGuard<SoundEngine> {
[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] 42 |     pub fn lock(&self) -> MutexGuard<'_, SoundEngine> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dissection/pool/mod.rs:1019:17
[INFO] [stdout]      |
[INFO] [stdout] 1019 |     pub fn iter(&self) -> PoolIterator<T, P> {
[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] 1019 |     pub fn iter(&self) -> PoolIterator<'_, T, P> {
[INFO] [stdout]      |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dissection/pool/mod.rs:1033:22
[INFO] [stdout]      |
[INFO] [stdout] 1033 |     pub fn pair_iter(&self) -> PoolPairIterator<T, P> {
[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] 1033 |     pub fn pair_iter(&self) -> PoolPairIterator<'_, T, P> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dissection/pool/mod.rs:1056:21
[INFO] [stdout]      |
[INFO] [stdout] 1056 |     pub fn iter_mut(&mut self) -> PoolIteratorMut<T, P> {
[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] 1056 |     pub fn iter_mut(&mut self) -> PoolIteratorMut<'_, T, P> {
[INFO] [stdout]      |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dissection/pool/mod.rs:1070:26
[INFO] [stdout]      |
[INFO] [stdout] 1070 |     pub fn pair_iter_mut(&mut self) -> PoolPairIteratorMut<T, P> {
[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] 1070 |     pub fn pair_iter_mut(&mut self) -> PoolPairIteratorMut<'_, T, P> {
[INFO] [stdout]      |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dissection/pool/mod.rs:1109:31
[INFO] [stdout]      |
[INFO] [stdout] 1109 |     pub fn begin_multi_borrow(&mut self) -> MultiBorrowContext<T, P> {
[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] 1109 |     pub fn begin_multi_borrow(&mut self) -> MultiBorrowContext<'_, T, P> {
[INFO] [stdout]      |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/sources/mod.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         todo!();
[INFO] [stdout]    |         ------- any code following this expression is unreachable
[INFO] [stdout] 42 |         Self {}
[INFO] [stdout]    |         ^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t2`
[INFO] [stdout]    --> src/main.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |             let t2 = ((i as f32 + 10.0) / (sample_rate as f32 * 0.25)).sin() + 1.0;
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mess_test` is never used
[INFO] [stdout]   --> src/main.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn mess_test() {
[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 `sound_engine_test` is never used
[INFO] [stdout]   --> src/main.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn sound_engine_test() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t2`
[INFO] [stdout]    --> src/main.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |             let t2 = ((i as f32 + 10.0) / (sample_rate as f32 * 0.25)).sin() + 1.0;
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mess_test` is never used
[INFO] [stdout]   --> src/main.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn mess_test() {
[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 `sound_engine_test` is never used
[INFO] [stdout]   --> src/main.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn sound_engine_test() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]   --> src/sources/mod.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(frequency: f32) -> Self {
[INFO] [stdout]    |                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rest` is never read
[INFO] [stdout]  --> src/mess/melody.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct NoteDuration {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     rest: f32,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `NoteDuration` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mess/melody.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl NoteDuration {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 12 |     fn new(duration: f64) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `duration` and `tuning_offset` are never read
[INFO] [stdout]   --> src/mess/melody.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct Note {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     duration: NoteDuration,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 43 |     tuning_offset: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Note` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mess/melody.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Note {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 49 |     fn new(name: PitchClass, octave: i8) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/dissection/engine.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn lock(&self) -> MutexGuard<SoundEngine> {
[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] 42 |     pub fn lock(&self) -> MutexGuard<'_, SoundEngine> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dissection/pool/mod.rs:1019:17
[INFO] [stdout]      |
[INFO] [stdout] 1019 |     pub fn iter(&self) -> PoolIterator<T, P> {
[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] 1019 |     pub fn iter(&self) -> PoolIterator<'_, T, P> {
[INFO] [stdout]      |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dissection/pool/mod.rs:1033:22
[INFO] [stdout]      |
[INFO] [stdout] 1033 |     pub fn pair_iter(&self) -> PoolPairIterator<T, P> {
[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] 1033 |     pub fn pair_iter(&self) -> PoolPairIterator<'_, T, P> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dissection/pool/mod.rs:1056:21
[INFO] [stdout]      |
[INFO] [stdout] 1056 |     pub fn iter_mut(&mut self) -> PoolIteratorMut<T, P> {
[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] 1056 |     pub fn iter_mut(&mut self) -> PoolIteratorMut<'_, T, P> {
[INFO] [stdout]      |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dissection/pool/mod.rs:1070:26
[INFO] [stdout]      |
[INFO] [stdout] 1070 |     pub fn pair_iter_mut(&mut self) -> PoolPairIteratorMut<T, P> {
[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] 1070 |     pub fn pair_iter_mut(&mut self) -> PoolPairIteratorMut<'_, T, P> {
[INFO] [stdout]      |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dissection/pool/mod.rs:1109:31
[INFO] [stdout]      |
[INFO] [stdout] 1109 |     pub fn begin_multi_borrow(&mut self) -> MultiBorrowContext<T, P> {
[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] 1109 |     pub fn begin_multi_borrow(&mut self) -> MultiBorrowContext<'_, T, P> {
[INFO] [stdout]      |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.41s
[INFO] running `Command { std: "docker" "inspect" "a1bc842abc6c50b5cdfd4d824171cb1b18c765789b7ed108fb6108ce33792386", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1bc842abc6c50b5cdfd4d824171cb1b18c765789b7ed108fb6108ce33792386", kill_on_drop: false }`
[INFO] [stdout] a1bc842abc6c50b5cdfd4d824171cb1b18c765789b7ed108fb6108ce33792386
