[INFO] fetching crate charter-rs 0.1.0...
[INFO] checking charter-rs-0.1.0 against 65dd30fb9e882a7e8f0be10caca62936db2a98b8 for pr-133502-28
[INFO] extracting crate charter-rs 0.1.0 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate charter-rs 0.1.0
[INFO] finished tweaking crates.io crate charter-rs 0.1.0
[INFO] tweaked toml for crates.io crate charter-rs 0.1.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate charter-rs 0.1.0 on toolchain 65dd30fb9e882a7e8f0be10caca62936db2a98b8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65dd30fb9e882a7e8f0be10caca62936db2a98b8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate charter-rs 0.1.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" "+65dd30fb9e882a7e8f0be10caca62936db2a98b8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap v4.5.46
[INFO] [stderr]   Downloaded clap_derive v4.5.45
[INFO] [stderr]   Downloaded anstyle v1.0.11
[INFO] [stderr]   Downloaded windows-targets v0.53.3
[INFO] [stderr]   Downloaded anstream v0.6.20
[INFO] [stderr]   Downloaded regex v1.11.2
[INFO] [stderr]   Downloaded clap_builder v4.5.46
[INFO] [stderr]   Downloaded regex-syntax v0.8.6
[INFO] [stderr]   Downloaded regex-automata v0.4.10
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_i686_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.53.0
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.53.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.53.0
[INFO] [stderr]   Downloaded windows_i686_msvc v0.53.0
[INFO] [stderr]   Downloaded windows_i686_gnu v0.53.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f3c1f2b8d023f976d8942dd0f25b0463d9fd4b1f5b7ea0a9a7dfccb9d012a09a
[INFO] running `Command { std: "docker" "start" "f3c1f2b8d023f976d8942dd0f25b0463d9fd4b1f5b7ea0a9a7dfccb9d012a09a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f3c1f2b8d023f976d8942dd0f25b0463d9fd4b1f5b7ea0a9a7dfccb9d012a09a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f3c1f2b8d023f976d8942dd0f25b0463d9fd4b1f5b7ea0a9a7dfccb9d012a09a" "/opt/rustwide/cargo-home/bin/cargo" "+65dd30fb9e882a7e8f0be10caca62936db2a98b8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f3c1f2b8d023f976d8942dd0f25b0463d9fd4b1f5b7ea0a9a7dfccb9d012a09a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f3c1f2b8d023f976d8942dd0f25b0463d9fd4b1f5b7ea0a9a7dfccb9d012a09a" "/opt/rustwide/cargo-home/bin/cargo" "+65dd30fb9e882a7e8f0be10caca62936db2a98b8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]     Checking anstyle v1.0.11
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking clap_lex v0.7.5
[INFO] [stderr]     Checking regex-syntax v0.8.6
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking anstream v0.6.20
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking clap_builder v4.5.46
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking regex-automata v0.4.10
[INFO] [stderr]     Checking regex v1.11.2
[INFO] [stderr]    Compiling clap_derive v4.5.45
[INFO] [stderr]     Checking clap v4.5.46
[INFO] [stderr]     Checking charter-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/lib.rs:412:16
[INFO] [stdout]     |
[INFO] [stdout] 412 |             if (measure.is_last_in_line()) {
[INFO] [stdout]     |                ^                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 412 -             if (measure.is_last_in_line()) {
[INFO] [stdout] 412 +             if measure.is_last_in_line() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/lib.rs:412:16
[INFO] [stdout]     |
[INFO] [stdout] 412 |             if (measure.is_last_in_line()) {
[INFO] [stdout]     |                ^                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 412 -             if (measure.is_last_in_line()) {
[INFO] [stdout] 412 +             if measure.is_last_in_line() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:276:25
[INFO] [stdout]     |
[INFO] [stdout] 276 |                     let mut slice_len: usize;
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:277:25
[INFO] [stdout]     |
[INFO] [stdout] 277 |                     let mut slice_start: usize;
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_start_c`
[INFO] [stdout]    --> src/lib.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let line_start_c = 0usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_start_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_line_start_c`
[INFO] [stdout]    --> src/lib.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let prev_line_start_c = 0usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_line_start_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_line_start_c`
[INFO] [stdout]    --> src/lib.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let next_line_start_c = 0usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_line_start_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_measure_index`
[INFO] [stdout]    --> src/lib.rs:275:25
[INFO] [stdout]     |
[INFO] [stdout] 275 |                 for (i, line_measure_index) in line_measure_indexes.iter().enumerate() {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_measure_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_line_measure_index`
[INFO] [stdout]    --> src/lib.rs:278:25
[INFO] [stdout]     |
[INFO] [stdout] 278 |                     let mut next_line_measure_index: usize;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_line_measure_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lyrical_line` is never read
[INFO] [stdout]    --> src/lib.rs:241:54
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 let mut lyrical_line: Option<&str> = None;
[INFO] [stdout]     |                                                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 257 |                     lyrical_line = None;
[INFO] [stdout]     |                     ------------------- `lyrical_line` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rhythmic_line` is never read
[INFO] [stdout]    --> src/lib.rs:242:55
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 let mut rhythmic_line: Option<&str> = None;
[INFO] [stdout]     |                                                       ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 252 |                     rhythmic_line = None;
[INFO] [stdout]     |                     -------------------- `rhythmic_line` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_harmonic`
[INFO] [stdout]    --> src/lib.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 |         include_harmonic: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_harmonic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_rhythmic`
[INFO] [stdout]    --> src/lib.rs:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 |         include_rhythmic: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_rhythmic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_lyrical`
[INFO] [stdout]    --> src/lib.rs:389:9
[INFO] [stdout]     |
[INFO] [stdout] 389 |         include_lyrical: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_lyrical`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `section_indicators`
[INFO] [stdout]    --> src/lib.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let section_indicators = self.section_indicators();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_section_indicators`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/lib.rs:398:14
[INFO] [stdout]     |
[INFO] [stdout] 398 |         for (m, measure) in self.measures().iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match<'a>` is more private than the item `Measure::rhythmic`
[INFO] [stdout]   --> src/lib.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub rhythmic: Option<Match<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Measure::rhythmic` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Match<'a>` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Match<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match<'a>` is more private than the item `Measure::harmonic`
[INFO] [stdout]   --> src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub harmonic: Match<'a>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ field `Measure::harmonic` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Match<'a>` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Match<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match<'a>` is more private than the item `Measure::lyrical`
[INFO] [stdout]   --> src/lib.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub lyrical: Option<Match<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Measure::lyrical` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Match<'a>` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Match<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Section<'_>` is more private than the item `Chart::sections`
[INFO] [stdout]    --> src/lib.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn sections(&self) -> Vec<Section> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Chart::sections` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Section<'_>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct Section<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match<'_>` is more private than the item `Chart::section_indicators`
[INFO] [stdout]    --> src/lib.rs:369:5
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub fn section_indicators(&self) -> Vec<Match> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Chart::section_indicators` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Match<'_>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | struct Match<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lib.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl<'a> Measure<'a> {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 66 |     fn new(
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lib.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl<'a> Section<'a> {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 118 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `chord_lines` is never used
[INFO] [stdout]    --> src/lib.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Chart {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     fn chord_lines(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:208:21
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn sections(&self) -> Vec<Section> {
[INFO] [stdout]     |                     ^^^^^         ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn sections(&self) -> Vec<Section<'_>> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn measures(&self) -> Vec<Measure> {
[INFO] [stdout]     |                     ^^^^^         ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn measures(&self) -> Vec<Measure<'_>> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:369:31
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub fn section_indicators(&self) -> Vec<Match> {
[INFO] [stdout]     |                               ^^^^^         ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub fn section_indicators(&self) -> Vec<Match<'_>> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:276:25
[INFO] [stdout]     |
[INFO] [stdout] 276 |                     let mut slice_len: usize;
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:277:25
[INFO] [stdout]     |
[INFO] [stdout] 277 |                     let mut slice_start: usize;
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_start_c`
[INFO] [stdout]    --> src/lib.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let line_start_c = 0usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_start_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_line_start_c`
[INFO] [stdout]    --> src/lib.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let prev_line_start_c = 0usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_line_start_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_line_start_c`
[INFO] [stdout]    --> src/lib.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let next_line_start_c = 0usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_line_start_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_measure_index`
[INFO] [stdout]    --> src/lib.rs:275:25
[INFO] [stdout]     |
[INFO] [stdout] 275 |                 for (i, line_measure_index) in line_measure_indexes.iter().enumerate() {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_measure_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_line_measure_index`
[INFO] [stdout]    --> src/lib.rs:278:25
[INFO] [stdout]     |
[INFO] [stdout] 278 |                     let mut next_line_measure_index: usize;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_line_measure_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lyrical_line` is never read
[INFO] [stdout]    --> src/lib.rs:241:54
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 let mut lyrical_line: Option<&str> = None;
[INFO] [stdout]     |                                                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 257 |                     lyrical_line = None;
[INFO] [stdout]     |                     ------------------- `lyrical_line` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rhythmic_line` is never read
[INFO] [stdout]    --> src/lib.rs:242:55
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 let mut rhythmic_line: Option<&str> = None;
[INFO] [stdout]     |                                                       ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 252 |                     rhythmic_line = None;
[INFO] [stdout]     |                     -------------------- `rhythmic_line` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_harmonic`
[INFO] [stdout]    --> src/lib.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 |         include_harmonic: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_harmonic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_rhythmic`
[INFO] [stdout]    --> src/lib.rs:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 |         include_rhythmic: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_rhythmic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_lyrical`
[INFO] [stdout]    --> src/lib.rs:389:9
[INFO] [stdout]     |
[INFO] [stdout] 389 |         include_lyrical: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_lyrical`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `section_indicators`
[INFO] [stdout]    --> src/lib.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let section_indicators = self.section_indicators();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_section_indicators`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/lib.rs:398:14
[INFO] [stdout]     |
[INFO] [stdout] 398 |         for (m, measure) in self.measures().iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match<'a>` is more private than the item `Measure::rhythmic`
[INFO] [stdout]   --> src/lib.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub rhythmic: Option<Match<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Measure::rhythmic` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Match<'a>` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Match<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match<'a>` is more private than the item `Measure::harmonic`
[INFO] [stdout]   --> src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub harmonic: Match<'a>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ field `Measure::harmonic` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Match<'a>` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Match<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match<'a>` is more private than the item `Measure::lyrical`
[INFO] [stdout]   --> src/lib.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub lyrical: Option<Match<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Measure::lyrical` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Match<'a>` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Match<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Section<'_>` is more private than the item `Chart::sections`
[INFO] [stdout]    --> src/lib.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn sections(&self) -> Vec<Section> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Chart::sections` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Section<'_>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct Section<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Match<'_>` is more private than the item `Chart::section_indicators`
[INFO] [stdout]    --> src/lib.rs:369:5
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub fn section_indicators(&self) -> Vec<Match> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Chart::section_indicators` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Match<'_>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | struct Match<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lib.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl<'a> Measure<'a> {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 66 |     fn new(
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lib.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl<'a> Section<'a> {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 118 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `chord_lines` is never used
[INFO] [stdout]    --> src/lib.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Chart {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     fn chord_lines(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:208:21
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn sections(&self) -> Vec<Section> {
[INFO] [stdout]     |                     ^^^^^         ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn sections(&self) -> Vec<Section<'_>> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn measures(&self) -> Vec<Measure> {
[INFO] [stdout]     |                     ^^^^^         ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn measures(&self) -> Vec<Measure<'_>> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:369:31
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub fn section_indicators(&self) -> Vec<Match> {
[INFO] [stdout]     |                               ^^^^^         ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub fn section_indicators(&self) -> Vec<Match<'_>> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     write!(out, "{}", chart.join_all_measures(true, true, true));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let _ = write!(out, "{}", chart.join_all_measures(true, true, true));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     write!(out, "{}", chart.join_all_measures(true, true, true));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let _ = write!(out, "{}", chart.join_all_measures(true, true, true));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.23s
[INFO] running `Command { std: "docker" "inspect" "f3c1f2b8d023f976d8942dd0f25b0463d9fd4b1f5b7ea0a9a7dfccb9d012a09a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3c1f2b8d023f976d8942dd0f25b0463d9fd4b1f5b7ea0a9a7dfccb9d012a09a", kill_on_drop: false }`
[INFO] [stdout] f3c1f2b8d023f976d8942dd0f25b0463d9fd4b1f5b7ea0a9a7dfccb9d012a09a
