[INFO] fetching crate score-tab 0.2.0...
[INFO] testing score-tab-0.2.0 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate score-tab 0.2.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate score-tab 0.2.0
[INFO] finished tweaking crates.io crate score-tab 0.2.0
[INFO] tweaked toml for crates.io crate score-tab 0.2.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate score-tab 0.2.0 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate score-tab 0.2.0 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quick-xml v0.38.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 94551546b6cf481473034dc48045cb021fc24ecdbb05814afad05862aecceaf0
[INFO] running `Command { std: "docker" "start" "-a" "94551546b6cf481473034dc48045cb021fc24ecdbb05814afad05862aecceaf0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "94551546b6cf481473034dc48045cb021fc24ecdbb05814afad05862aecceaf0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94551546b6cf481473034dc48045cb021fc24ecdbb05814afad05862aecceaf0", kill_on_drop: false }`
[INFO] [stdout] 94551546b6cf481473034dc48045cb021fc24ecdbb05814afad05862aecceaf0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c5be1055446bb32846ae91c989b05895912d4fead67829abe7eb7b6ba27e3392
[INFO] running `Command { std: "docker" "start" "-a" "c5be1055446bb32846ae91c989b05895912d4fead67829abe7eb7b6ba27e3392", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling quick-xml v0.38.3
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling score-tab v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/parsers/gp3.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let key = cursor.read_i32::<LittleEndian>()? as i8;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `octave`
[INFO] [stdout]   --> src/parsers/gp3.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let octave = cursor.read_u32::<LittleEndian>()?; // Usually 0
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]   --> src/parsers/gp3.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let track = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags2`
[INFO] [stdout]    --> src/parsers/gp3.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let flags2 = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_flags2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_type`
[INFO] [stdout]    --> src/parsers/gp3.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let bend_type = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/parsers/gp4.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let key = cursor.read_i32::<LittleEndian>()? as i8;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `octave`
[INFO] [stdout]   --> src/parsers/gp4.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let octave = cursor.read_u32::<LittleEndian>()?; // Skip octave
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_index`
[INFO] [stdout]    --> src/parsers/gp4.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let track_index = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_measure`
[INFO] [stdout]    --> src/parsers/gp4.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let from_measure = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_measure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lyric`
[INFO] [stdout]    --> src/parsers/gp4.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let lyric = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_lyric`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrument`
[INFO] [stdout]    --> src/parsers/gp4.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let instrument = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `volume`
[INFO] [stdout]    --> src/parsers/gp4.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let volume = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]    --> src/parsers/gp4.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let balance = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chorus`
[INFO] [stdout]    --> src/parsers/gp4.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let chorus = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chorus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reverb`
[INFO] [stdout]    --> src/parsers/gp4.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let reverb = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reverb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phaser`
[INFO] [stdout]    --> src/parsers/gp4.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let phaser = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_phaser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tremolo`
[INFO] [stdout]    --> src/parsers/gp4.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let tremolo = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tremolo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/parsers/gp4.rs:212:43
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn read_track(cursor: &mut Cursor<&[u8]>, channel: u8) -> Result<Track> {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_banjo`
[INFO] [stdout]    --> src/parsers/gp4.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let is_banjo = flags & 0x04 != 0;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_banjo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/parsers/gp4.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let port = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel2`
[INFO] [stdout]    --> src/parsers/gp4.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |     let channel2 = cursor.read_u32::<LittleEndian>()? as u8;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fret_count`
[INFO] [stdout]    --> src/parsers/gp4.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let fret_count = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fret_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_dotted`
[INFO] [stdout]    --> src/parsers/gp4.rs:338:9
[INFO] [stdout]     |
[INFO] [stdout] 338 |     let is_dotted = cursor.read_u8()? != 0;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_dotted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tuplet`
[INFO] [stdout]    --> src/parsers/gp4.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |     let tuplet = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tuplet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_type`
[INFO] [stdout]    --> src/parsers/gp4.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |     let bend_type = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_value`
[INFO] [stdout]    --> src/parsers/gp4.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |     let bend_value = cursor.read_u32::<LittleEndian>()? as f32 / 100.0;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vibrato`
[INFO] [stdout]    --> src/parsers/gp4.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 |         let vibrato = cursor.read_u8()? != 0;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sharp`
[INFO] [stdout]    --> src/parsers/gp4.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let sharp = cursor.read_u8()? != 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_sharp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ninth_extension`
[INFO] [stdout]    --> src/parsers/gp4.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let ninth_extension = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ninth_extension`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diminished_fifth`
[INFO] [stdout]    --> src/parsers/gp4.rs:468:9
[INFO] [stdout]     |
[INFO] [stdout] 468 |     let diminished_fifth = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diminished_fifth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `augmented_eleventh`
[INFO] [stdout]    --> src/parsers/gp4.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |     let augmented_eleventh = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_augmented_eleventh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channels`
[INFO] [stdout]   --> src/parsers/gp5.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let channels = read_channels(&mut cursor)?;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channels`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_choice`
[INFO] [stdout]    --> src/parsers/gp5.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let track_choice = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_choice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> src/parsers/gp5.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let line = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `measure`
[INFO] [stdout]    --> src/parsers/gp5.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let measure = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_measure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/parsers/gp5.rs:165:43
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn read_track(cursor: &mut Cursor<&[u8]>, channel: u8) -> Result<Track> {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_banjo`
[INFO] [stdout]    --> src/parsers/gp5.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let is_banjo = (header & 0x04) != 0;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_banjo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/parsers/gp5.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let port = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel2`
[INFO] [stdout]    --> src/parsers/gp5.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let channel2 = cursor.read_u32::<LittleEndian>()? as u8;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frets`
[INFO] [stdout]    --> src/parsers/gp5.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let frets = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_frets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repeat_count`
[INFO] [stdout]    --> src/parsers/gp5.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let repeat_count = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alternative`
[INFO] [stdout]    --> src/parsers/gp5.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let alternative = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alternative`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marker_name`
[INFO] [stdout]    --> src/parsers/gp5.rs:276:13
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let marker_name = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marker_color`
[INFO] [stdout]    --> src/parsers/gp5.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let marker_color = (cursor.read_u8()?, cursor.read_u8()?, cursor.read_u8()?);
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/parsers/gp5.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let text = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_dotted`
[INFO] [stdout]    --> src/parsers/gp5.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 369 |     let is_dotted = cursor.read_u8()? != 0;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_dotted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_fret`
[INFO] [stdout]    --> src/parsers/gp5.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let base_fret = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_fret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `effect`
[INFO] [stdout]    --> src/parsers/gp5.rs:443:13
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let effect = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_effect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stroke_up`
[INFO] [stdout]    --> src/parsers/gp5.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let stroke_up = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stroke_up`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stroke_down`
[INFO] [stdout]    --> src/parsers/gp5.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |         let stroke_down = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stroke_down`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pick_stroke`
[INFO] [stdout]    --> src/parsers/gp5.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let pick_stroke = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pick_stroke`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/parsers/gp5.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let position = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/parsers/gp5.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let value = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vibrato`
[INFO] [stdout]    --> src/parsers/gp5.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let vibrato = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `note_type`
[INFO] [stdout]    --> src/parsers/gp5.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |     let note_type = if (flags & 0x20) != 0 {
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_note_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tremolo_speed`
[INFO] [stdout]    --> src/parsers/gp5.rs:544:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |         let tremolo_speed = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tremolo_speed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `harmonic_type`
[INFO] [stdout]    --> src/parsers/gp5.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let harmonic_type = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_harmonic_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trill_fret`
[INFO] [stdout]    --> src/parsers/gp5.rs:566:13
[INFO] [stdout]     |
[INFO] [stdout] 566 |         let trill_fret = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trill_fret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trill_speed`
[INFO] [stdout]    --> src/parsers/gp5.rs:567:13
[INFO] [stdout]     |
[INFO] [stdout] 567 |         let trill_speed = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trill_speed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_type`
[INFO] [stdout]    --> src/parsers/gp5.rs:582:9
[INFO] [stdout]     |
[INFO] [stdout] 582 |     let bend_type = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_value`
[INFO] [stdout]    --> src/parsers/gp5.rs:583:9
[INFO] [stdout]     |
[INFO] [stdout] 583 |     let bend_value = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vibrato`
[INFO] [stdout]    --> src/parsers/gp5.rs:591:13
[INFO] [stdout]     |
[INFO] [stdout] 591 |         let vibrato = cursor.read_u8()? != 0;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]   --> src/parsers/gpx.rs:68:33
[INFO] [stdout]    |
[INFO] [stdout] 68 | ...                   let channel = 0u8;
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_percussion`
[INFO] [stdout]   --> src/parsers/gpx.rs:69:33
[INFO] [stdout]    |
[INFO] [stdout] 69 | ...                   let is_percussion = false;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_percussion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/parsers/gpx.rs:334:27
[INFO] [stdout]     |
[INFO] [stdout] 334 |     fn parse_note_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Note> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/parsers/gpx.rs:339:26
[INFO] [stdout]     |
[INFO] [stdout] 339 |     fn parse_bend_effect(reader: &mut Reader<BufReader<impl Read>>) -> Result<BendEffect> {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/parsers/musescore.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn read_score(data: &[u8]) -> super::Result<crate::Score> {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pitch`
[INFO] [stdout]    --> src/writers/musescore.rs:174:14
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let (pitch, octave) = Self::midi_to_pitch_octave(midi_note);
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_pitch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `octave`
[INFO] [stdout]    --> src/writers/musescore.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let (pitch, octave) = Self::midi_to_pitch_octave(midi_note);
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrument_name`
[INFO] [stdout]    --> src/writers/musescore.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let instrument_name = if track.is_percussion {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/writers/musescore.rs:299:18
[INFO] [stdout]     |
[INFO] [stdout] 299 |             for (i, &tuning_note) in track.tuning.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_id`
[INFO] [stdout]    --> src/writers/musescore.rs:318:40
[INFO] [stdout]     |
[INFO] [stdout] 318 |     fn write_instrument(track: &Track, track_id: usize) -> String {
[INFO] [stdout]     |                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrument_name`
[INFO] [stdout]    --> src/writers/musescore.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let instrument_name = if track.is_percussion {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/writers/gp4.rs:255:66
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn write_track(cursor: &mut Cursor<&mut Vec<u8>>, track: &Track, channel: u8) -> Result<()> {
[INFO] [stdout]     |                                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/writers/gp5.rs:155:53
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn write_track(buffer: &mut Vec<u8>, track: &Track, index: u8) -> Result<()> {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `beat`
[INFO] [stdout]    --> src/writers/gpx.rs:298:34
[INFO] [stdout]     |
[INFO] [stdout] 298 |                 for (beat_index, beat) in measure.beats.iter().enumerate() {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_beat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `note`
[INFO] [stdout]    --> src/writers/gpx.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |                     for note in &beat.notes {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_note`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_gzip_compressed` is never used
[INFO] [stdout]   --> src/parsers/mod.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn is_gzip_compressed(data: &[u8]) -> bool {
[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 `decompress_gzip` is never used
[INFO] [stdout]   --> src/parsers/mod.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn decompress_gzip(data: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `double_bar`, `repeat_open`, and `repeat_close` are never read
[INFO] [stdout]    --> src/parsers/gp4.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | struct MeasureHeader {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 147 |     double_bar: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 148 |     repeat_open: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 149 |     repeat_close: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MeasureHeader` 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: multiple fields are never read
[INFO] [stdout]    --> src/parsers/gp5.rs:602:5
[INFO] [stdout]     |
[INFO] [stdout] 601 | struct Channel {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 602 |     index: u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 603 |     instrument: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 604 |     volume: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 605 |     balance: u8,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 606 |     chorus: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 607 |     reverb: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 608 |     phaser: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 609 |     tremolo: u8,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Channel` 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: field `double_bar` is never read
[INFO] [stdout]    --> src/parsers/gp5.rs:617:5
[INFO] [stdout]     |
[INFO] [stdout] 613 | struct MeasureHeader {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 617 |     double_bar: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MeasureHeader` 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: multiple associated functions are never used
[INFO] [stdout]    --> src/parsers/gpx.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl GpxReader {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn parse_track_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Track> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn parse_tuning(reader: &mut Reader<BufReader<impl Read>>) -> Result<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     fn parse_note_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Note> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn parse_bend_effect(reader: &mut Reader<BufReader<impl Read>>) -> Result<BendEffect> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     fn parse_track_property(track: &mut Track, attributes: Attributes) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     fn parse_slide_effect(attributes: Attributes) -> Result<Option<SlideEffect>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 |     fn parse_time_signature(attributes: Attributes) -> Result<TimeSignature> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     fn parse_key_signature(attributes: Attributes) -> Result<KeySignature> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `extract_mscz_archive` and `try_decompress_gzip` are never used
[INFO] [stdout]   --> src/parsers/musescore.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl MuseScoreReader {
[INFO] [stdout]    | -------------------- associated functions in this implementation
[INFO] [stdout] 17 |     /// Extract MuseScore archive
[INFO] [stdout] 18 |     fn extract_mscz_archive(data: &[u8]) -> Result<std::collections::HashMap<String, Vec<u8>>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn try_decompress_gzip(data: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `FORMAT_VERSION` and `create_compressed_file` are never used
[INFO] [stdout]    --> src/writers/musescore.rs:12:11
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl MuseScoreWriter {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  11 |     /// MuseScore file format version
[INFO] [stdout]  12 |     const FORMAT_VERSION: &'static str = "3.02";
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |     fn create_compressed_file(xml_content: &str) -> Result<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.75s
[INFO] running `Command { std: "docker" "inspect" "c5be1055446bb32846ae91c989b05895912d4fead67829abe7eb7b6ba27e3392", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c5be1055446bb32846ae91c989b05895912d4fead67829abe7eb7b6ba27e3392", kill_on_drop: false }`
[INFO] [stdout] c5be1055446bb32846ae91c989b05895912d4fead67829abe7eb7b6ba27e3392
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 057b3ca4718fcf0e4d058993c5b4e585f3868b98bf37a4dfe60b0b62f90e933c
[INFO] running `Command { std: "docker" "start" "-a" "057b3ca4718fcf0e4d058993c5b4e585f3868b98bf37a4dfe60b0b62f90e933c", kill_on_drop: false }`
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/parsers/gp3.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let key = cursor.read_i32::<LittleEndian>()? as i8;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `octave`
[INFO] [stdout]   --> src/parsers/gp3.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let octave = cursor.read_u32::<LittleEndian>()?; // Usually 0
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]   --> src/parsers/gp3.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let track = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags2`
[INFO] [stdout]    --> src/parsers/gp3.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let flags2 = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_flags2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_type`
[INFO] [stdout]    --> src/parsers/gp3.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let bend_type = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/parsers/gp4.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let key = cursor.read_i32::<LittleEndian>()? as i8;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `octave`
[INFO] [stdout]   --> src/parsers/gp4.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let octave = cursor.read_u32::<LittleEndian>()?; // Skip octave
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_index`
[INFO] [stdout]    --> src/parsers/gp4.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let track_index = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_measure`
[INFO] [stdout]    --> src/parsers/gp4.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let from_measure = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_measure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lyric`
[INFO] [stdout]    --> src/parsers/gp4.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let lyric = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_lyric`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrument`
[INFO] [stdout]    --> src/parsers/gp4.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let instrument = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `volume`
[INFO] [stdout]    --> src/parsers/gp4.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let volume = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]    --> src/parsers/gp4.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let balance = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chorus`
[INFO] [stdout]    --> src/parsers/gp4.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let chorus = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chorus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reverb`
[INFO] [stdout]    --> src/parsers/gp4.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let reverb = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reverb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phaser`
[INFO] [stdout]    --> src/parsers/gp4.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let phaser = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_phaser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tremolo`
[INFO] [stdout]    --> src/parsers/gp4.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let tremolo = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tremolo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/parsers/gp4.rs:212:43
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn read_track(cursor: &mut Cursor<&[u8]>, channel: u8) -> Result<Track> {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_banjo`
[INFO] [stdout]    --> src/parsers/gp4.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let is_banjo = flags & 0x04 != 0;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_banjo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/parsers/gp4.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let port = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel2`
[INFO] [stdout]    --> src/parsers/gp4.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |     let channel2 = cursor.read_u32::<LittleEndian>()? as u8;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fret_count`
[INFO] [stdout]    --> src/parsers/gp4.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let fret_count = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fret_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_dotted`
[INFO] [stdout]    --> src/parsers/gp4.rs:338:9
[INFO] [stdout]     |
[INFO] [stdout] 338 |     let is_dotted = cursor.read_u8()? != 0;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_dotted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tuplet`
[INFO] [stdout]    --> src/parsers/gp4.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |     let tuplet = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tuplet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_type`
[INFO] [stdout]    --> src/parsers/gp4.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |     let bend_type = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_value`
[INFO] [stdout]    --> src/parsers/gp4.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |     let bend_value = cursor.read_u32::<LittleEndian>()? as f32 / 100.0;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vibrato`
[INFO] [stdout]    --> src/parsers/gp4.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 |         let vibrato = cursor.read_u8()? != 0;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sharp`
[INFO] [stdout]    --> src/parsers/gp4.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let sharp = cursor.read_u8()? != 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_sharp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ninth_extension`
[INFO] [stdout]    --> src/parsers/gp4.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let ninth_extension = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ninth_extension`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diminished_fifth`
[INFO] [stdout]    --> src/parsers/gp4.rs:468:9
[INFO] [stdout]     |
[INFO] [stdout] 468 |     let diminished_fifth = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diminished_fifth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `augmented_eleventh`
[INFO] [stdout]    --> src/parsers/gp4.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |     let augmented_eleventh = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_augmented_eleventh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channels`
[INFO] [stdout]   --> src/parsers/gp5.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let channels = read_channels(&mut cursor)?;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channels`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_choice`
[INFO] [stdout]    --> src/parsers/gp5.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let track_choice = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_choice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> src/parsers/gp5.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let line = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `measure`
[INFO] [stdout]    --> src/parsers/gp5.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let measure = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_measure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/parsers/gp5.rs:165:43
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn read_track(cursor: &mut Cursor<&[u8]>, channel: u8) -> Result<Track> {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_banjo`
[INFO] [stdout]    --> src/parsers/gp5.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let is_banjo = (header & 0x04) != 0;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_banjo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/parsers/gp5.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let port = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel2`
[INFO] [stdout]    --> src/parsers/gp5.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let channel2 = cursor.read_u32::<LittleEndian>()? as u8;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frets`
[INFO] [stdout]    --> src/parsers/gp5.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let frets = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_frets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repeat_count`
[INFO] [stdout]    --> src/parsers/gp5.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let repeat_count = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alternative`
[INFO] [stdout]    --> src/parsers/gp5.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let alternative = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alternative`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marker_name`
[INFO] [stdout]    --> src/parsers/gp5.rs:276:13
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let marker_name = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marker_color`
[INFO] [stdout]    --> src/parsers/gp5.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let marker_color = (cursor.read_u8()?, cursor.read_u8()?, cursor.read_u8()?);
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/parsers/gp5.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let text = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_dotted`
[INFO] [stdout]    --> src/parsers/gp5.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 369 |     let is_dotted = cursor.read_u8()? != 0;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_dotted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_fret`
[INFO] [stdout]    --> src/parsers/gp5.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let base_fret = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_fret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `effect`
[INFO] [stdout]    --> src/parsers/gp5.rs:443:13
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let effect = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_effect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stroke_up`
[INFO] [stdout]    --> src/parsers/gp5.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let stroke_up = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stroke_up`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stroke_down`
[INFO] [stdout]    --> src/parsers/gp5.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |         let stroke_down = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stroke_down`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pick_stroke`
[INFO] [stdout]    --> src/parsers/gp5.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let pick_stroke = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pick_stroke`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/parsers/gp5.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let position = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/parsers/gp5.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let value = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vibrato`
[INFO] [stdout]    --> src/parsers/gp5.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let vibrato = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `note_type`
[INFO] [stdout]    --> src/parsers/gp5.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |     let note_type = if (flags & 0x20) != 0 {
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_note_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tremolo_speed`
[INFO] [stdout]    --> src/parsers/gp5.rs:544:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |         let tremolo_speed = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tremolo_speed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `harmonic_type`
[INFO] [stdout]    --> src/parsers/gp5.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let harmonic_type = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_harmonic_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trill_fret`
[INFO] [stdout]    --> src/parsers/gp5.rs:566:13
[INFO] [stdout]     |
[INFO] [stdout] 566 |         let trill_fret = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trill_fret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trill_speed`
[INFO] [stdout]    --> src/parsers/gp5.rs:567:13
[INFO] [stdout]     |
[INFO] [stdout] 567 |         let trill_speed = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trill_speed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_type`
[INFO] [stdout]    --> src/parsers/gp5.rs:582:9
[INFO] [stdout]     |
[INFO] [stdout] 582 |     let bend_type = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_value`
[INFO] [stdout]    --> src/parsers/gp5.rs:583:9
[INFO] [stdout]     |
[INFO] [stdout] 583 |     let bend_value = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vibrato`
[INFO] [stdout]    --> src/parsers/gp5.rs:591:13
[INFO] [stdout]     |
[INFO] [stdout] 591 |         let vibrato = cursor.read_u8()? != 0;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]   --> src/parsers/gpx.rs:68:33
[INFO] [stdout]    |
[INFO] [stdout] 68 | ...                   let channel = 0u8;
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_percussion`
[INFO] [stdout]   --> src/parsers/gpx.rs:69:33
[INFO] [stdout]    |
[INFO] [stdout] 69 | ...                   let is_percussion = false;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_percussion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/parsers/gpx.rs:334:27
[INFO] [stdout]     |
[INFO] [stdout] 334 |     fn parse_note_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Note> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/parsers/gpx.rs:339:26
[INFO] [stdout]     |
[INFO] [stdout] 339 |     fn parse_bend_effect(reader: &mut Reader<BufReader<impl Read>>) -> Result<BendEffect> {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/parsers/musescore.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn read_score(data: &[u8]) -> super::Result<crate::Score> {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pitch`
[INFO] [stdout]    --> src/writers/musescore.rs:174:14
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let (pitch, octave) = Self::midi_to_pitch_octave(midi_note);
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_pitch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `octave`
[INFO] [stdout]    --> src/writers/musescore.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let (pitch, octave) = Self::midi_to_pitch_octave(midi_note);
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrument_name`
[INFO] [stdout]    --> src/writers/musescore.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let instrument_name = if track.is_percussion {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/writers/musescore.rs:299:18
[INFO] [stdout]     |
[INFO] [stdout] 299 |             for (i, &tuning_note) in track.tuning.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_id`
[INFO] [stdout]    --> src/writers/musescore.rs:318:40
[INFO] [stdout]     |
[INFO] [stdout] 318 |     fn write_instrument(track: &Track, track_id: usize) -> String {
[INFO] [stdout]     |                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrument_name`
[INFO] [stdout]    --> src/writers/musescore.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let instrument_name = if track.is_percussion {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/writers/gp4.rs:255:66
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn write_track(cursor: &mut Cursor<&mut Vec<u8>>, track: &Track, channel: u8) -> Result<()> {
[INFO] [stdout]     |                                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/writers/gp5.rs:155:53
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn write_track(buffer: &mut Vec<u8>, track: &Track, index: u8) -> Result<()> {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `beat`
[INFO] [stdout]    --> src/writers/gpx.rs:298:34
[INFO] [stdout]     |
[INFO] [stdout] 298 |                 for (beat_index, beat) in measure.beats.iter().enumerate() {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_beat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `note`
[INFO] [stdout]    --> src/writers/gpx.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |                     for note in &beat.notes {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_note`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_gzip_compressed` is never used
[INFO] [stdout]   --> src/parsers/mod.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn is_gzip_compressed(data: &[u8]) -> bool {
[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 `decompress_gzip` is never used
[INFO] [stdout]   --> src/parsers/mod.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn decompress_gzip(data: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `double_bar`, `repeat_open`, and `repeat_close` are never read
[INFO] [stdout]    --> src/parsers/gp4.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | struct MeasureHeader {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 147 |     double_bar: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 148 |     repeat_open: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 149 |     repeat_close: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MeasureHeader` 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: multiple fields are never read
[INFO] [stdout]    --> src/parsers/gp5.rs:602:5
[INFO] [stdout]     |
[INFO] [stdout] 601 | struct Channel {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 602 |     index: u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 603 |     instrument: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 604 |     volume: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 605 |     balance: u8,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 606 |     chorus: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 607 |     reverb: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 608 |     phaser: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 609 |     tremolo: u8,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Channel` 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: field `double_bar` is never read
[INFO] [stdout]    --> src/parsers/gp5.rs:617:5
[INFO] [stdout]     |
[INFO] [stdout] 613 | struct MeasureHeader {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 617 |     double_bar: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MeasureHeader` 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: multiple associated functions are never used
[INFO] [stdout]    --> src/parsers/gpx.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl GpxReader {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn parse_track_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Track> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn parse_tuning(reader: &mut Reader<BufReader<impl Read>>) -> Result<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     fn parse_note_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Note> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn parse_bend_effect(reader: &mut Reader<BufReader<impl Read>>) -> Result<BendEffect> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     fn parse_track_property(track: &mut Track, attributes: Attributes) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     fn parse_slide_effect(attributes: Attributes) -> Result<Option<SlideEffect>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 |     fn parse_time_signature(attributes: Attributes) -> Result<TimeSignature> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     fn parse_key_signature(attributes: Attributes) -> Result<KeySignature> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `extract_mscz_archive` and `try_decompress_gzip` are never used
[INFO] [stdout]   --> src/parsers/musescore.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl MuseScoreReader {
[INFO] [stdout]    | -------------------- associated functions in this implementation
[INFO] [stdout] 17 |     /// Extract MuseScore archive
[INFO] [stdout] 18 |     fn extract_mscz_archive(data: &[u8]) -> Result<std::collections::HashMap<String, Vec<u8>>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn try_decompress_gzip(data: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `FORMAT_VERSION` and `create_compressed_file` are never used
[INFO] [stdout]    --> src/writers/musescore.rs:12:11
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl MuseScoreWriter {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  11 |     /// MuseScore file format version
[INFO] [stdout]  12 |     const FORMAT_VERSION: &'static str = "3.02";
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |     fn create_compressed_file(xml_content: &str) -> Result<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling score-tab v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/parsers/gp3.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let key = cursor.read_i32::<LittleEndian>()? as i8;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `octave`
[INFO] [stdout]   --> src/parsers/gp3.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let octave = cursor.read_u32::<LittleEndian>()?; // Usually 0
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]   --> src/parsers/gp3.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let track = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags2`
[INFO] [stdout]    --> src/parsers/gp3.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let flags2 = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_flags2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_type`
[INFO] [stdout]    --> src/parsers/gp3.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let bend_type = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/parsers/gp4.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let key = cursor.read_i32::<LittleEndian>()? as i8;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `octave`
[INFO] [stdout]   --> src/parsers/gp4.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let octave = cursor.read_u32::<LittleEndian>()?; // Skip octave
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_index`
[INFO] [stdout]    --> src/parsers/gp4.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let track_index = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_measure`
[INFO] [stdout]    --> src/parsers/gp4.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let from_measure = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_measure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lyric`
[INFO] [stdout]    --> src/parsers/gp4.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let lyric = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_lyric`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrument`
[INFO] [stdout]    --> src/parsers/gp4.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let instrument = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `volume`
[INFO] [stdout]    --> src/parsers/gp4.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let volume = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]    --> src/parsers/gp4.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let balance = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chorus`
[INFO] [stdout]    --> src/parsers/gp4.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let chorus = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chorus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reverb`
[INFO] [stdout]    --> src/parsers/gp4.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let reverb = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reverb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phaser`
[INFO] [stdout]    --> src/parsers/gp4.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let phaser = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_phaser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tremolo`
[INFO] [stdout]    --> src/parsers/gp4.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let tremolo = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tremolo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/parsers/gp4.rs:212:43
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn read_track(cursor: &mut Cursor<&[u8]>, channel: u8) -> Result<Track> {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_banjo`
[INFO] [stdout]    --> src/parsers/gp4.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let is_banjo = flags & 0x04 != 0;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_banjo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/parsers/gp4.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let port = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel2`
[INFO] [stdout]    --> src/parsers/gp4.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |     let channel2 = cursor.read_u32::<LittleEndian>()? as u8;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fret_count`
[INFO] [stdout]    --> src/parsers/gp4.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let fret_count = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fret_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_dotted`
[INFO] [stdout]    --> src/parsers/gp4.rs:338:9
[INFO] [stdout]     |
[INFO] [stdout] 338 |     let is_dotted = cursor.read_u8()? != 0;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_dotted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tuplet`
[INFO] [stdout]    --> src/parsers/gp4.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |     let tuplet = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tuplet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_type`
[INFO] [stdout]    --> src/parsers/gp4.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |     let bend_type = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_value`
[INFO] [stdout]    --> src/parsers/gp4.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |     let bend_value = cursor.read_u32::<LittleEndian>()? as f32 / 100.0;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vibrato`
[INFO] [stdout]    --> src/parsers/gp4.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 |         let vibrato = cursor.read_u8()? != 0;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sharp`
[INFO] [stdout]    --> src/parsers/gp4.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let sharp = cursor.read_u8()? != 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_sharp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ninth_extension`
[INFO] [stdout]    --> src/parsers/gp4.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let ninth_extension = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ninth_extension`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diminished_fifth`
[INFO] [stdout]    --> src/parsers/gp4.rs:468:9
[INFO] [stdout]     |
[INFO] [stdout] 468 |     let diminished_fifth = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diminished_fifth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `augmented_eleventh`
[INFO] [stdout]    --> src/parsers/gp4.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |     let augmented_eleventh = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_augmented_eleventh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channels`
[INFO] [stdout]   --> src/parsers/gp5.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let channels = read_channels(&mut cursor)?;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channels`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_choice`
[INFO] [stdout]    --> src/parsers/gp5.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let track_choice = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_choice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> src/parsers/gp5.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let line = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `measure`
[INFO] [stdout]    --> src/parsers/gp5.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let measure = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_measure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/parsers/gp5.rs:165:43
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn read_track(cursor: &mut Cursor<&[u8]>, channel: u8) -> Result<Track> {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_banjo`
[INFO] [stdout]    --> src/parsers/gp5.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let is_banjo = (header & 0x04) != 0;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_banjo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/parsers/gp5.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let port = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel2`
[INFO] [stdout]    --> src/parsers/gp5.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let channel2 = cursor.read_u32::<LittleEndian>()? as u8;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frets`
[INFO] [stdout]    --> src/parsers/gp5.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let frets = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_frets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repeat_count`
[INFO] [stdout]    --> src/parsers/gp5.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let repeat_count = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alternative`
[INFO] [stdout]    --> src/parsers/gp5.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let alternative = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alternative`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marker_name`
[INFO] [stdout]    --> src/parsers/gp5.rs:276:13
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let marker_name = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marker_color`
[INFO] [stdout]    --> src/parsers/gp5.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let marker_color = (cursor.read_u8()?, cursor.read_u8()?, cursor.read_u8()?);
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/parsers/gp5.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let text = read_gp_int_string(cursor)?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_dotted`
[INFO] [stdout]    --> src/parsers/gp5.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 369 |     let is_dotted = cursor.read_u8()? != 0;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_dotted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_fret`
[INFO] [stdout]    --> src/parsers/gp5.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let base_fret = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_fret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `effect`
[INFO] [stdout]    --> src/parsers/gp5.rs:443:13
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let effect = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_effect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stroke_up`
[INFO] [stdout]    --> src/parsers/gp5.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let stroke_up = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stroke_up`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stroke_down`
[INFO] [stdout]    --> src/parsers/gp5.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |         let stroke_down = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stroke_down`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pick_stroke`
[INFO] [stdout]    --> src/parsers/gp5.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let pick_stroke = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pick_stroke`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/parsers/gp5.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let position = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/parsers/gp5.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let value = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vibrato`
[INFO] [stdout]    --> src/parsers/gp5.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let vibrato = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `note_type`
[INFO] [stdout]    --> src/parsers/gp5.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |     let note_type = if (flags & 0x20) != 0 {
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_note_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tremolo_speed`
[INFO] [stdout]    --> src/parsers/gp5.rs:544:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |         let tremolo_speed = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tremolo_speed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `harmonic_type`
[INFO] [stdout]    --> src/parsers/gp5.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let harmonic_type = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_harmonic_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trill_fret`
[INFO] [stdout]    --> src/parsers/gp5.rs:566:13
[INFO] [stdout]     |
[INFO] [stdout] 566 |         let trill_fret = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trill_fret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trill_speed`
[INFO] [stdout]    --> src/parsers/gp5.rs:567:13
[INFO] [stdout]     |
[INFO] [stdout] 567 |         let trill_speed = cursor.read_u8()?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trill_speed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_type`
[INFO] [stdout]    --> src/parsers/gp5.rs:582:9
[INFO] [stdout]     |
[INFO] [stdout] 582 |     let bend_type = cursor.read_u8()?;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bend_value`
[INFO] [stdout]    --> src/parsers/gp5.rs:583:9
[INFO] [stdout]     |
[INFO] [stdout] 583 |     let bend_value = cursor.read_u32::<LittleEndian>()?;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vibrato`
[INFO] [stdout]    --> src/parsers/gp5.rs:591:13
[INFO] [stdout]     |
[INFO] [stdout] 591 |         let vibrato = cursor.read_u8()? != 0;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]   --> src/parsers/gpx.rs:68:33
[INFO] [stdout]    |
[INFO] [stdout] 68 | ...                   let channel = 0u8;
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_percussion`
[INFO] [stdout]   --> src/parsers/gpx.rs:69:33
[INFO] [stdout]    |
[INFO] [stdout] 69 | ...                   let is_percussion = false;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_percussion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/parsers/gpx.rs:334:27
[INFO] [stdout]     |
[INFO] [stdout] 334 |     fn parse_note_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Note> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/parsers/gpx.rs:339:26
[INFO] [stdout]     |
[INFO] [stdout] 339 |     fn parse_bend_effect(reader: &mut Reader<BufReader<impl Read>>) -> Result<BendEffect> {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/parsers/musescore.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn read_score(data: &[u8]) -> super::Result<crate::Score> {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pitch`
[INFO] [stdout]    --> src/writers/musescore.rs:174:14
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let (pitch, octave) = Self::midi_to_pitch_octave(midi_note);
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_pitch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `octave`
[INFO] [stdout]    --> src/writers/musescore.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let (pitch, octave) = Self::midi_to_pitch_octave(midi_note);
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrument_name`
[INFO] [stdout]    --> src/writers/musescore.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let instrument_name = if track.is_percussion {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/writers/musescore.rs:299:18
[INFO] [stdout]     |
[INFO] [stdout] 299 |             for (i, &tuning_note) in track.tuning.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_id`
[INFO] [stdout]    --> src/writers/musescore.rs:318:40
[INFO] [stdout]     |
[INFO] [stdout] 318 |     fn write_instrument(track: &Track, track_id: usize) -> String {
[INFO] [stdout]     |                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrument_name`
[INFO] [stdout]    --> src/writers/musescore.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let instrument_name = if track.is_percussion {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/writers/gp4.rs:255:66
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn write_track(cursor: &mut Cursor<&mut Vec<u8>>, track: &Track, channel: u8) -> Result<()> {
[INFO] [stdout]     |                                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/writers/gp5.rs:155:53
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn write_track(buffer: &mut Vec<u8>, track: &Track, index: u8) -> Result<()> {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `beat`
[INFO] [stdout]    --> src/writers/gpx.rs:298:34
[INFO] [stdout]     |
[INFO] [stdout] 298 |                 for (beat_index, beat) in measure.beats.iter().enumerate() {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_beat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `note`
[INFO] [stdout]    --> src/writers/gpx.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |                     for note in &beat.notes {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_note`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_gzip_compressed` is never used
[INFO] [stdout]   --> src/parsers/mod.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn is_gzip_compressed(data: &[u8]) -> bool {
[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 `decompress_gzip` is never used
[INFO] [stdout]   --> src/parsers/mod.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn decompress_gzip(data: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `double_bar`, `repeat_open`, and `repeat_close` are never read
[INFO] [stdout]    --> src/parsers/gp4.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | struct MeasureHeader {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 147 |     double_bar: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 148 |     repeat_open: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 149 |     repeat_close: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MeasureHeader` 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: multiple fields are never read
[INFO] [stdout]    --> src/parsers/gp5.rs:602:5
[INFO] [stdout]     |
[INFO] [stdout] 601 | struct Channel {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 602 |     index: u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 603 |     instrument: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 604 |     volume: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 605 |     balance: u8,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 606 |     chorus: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 607 |     reverb: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 608 |     phaser: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 609 |     tremolo: u8,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Channel` 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: field `double_bar` is never read
[INFO] [stdout]    --> src/parsers/gp5.rs:617:5
[INFO] [stdout]     |
[INFO] [stdout] 613 | struct MeasureHeader {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 617 |     double_bar: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MeasureHeader` 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: multiple associated functions are never used
[INFO] [stdout]    --> src/parsers/gpx.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl GpxReader {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn parse_track_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Track> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn parse_tuning(reader: &mut Reader<BufReader<impl Read>>) -> Result<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     fn parse_note_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Note> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn parse_bend_effect(reader: &mut Reader<BufReader<impl Read>>) -> Result<BendEffect> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     fn parse_track_property(track: &mut Track, attributes: Attributes) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     fn parse_slide_effect(attributes: Attributes) -> Result<Option<SlideEffect>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     fn parse_key_signature(attributes: Attributes) -> Result<KeySignature> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `extract_mscz_archive` and `try_decompress_gzip` are never used
[INFO] [stdout]   --> src/parsers/musescore.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl MuseScoreReader {
[INFO] [stdout]    | -------------------- associated functions in this implementation
[INFO] [stdout] 17 |     /// Extract MuseScore archive
[INFO] [stdout] 18 |     fn extract_mscz_archive(data: &[u8]) -> Result<std::collections::HashMap<String, Vec<u8>>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn try_decompress_gzip(data: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `FORMAT_VERSION` and `create_compressed_file` are never used
[INFO] [stdout]    --> src/writers/musescore.rs:12:11
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl MuseScoreWriter {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  11 |     /// MuseScore file format version
[INFO] [stdout]  12 |     const FORMAT_VERSION: &'static str = "3.02";
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |     fn create_compressed_file(xml_content: &str) -> Result<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.87s
[INFO] running `Command { std: "docker" "inspect" "057b3ca4718fcf0e4d058993c5b4e585f3868b98bf37a4dfe60b0b62f90e933c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "057b3ca4718fcf0e4d058993c5b4e585f3868b98bf37a4dfe60b0b62f90e933c", kill_on_drop: false }`
[INFO] [stdout] 057b3ca4718fcf0e4d058993c5b4e585f3868b98bf37a4dfe60b0b62f90e933c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 25ffb1329ca13c95741e8475285646a52cfbde2606acf6df1932937db5b4574e
[INFO] running `Command { std: "docker" "start" "-a" "25ffb1329ca13c95741e8475285646a52cfbde2606acf6df1932937db5b4574e", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/parsers/gp3.rs:54:13
[INFO] [stderr]    |
[INFO] [stderr] 54 |         let key = cursor.read_i32::<LittleEndian>()? as i8;
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `octave`
[INFO] [stderr]   --> src/parsers/gp3.rs:55:13
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let octave = cursor.read_u32::<LittleEndian>()?; // Usually 0
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `track`
[INFO] [stderr]   --> src/parsers/gp3.rs:78:9
[INFO] [stderr]    |
[INFO] [stderr] 78 |     let track = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `flags2`
[INFO] [stderr]    --> src/parsers/gp3.rs:232:9
[INFO] [stderr]     |
[INFO] [stderr] 232 |     let flags2 = cursor.read_u8()?;
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_flags2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bend_type`
[INFO] [stderr]    --> src/parsers/gp3.rs:305:9
[INFO] [stderr]     |
[INFO] [stderr] 305 |     let bend_type = cursor.read_u8()?;
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/parsers/gp4.rs:35:13
[INFO] [stderr]    |
[INFO] [stderr] 35 |         let key = cursor.read_i32::<LittleEndian>()? as i8;
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `octave`
[INFO] [stderr]   --> src/parsers/gp4.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let octave = cursor.read_u32::<LittleEndian>()?; // Skip octave
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `track_index`
[INFO] [stderr]    --> src/parsers/gp4.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |     let track_index = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `from_measure`
[INFO] [stderr]    --> src/parsers/gp4.rs:113:13
[INFO] [stderr]     |
[INFO] [stderr] 113 |         let from_measure = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_measure`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lyric`
[INFO] [stderr]    --> src/parsers/gp4.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 114 |         let lyric = read_gp_int_string(cursor)?;
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_lyric`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `instrument`
[INFO] [stderr]    --> src/parsers/gp4.rs:128:13
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let instrument = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `volume`
[INFO] [stderr]    --> src/parsers/gp4.rs:129:13
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let volume = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_volume`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `balance`
[INFO] [stderr]    --> src/parsers/gp4.rs:130:13
[INFO] [stderr]     |
[INFO] [stderr] 130 |         let balance = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chorus`
[INFO] [stderr]    --> src/parsers/gp4.rs:131:13
[INFO] [stderr]     |
[INFO] [stderr] 131 |         let chorus = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chorus`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reverb`
[INFO] [stderr]    --> src/parsers/gp4.rs:132:13
[INFO] [stderr]     |
[INFO] [stderr] 132 |         let reverb = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reverb`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `phaser`
[INFO] [stderr]    --> src/parsers/gp4.rs:133:13
[INFO] [stderr]     |
[INFO] [stderr] 133 |         let phaser = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_phaser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tremolo`
[INFO] [stderr]    --> src/parsers/gp4.rs:134:13
[INFO] [stderr]     |
[INFO] [stderr] 134 |         let tremolo = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tremolo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `channel`
[INFO] [stderr]    --> src/parsers/gp4.rs:212:43
[INFO] [stderr]     |
[INFO] [stderr] 212 | fn read_track(cursor: &mut Cursor<&[u8]>, channel: u8) -> Result<Track> {
[INFO] [stderr]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_banjo`
[INFO] [stderr]    --> src/parsers/gp4.rs:216:9
[INFO] [stderr]     |
[INFO] [stderr] 216 |     let is_banjo = flags & 0x04 != 0;
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_banjo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `port`
[INFO] [stderr]    --> src/parsers/gp4.rs:232:9
[INFO] [stderr]     |
[INFO] [stderr] 232 |     let port = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `channel2`
[INFO] [stderr]    --> src/parsers/gp4.rs:234:9
[INFO] [stderr]     |
[INFO] [stderr] 234 |     let channel2 = cursor.read_u32::<LittleEndian>()? as u8;
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fret_count`
[INFO] [stderr]    --> src/parsers/gp4.rs:235:9
[INFO] [stderr]     |
[INFO] [stderr] 235 |     let fret_count = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fret_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_dotted`
[INFO] [stderr]    --> src/parsers/gp4.rs:338:9
[INFO] [stderr]     |
[INFO] [stderr] 338 |     let is_dotted = cursor.read_u8()? != 0;
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_dotted`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tuplet`
[INFO] [stderr]    --> src/parsers/gp4.rs:339:9
[INFO] [stderr]     |
[INFO] [stderr] 339 |     let tuplet = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tuplet`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bend_type`
[INFO] [stderr]    --> src/parsers/gp4.rs:421:9
[INFO] [stderr]     |
[INFO] [stderr] 421 |     let bend_type = cursor.read_u8()?;
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bend_value`
[INFO] [stderr]    --> src/parsers/gp4.rs:422:9
[INFO] [stderr]     |
[INFO] [stderr] 422 |     let bend_value = cursor.read_u32::<LittleEndian>()? as f32 / 100.0;
[INFO] [stderr]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vibrato`
[INFO] [stderr]    --> src/parsers/gp4.rs:429:13
[INFO] [stderr]     |
[INFO] [stderr] 429 |         let vibrato = cursor.read_u8()? != 0;
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sharp`
[INFO] [stderr]    --> src/parsers/gp4.rs:461:9
[INFO] [stderr]     |
[INFO] [stderr] 461 |     let sharp = cursor.read_u8()? != 0;
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_sharp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ninth_extension`
[INFO] [stderr]    --> src/parsers/gp4.rs:466:9
[INFO] [stderr]     |
[INFO] [stderr] 466 |     let ninth_extension = cursor.read_u8()?;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ninth_extension`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `diminished_fifth`
[INFO] [stderr]    --> src/parsers/gp4.rs:468:9
[INFO] [stderr]     |
[INFO] [stderr] 468 |     let diminished_fifth = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diminished_fifth`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `augmented_eleventh`
[INFO] [stderr]    --> src/parsers/gp4.rs:469:9
[INFO] [stderr]     |
[INFO] [stderr] 469 |     let augmented_eleventh = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_augmented_eleventh`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `channels`
[INFO] [stderr]   --> src/parsers/gp5.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let channels = read_channels(&mut cursor)?;
[INFO] [stderr]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channels`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `track_choice`
[INFO] [stderr]    --> src/parsers/gp5.rs:106:9
[INFO] [stderr]     |
[INFO] [stderr] 106 |     let track_choice = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_choice`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `line`
[INFO] [stderr]    --> src/parsers/gp5.rs:108:13
[INFO] [stderr]     |
[INFO] [stderr] 108 |         let line = read_gp_int_string(cursor)?;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `measure`
[INFO] [stderr]    --> src/parsers/gp5.rs:109:13
[INFO] [stderr]     |
[INFO] [stderr] 109 |         let measure = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_measure`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `channel`
[INFO] [stderr]    --> src/parsers/gp5.rs:165:43
[INFO] [stderr]     |
[INFO] [stderr] 165 | fn read_track(cursor: &mut Cursor<&[u8]>, channel: u8) -> Result<Track> {
[INFO] [stderr]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_banjo`
[INFO] [stderr]    --> src/parsers/gp5.rs:169:9
[INFO] [stderr]     |
[INFO] [stderr] 169 |     let is_banjo = (header & 0x04) != 0;
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_banjo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `port`
[INFO] [stderr]    --> src/parsers/gp5.rs:184:9
[INFO] [stderr]     |
[INFO] [stderr] 184 |     let port = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `channel2`
[INFO] [stderr]    --> src/parsers/gp5.rs:186:9
[INFO] [stderr]     |
[INFO] [stderr] 186 |     let channel2 = cursor.read_u32::<LittleEndian>()? as u8;
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `frets`
[INFO] [stderr]    --> src/parsers/gp5.rs:187:9
[INFO] [stderr]     |
[INFO] [stderr] 187 |     let frets = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_frets`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `repeat_count`
[INFO] [stderr]    --> src/parsers/gp5.rs:266:13
[INFO] [stderr]     |
[INFO] [stderr] 266 |         let repeat_count = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alternative`
[INFO] [stderr]    --> src/parsers/gp5.rs:271:13
[INFO] [stderr]     |
[INFO] [stderr] 271 |         let alternative = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alternative`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `marker_name`
[INFO] [stderr]    --> src/parsers/gp5.rs:276:13
[INFO] [stderr]     |
[INFO] [stderr] 276 |         let marker_name = read_gp_int_string(cursor)?;
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `marker_color`
[INFO] [stderr]    --> src/parsers/gp5.rs:277:13
[INFO] [stderr]     |
[INFO] [stderr] 277 |         let marker_color = (cursor.read_u8()?, cursor.read_u8()?, cursor.read_u8()?);
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marker_color`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `text`
[INFO] [stderr]    --> src/parsers/gp5.rs:336:13
[INFO] [stderr]     |
[INFO] [stderr] 336 |         let text = read_gp_int_string(cursor)?;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_dotted`
[INFO] [stderr]    --> src/parsers/gp5.rs:369:9
[INFO] [stderr]     |
[INFO] [stderr] 369 |     let is_dotted = cursor.read_u8()? != 0;
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_dotted`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `base_fret`
[INFO] [stderr]    --> src/parsers/gp5.rs:418:13
[INFO] [stderr]     |
[INFO] [stderr] 418 |         let base_fret = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_fret`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `effect`
[INFO] [stderr]    --> src/parsers/gp5.rs:443:13
[INFO] [stderr]     |
[INFO] [stderr] 443 |         let effect = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_effect`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stroke_up`
[INFO] [stderr]    --> src/parsers/gp5.rs:453:13
[INFO] [stderr]     |
[INFO] [stderr] 453 |         let stroke_up = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stroke_up`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stroke_down`
[INFO] [stderr]    --> src/parsers/gp5.rs:454:13
[INFO] [stderr]     |
[INFO] [stderr] 454 |         let stroke_down = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stroke_down`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pick_stroke`
[INFO] [stderr]    --> src/parsers/gp5.rs:459:13
[INFO] [stderr]     |
[INFO] [stderr] 459 |         let pick_stroke = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pick_stroke`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `position`
[INFO] [stderr]    --> src/parsers/gp5.rs:469:13
[INFO] [stderr]     |
[INFO] [stderr] 469 |         let position = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/parsers/gp5.rs:470:13
[INFO] [stderr]     |
[INFO] [stderr] 470 |         let value = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vibrato`
[INFO] [stderr]    --> src/parsers/gp5.rs:471:13
[INFO] [stderr]     |
[INFO] [stderr] 471 |         let vibrato = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `note_type`
[INFO] [stderr]    --> src/parsers/gp5.rs:487:9
[INFO] [stderr]     |
[INFO] [stderr] 487 |     let note_type = if (flags & 0x20) != 0 {
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_note_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tremolo_speed`
[INFO] [stderr]    --> src/parsers/gp5.rs:544:13
[INFO] [stderr]     |
[INFO] [stderr] 544 |         let tremolo_speed = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tremolo_speed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `harmonic_type`
[INFO] [stderr]    --> src/parsers/gp5.rs:561:13
[INFO] [stderr]     |
[INFO] [stderr] 561 |         let harmonic_type = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_harmonic_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `trill_fret`
[INFO] [stderr]    --> src/parsers/gp5.rs:566:13
[INFO] [stderr]     |
[INFO] [stderr] 566 |         let trill_fret = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trill_fret`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `trill_speed`
[INFO] [stderr]    --> src/parsers/gp5.rs:567:13
[INFO] [stderr]     |
[INFO] [stderr] 567 |         let trill_speed = cursor.read_u8()?;
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trill_speed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bend_type`
[INFO] [stderr]    --> src/parsers/gp5.rs:582:9
[INFO] [stderr]     |
[INFO] [stderr] 582 |     let bend_type = cursor.read_u8()?;
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bend_value`
[INFO] [stderr]    --> src/parsers/gp5.rs:583:9
[INFO] [stderr]     |
[INFO] [stderr] 583 |     let bend_value = cursor.read_u32::<LittleEndian>()?;
[INFO] [stderr]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bend_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vibrato`
[INFO] [stderr]    --> src/parsers/gp5.rs:591:13
[INFO] [stderr]     |
[INFO] [stderr] 591 |         let vibrato = cursor.read_u8()? != 0;
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vibrato`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `channel`
[INFO] [stderr]   --> src/parsers/gpx.rs:68:33
[INFO] [stderr]    |
[INFO] [stderr] 68 | ...                   let channel = 0u8;
[INFO] [stderr]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_percussion`
[INFO] [stderr]   --> src/parsers/gpx.rs:69:33
[INFO] [stderr]    |
[INFO] [stderr] 69 | ...                   let is_percussion = false;
[INFO] [stderr]    |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_percussion`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reader`
[INFO] [stderr]    --> src/parsers/gpx.rs:334:27
[INFO] [stderr]     |
[INFO] [stderr] 334 |     fn parse_note_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Note> {
[INFO] [stderr]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reader`
[INFO] [stderr]    --> src/parsers/gpx.rs:339:26
[INFO] [stderr]     |
[INFO] [stderr] 339 |     fn parse_bend_effect(reader: &mut Reader<BufReader<impl Read>>) -> Result<BendEffect> {
[INFO] [stderr]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/parsers/musescore.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 |     fn read_score(data: &[u8]) -> super::Result<crate::Score> {
[INFO] [stderr]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pitch`
[INFO] [stderr]    --> src/writers/musescore.rs:174:14
[INFO] [stderr]     |
[INFO] [stderr] 174 |         let (pitch, octave) = Self::midi_to_pitch_octave(midi_note);
[INFO] [stderr]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_pitch`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `octave`
[INFO] [stderr]    --> src/writers/musescore.rs:174:21
[INFO] [stderr]     |
[INFO] [stderr] 174 |         let (pitch, octave) = Self::midi_to_pitch_octave(midi_note);
[INFO] [stderr]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_octave`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `instrument_name`
[INFO] [stderr]    --> src/writers/musescore.rs:287:13
[INFO] [stderr]     |
[INFO] [stderr] 287 |         let instrument_name = if track.is_percussion {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/writers/musescore.rs:299:18
[INFO] [stderr]     |
[INFO] [stderr] 299 |             for (i, &tuning_note) in track.tuning.iter().enumerate() {
[INFO] [stderr]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `track_id`
[INFO] [stderr]    --> src/writers/musescore.rs:318:40
[INFO] [stderr]     |
[INFO] [stderr] 318 |     fn write_instrument(track: &Track, track_id: usize) -> String {
[INFO] [stderr]     |                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `instrument_name`
[INFO] [stderr]    --> src/writers/musescore.rs:319:13
[INFO] [stderr]     |
[INFO] [stderr] 319 |         let instrument_name = if track.is_percussion {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `channel`
[INFO] [stderr]    --> src/writers/gp4.rs:255:66
[INFO] [stderr]     |
[INFO] [stderr] 255 | fn write_track(cursor: &mut Cursor<&mut Vec<u8>>, track: &Track, channel: u8) -> Result<()> {
[INFO] [stderr]     |                                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/writers/gp5.rs:155:53
[INFO] [stderr]     |
[INFO] [stderr] 155 | fn write_track(buffer: &mut Vec<u8>, track: &Track, index: u8) -> Result<()> {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `beat`
[INFO] [stderr]    --> src/writers/gpx.rs:298:34
[INFO] [stderr]     |
[INFO] [stderr] 298 |                 for (beat_index, beat) in measure.beats.iter().enumerate() {
[INFO] [stderr]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_beat`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `note`
[INFO] [stderr]    --> src/writers/gpx.rs:341:25
[INFO] [stderr]     |
[INFO] [stderr] 341 |                     for note in &beat.notes {
[INFO] [stderr]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_note`
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_gzip_compressed` is never used
[INFO] [stderr]   --> src/parsers/mod.rs:79:4
[INFO] [stderr]    |
[INFO] [stderr] 79 | fn is_gzip_compressed(data: &[u8]) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `decompress_gzip` is never used
[INFO] [stderr]   --> src/parsers/mod.rs:84:4
[INFO] [stderr]    |
[INFO] [stderr] 84 | fn decompress_gzip(data: &[u8]) -> Result<Vec<u8>> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `double_bar`, `repeat_open`, and `repeat_close` are never read
[INFO] [stderr]    --> src/parsers/gp4.rs:147:5
[INFO] [stderr]     |
[INFO] [stderr] 141 | struct MeasureHeader {
[INFO] [stderr]     |        ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 147 |     double_bar: bool,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 148 |     repeat_open: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 149 |     repeat_close: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MeasureHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/parsers/gp5.rs:602:5
[INFO] [stderr]     |
[INFO] [stderr] 601 | struct Channel {
[INFO] [stderr]     |        ------- fields in this struct
[INFO] [stderr] 602 |     index: u8,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 603 |     instrument: u32,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 604 |     volume: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 605 |     balance: u8,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 606 |     chorus: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 607 |     reverb: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 608 |     phaser: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 609 |     tremolo: u8,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Channel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `double_bar` is never read
[INFO] [stderr]    --> src/parsers/gp5.rs:617:5
[INFO] [stderr]     |
[INFO] [stderr] 613 | struct MeasureHeader {
[INFO] [stderr]     |        ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 617 |     double_bar: bool,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MeasureHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated functions are never used
[INFO] [stderr]    --> src/parsers/gpx.rs:184:8
[INFO] [stderr]     |
[INFO] [stderr]  28 | impl GpxReader {
[INFO] [stderr]     | -------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 184 |     fn parse_track_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Track> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 267 |     fn parse_tuning(reader: &mut Reader<BufReader<impl Read>>) -> Result<Vec<u8>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 334 |     fn parse_note_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Note> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 339 |     fn parse_bend_effect(reader: &mut Reader<BufReader<impl Read>>) -> Result<BendEffect> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 348 |     fn parse_track_property(track: &mut Track, attributes: Attributes) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 398 |     fn parse_slide_effect(attributes: Attributes) -> Result<Option<SlideEffect>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 438 |     fn parse_time_signature(attributes: Attributes) -> Result<TimeSignature> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 477 |     fn parse_key_signature(attributes: Attributes) -> Result<KeySignature> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `extract_mscz_archive` and `try_decompress_gzip` are never used
[INFO] [stderr]   --> src/parsers/musescore.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl MuseScoreReader {
[INFO] [stderr]    | -------------------- associated functions in this implementation
[INFO] [stderr] 17 |     /// Extract MuseScore archive
[INFO] [stderr] 18 |     fn extract_mscz_archive(data: &[u8]) -> Result<std::collections::HashMap<String, Vec<u8>>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |     fn try_decompress_gzip(data: &[u8]) -> Result<Vec<u8>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `FORMAT_VERSION` and `create_compressed_file` are never used
[INFO] [stderr]    --> src/writers/musescore.rs:12:11
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl MuseScoreWriter {
[INFO] [stderr]     | -------------------- associated items in this implementation
[INFO] [stderr]  11 |     /// MuseScore file format version
[INFO] [stderr]  12 |     const FORMAT_VERSION: &'static str = "3.02";
[INFO] [stderr]     |           ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 482 |     fn create_compressed_file(xml_content: &str) -> Result<Vec<u8>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated functions are never used
[INFO] [stderr]    --> src/parsers/gpx.rs:184:8
[INFO] [stderr]     |
[INFO] [stderr]  28 | impl GpxReader {
[INFO] [stderr]     | -------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 184 |     fn parse_track_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Track> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 267 |     fn parse_tuning(reader: &mut Reader<BufReader<impl Read>>) -> Result<Vec<u8>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 334 |     fn parse_note_element(reader: &mut Reader<BufReader<impl Read>>) -> Result<Note> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 339 |     fn parse_bend_effect(reader: &mut Reader<BufReader<impl Read>>) -> Result<BendEffect> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 348 |     fn parse_track_property(track: &mut Track, attributes: Attributes) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 398 |     fn parse_slide_effect(attributes: Attributes) -> Result<Option<SlideEffect>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 477 |     fn parse_key_signature(attributes: Attributes) -> Result<KeySignature> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `score-tab` (lib) generated 85 warnings (run `cargo fix --lib -p score-tab` to apply 77 suggestions)
[INFO] [stderr] warning: `score-tab` (lib test) generated 85 warnings (84 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/guitarpro-1dcc57a0c8cf4b97)
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test analysis::tests::test_detect_bass_note_empty ... ok
[INFO] [stdout] test analysis::tests::test_detect_bass_note_with_multiple_octaves ... ok
[INFO] [stdout] test analysis::tests::test_generate_chord_name ... ok
[INFO] [stdout] test analysis::tests::test_detect_bass_note_with_pitches ... ok
[INFO] [stdout] test parsers::gpx::tests::test_gpx_detection ... ok
[INFO] [stdout] test parsers::tests::test_format_detection ... ok
[INFO] [stdout] test tests::test_note_duration_conversion ... ok
[INFO] [stdout] test utils::tests::test_valid_midi_notes ... ok
[INFO] [stdout] test writers::gp3::tests::test_duration_conversion ... ok
[INFO] [stdout] test writers::gp3::tests::test_write_empty_score ... ok
[INFO] [stdout] test analysis::tests::test_detect_bass_note_unsorted ... ok
[INFO] [stdout] test writers::gpx::tests::test_duration_to_string ... ok
[INFO] [stdout] test tests::test_key_signature_names ... ok
[INFO] [stdout] test writers::musescore::tests::test_duration_to_ticks ... ok
[INFO] [stdout] test writers::musescore::tests::test_escape_xml ... ok
[INFO] [stdout] test writers::gpx::tests::test_score_with_metadata ... ok
[INFO] [stdout] test writers::gpx::tests::test_empty_score_generation ... ok
[INFO] [stdout] test utils::tests::test_note_midi_conversion ... ok
[INFO] [stdout] test writers::gp3::tests::test_write_score_with_metadata ... ok
[INFO] [stdout] test writers::gpx::tests::test_score_with_tracks ... ok
[INFO] [stdout] test writers::gp::tests::test_round_trip ... ok
[INFO] [stdout] test writers::gp3::tests::test_write_score_with_track ... ok
[INFO] [stdout] test writers::gp::tests::test_write_empty_score ... ok
[INFO] [stdout] test writers::musescore::tests::test_write_empty_score ... ok
[INFO] [stdout] test writers::musescore::tests::test_write_score_with_track ... ok
[INFO] [stdout] test writers::musescore::tests::test_duration_conversion ... ok
[INFO] [stdout] test writers::gp::tests::test_write_simple_score ... ok
[INFO] [stdout] test writers::gpx::tests::test_roundtrip_compatibility ... ok
[INFO] [stdout] test writers::gpx::tests::test_xml_escaping ... ok
[INFO] [stdout] test parsers::gpx::tests::test_time_signature_parsing ... FAILED
[INFO] [stdout] test utils::tests::test_invalid_midi_note ... FAILED
[INFO] [stdout] test writers::musescore::tests::test_midi_to_pitch_octave ... FAILED
[INFO] [stdout] test tests::test_time_signature_beats ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- parsers::gpx::tests::test_time_signature_parsing stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parsers::gpx::tests::test_time_signature_parsing' (24) panicked at src/parsers/gpx.rs:555:13:
[INFO] [stdout] Unexpected event
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64c4310c9b5a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64c4310c9b5a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64c4310c9b5a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x64c4310c9b5a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x64c4310dec4a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x64c4310dec4a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x64c4310ce392 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x64c4310ce392 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x64c4310a8aff - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x64c4310a8aff - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x64c4310c1f59 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x64c43102052c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x64c43102052c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x64c4310c2112 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x64c4310c2112 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x64c4310a8bea - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x64c43109ddc9 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x64c4310a98cd - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x64c4310df3dc - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x64c431011c26 - guitarpro[e550ee2ae58c53dd]::parsers::gpx::tests::test_time_signature_parsing
[INFO] [stdout]                                at /opt/rustwide/workdir/src/parsers/gpx.rs:555:13
[INFO] [stdout]   20:     0x64c43100f477 - guitarpro[e550ee2ae58c53dd]::parsers::gpx::tests::test_time_signature_parsing::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/parsers/gpx.rs:536:37
[INFO] [stdout]   21:     0x64c430ff7ac6 - <guitarpro[e550ee2ae58c53dd]::parsers::gpx::tests::test_time_signature_parsing::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x64c43101380b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x64c43101380b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x64c431020ffb - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x64c431020ffb - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x64c431020ffb - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x64c431020ffb - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x64c431020ffb - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x64c431020ffb - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x64c431020ffb - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x64c43101a714 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x64c43101a714 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x64c431023c02 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x64c431023c02 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x64c431023c02 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x64c431023c02 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x64c431023c02 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x64c431023c02 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x64c431023c02 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x64c4310c946f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   41:     0x64c4310c946f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x7984f0c37aa4 - <unknown>
[INFO] [stdout]   43:     0x7984f0cc4a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- utils::tests::test_invalid_midi_note stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'utils::tests::test_invalid_midi_note' (29) panicked at src/utils.rs:429:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "G#9"
[INFO] [stdout]  right: "Invalid MIDI Note"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64c4310c9b5a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64c4310c9b5a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64c4310c9b5a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x64c4310c9b5a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x64c4310dec4a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x64c4310dec4a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x64c4310ce392 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x64c4310ce392 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x64c4310a8aff - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x64c4310a8aff - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x64c4310c1f59 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x64c43102052c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x64c43102052c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x64c4310c2112 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x64c4310c2112 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x64c4310a8bb8 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x64c43109ddc9 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x64c4310a98cd - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x64c4310df3dc - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x64c4310df293 - core[e929cb53b82a81ca]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x64c430ffdd05 - core[e929cb53b82a81ca]::panicking::assert_failed::<alloc[9d7caffeb3b5d2c6]::string::String, &str>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x64c4310010c4 - guitarpro[e550ee2ae58c53dd]::utils::tests::test_invalid_midi_note
[INFO] [stdout]                                at /opt/rustwide/workdir/src/utils.rs:429:9
[INFO] [stdout]   22:     0x64c430ffe207 - guitarpro[e550ee2ae58c53dd]::utils::tests::test_invalid_midi_note::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/utils.rs:428:32
[INFO] [stdout]   23:     0x64c430ff7886 - <guitarpro[e550ee2ae58c53dd]::utils::tests::test_invalid_midi_note::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x64c43101380b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x64c43101380b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x64c431020ffb - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x64c431020ffb - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x64c431020ffb - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x64c431020ffb - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x64c431020ffb - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x64c431020ffb - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x64c431020ffb - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x64c43101a714 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x64c43101a714 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x64c431023c02 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x64c431023c02 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x64c431023c02 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x64c431023c02 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x64c431023c02 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x64c431023c02 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x64c431023c02 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x64c4310c946f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x64c4310c946f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7984f0c37aa4 - <unknown>
[INFO] [stdout]   45:     0x7984f0cc4a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- writers::musescore::tests::test_midi_to_pitch_octave stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'writers::musescore::tests::test_midi_to_pitch_octave' (48) panicked at src/writers/musescore.rs:563:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 4
[INFO] [stdout]  right: 5
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64c4310c9b5a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64c4310c9b5a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64c4310c9b5a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x64c4310c9b5a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x64c4310dec4a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x64c4310dec4a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x64c4310ce392 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x64c4310ce392 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x64c4310a8aff - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x64c4310a8aff - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x64c4310c1f59 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x64c43102052c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x64c43102052c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x64c4310c2112 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x64c4310c2112 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x64c4310a8bb8 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x64c43109ddc9 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x64c4310a98cd - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x64c4310df3dc - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x64c4310df293 - core[e929cb53b82a81ca]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x64c43109dd45 - core[e929cb53b82a81ca]::panicking::assert_failed::<i32, i32>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x64c4310125ae - guitarpro[e550ee2ae58c53dd]::writers::musescore::tests::test_midi_to_pitch_octave
[INFO] [stdout]                                at /opt/rustwide/workdir/src/writers/musescore.rs:563:9
[INFO] [stdout]   22:     0x64c43100f567 - guitarpro[e550ee2ae58c53dd]::writers::musescore::tests::test_midi_to_pitch_octave::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/writers/musescore.rs:556:35
[INFO] [stdout]   23:     0x64c430ff7f46 - <guitarpro[e550ee2ae58c53dd]::writers::musescore::tests::test_midi_to_pitch_octave::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x64c43101380b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x64c43101380b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x64c431020ffb - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x64c431020ffb - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x64c431020ffb - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x64c431020ffb - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x64c431020ffb - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x64c431020ffb - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x64c431020ffb - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x64c43101a714 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x64c43101a714 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x64c431023c02 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x64c431023c02 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x64c431023c02 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x64c431023c02 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x64c431023c02 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x64c431023c02 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x64c431023c02 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x64c4310c946f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x64c4310c946f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7984f0c37aa4 - <unknown>
[INFO] [stdout]   45:     0x7984f0cc4a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     parsers::gpx::tests::test_time_signature_parsing
[INFO] [stdout]     utils::tests::test_invalid_midi_note
[INFO] [stdout]     writers::musescore::tests::test_midi_to_pitch_octave
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 30 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "25ffb1329ca13c95741e8475285646a52cfbde2606acf6df1932937db5b4574e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25ffb1329ca13c95741e8475285646a52cfbde2606acf6df1932937db5b4574e", kill_on_drop: false }`
[INFO] [stdout] 25ffb1329ca13c95741e8475285646a52cfbde2606acf6df1932937db5b4574e
