[INFO] cloning repository https://github.com/sitegui/mhorloge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sitegui/mhorloge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsitegui%2Fmhorloge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsitegui%2Fmhorloge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7ac42178c7b8ecb83db249353cfdad6fd982f9e3
[INFO] checking sitegui/mhorloge against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsitegui%2Fmhorloge" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/sitegui/mhorloge
[INFO] finished tweaking git repo https://github.com/sitegui/mhorloge
[INFO] tweaked toml for git repo https://github.com/sitegui/mhorloge written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sitegui/mhorloge on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sitegui/mhorloge 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 81e7323c3ac92fe97c4c08f9e4ca5b8eef4d90ff5a4c4b8a1168701462656f7c
[INFO] running `Command { std: "docker" "start" "-a" "81e7323c3ac92fe97c4c08f9e4ca5b8eef4d90ff5a4c4b8a1168701462656f7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "81e7323c3ac92fe97c4c08f9e4ca5b8eef4d90ff5a4c4b8a1168701462656f7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81e7323c3ac92fe97c4c08f9e4ca5b8eef4d90ff5a4c4b8a1168701462656f7c", kill_on_drop: false }`
[INFO] [stdout] 81e7323c3ac92fe97c4c08f9e4ca5b8eef4d90ff5a4c4b8a1168701462656f7c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6408262e0405c7c2f1103b33fd0a3c464d4edec9a232bdac9c996cb0b2d58a6e
[INFO] running `Command { std: "docker" "start" "-a" "6408262e0405c7c2f1103b33fd0a3c464d4edec9a232bdac9c996cb0b2d58a6e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.101
[INFO] [stderr]    Compiling proc-macro2 v1.0.29
[INFO] [stderr]    Compiling syn v1.0.76
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.11
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]     Checking once_cell v1.13.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.10
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling fs_extra v1.2.0
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]    Compiling serde_json v1.0.67
[INFO] [stderr]     Checking ppv-lite86 v0.2.10
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling anyhow v1.0.43
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking fixedbitset v0.4.0
[INFO] [stderr]     Checking itertools v0.10.1
[INFO] [stderr]    Compiling jemalloc-sys v0.5.1+5.3.0-patched
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]     Checking petgraph v0.6.0
[INFO] [stderr]     Checking ordered-float v2.8.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.2
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking env_logger v0.9.0
[INFO] [stderr]    Compiling structopt-derive v0.4.16
[INFO] [stderr]     Checking structopt v0.3.23
[INFO] [stderr]     Checking bstr v0.2.16
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stderr]     Checking jemallocator v0.5.0
[INFO] [stderr]     Checking mhorloge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/models/phrase.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Phrase {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 19 |     pub id: PhraseId,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Phrase` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | /         /// Determine the languages to use. Available languages are: "English", "French", "Portuguese"
[INFO] [stdout] 43 | |         /// and "German". Multiple languages can be requested by separating them by comma. By
[INFO] [stdout] 44 | |         /// default, all time phrases will be generated, that is, from 00:00 to 12:00 with 1-minute
[INFO] [stdout] 45 | |         /// precision. To change the precision, append ":" followed by an integer representing the
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |         /// precision for French and 5-minute precision for English.
[INFO] [stdout] 51 | |         languages: String,
[INFO] [stdout]    | |_________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 | /         /// The path to a file where to write the output as JSON, represented by `TimePhrasesOutput`.
[INFO] [stdout] 53 | |         phrases_output: PathBuf,
[INFO] [stdout]    | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | /         /// The path to the input JSON file, represented by `GridInput`.
[INFO] [stdout] 58 | |         phrases_input: PathBuf,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | /         /// The path to a file where to write the output as JSON, represented by `GridOutput`.
[INFO] [stdout] 60 | |         grid_output: PathBuf,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | /         /// The path to a file where to write the output as HTML.
[INFO] [stdout] 62 | |         #[structopt(long)]
[INFO] [stdout] 63 | |         grid_html_output: Option<PathBuf>,
[INFO] [stdout]    | |_________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | /         /// When given, will produce a debug SVG with a visual representation of the "token graph".
[INFO] [stdout] 75 | |         ///
[INFO] [stdout] 76 | |         /// This requires that a binary called `dot` be available. Tested with version 2.43.0.
[INFO] [stdout] 77 | |         /// You can install it with the `graphviz` package.
[INFO] [stdout] 78 | |         #[structopt(long)]
[INFO] [stdout] 79 | |         debug_tokens_svg: Option<PathBuf>,
[INFO] [stdout]    | |_________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | /         /// The path to the lyrics input JSON file, represented by `LyricsPuzzleInput`.
[INFO] [stdout] 91 | |         lyrics_input: PathBuf,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | /         /// The path to the grid input JSON file, represented by `GridOutput`.
[INFO] [stdout] 93 | |         grid_input: PathBuf,
[INFO] [stdout]    | |___________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 | /         /// The path to a file where to write the output as HTML.
[INFO] [stdout] 95 | |         html_output: PathBuf,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/tokenize.rs:74:28
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn extract_sequences(book: &PhraseBook) -> Vec<RepeatedSequence> {
[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] 74 | fn extract_sequences(book: &PhraseBook) -> Vec<RepeatedSequence<'_>> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/tokenize.rs:96:40
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn extract_sequences_with_length(book: &PhraseBook, length: usize) -> Vec<RepeatedSequence> {
[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] 96 | fn extract_sequences_with_length(book: &PhraseBook, length: usize) -> Vec<RepeatedSequence<'_>> {
[INFO] [stdout]    |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mhorloge` (bin "mhorloge" test) due to 9 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/models/phrase.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Phrase {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 19 |     pub id: PhraseId,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Phrase` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | /         /// Determine the languages to use. Available languages are: "English", "French", "Portuguese"
[INFO] [stdout] 43 | |         /// and "German". Multiple languages can be requested by separating them by comma. By
[INFO] [stdout] 44 | |         /// default, all time phrases will be generated, that is, from 00:00 to 12:00 with 1-minute
[INFO] [stdout] 45 | |         /// precision. To change the precision, append ":" followed by an integer representing the
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |         /// precision for French and 5-minute precision for English.
[INFO] [stdout] 51 | |         languages: String,
[INFO] [stdout]    | |_________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 | /         /// The path to a file where to write the output as JSON, represented by `TimePhrasesOutput`.
[INFO] [stdout] 53 | |         phrases_output: PathBuf,
[INFO] [stdout]    | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | /         /// The path to the input JSON file, represented by `GridInput`.
[INFO] [stdout] 58 | |         phrases_input: PathBuf,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | /         /// The path to a file where to write the output as JSON, represented by `GridOutput`.
[INFO] [stdout] 60 | |         grid_output: PathBuf,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | /         /// The path to a file where to write the output as HTML.
[INFO] [stdout] 62 | |         #[structopt(long)]
[INFO] [stdout] 63 | |         grid_html_output: Option<PathBuf>,
[INFO] [stdout]    | |_________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | /         /// When given, will produce a debug SVG with a visual representation of the "token graph".
[INFO] [stdout] 75 | |         ///
[INFO] [stdout] 76 | |         /// This requires that a binary called `dot` be available. Tested with version 2.43.0.
[INFO] [stdout] 77 | |         /// You can install it with the `graphviz` package.
[INFO] [stdout] 78 | |         #[structopt(long)]
[INFO] [stdout] 79 | |         debug_tokens_svg: Option<PathBuf>,
[INFO] [stdout]    | |_________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | /         /// The path to the lyrics input JSON file, represented by `LyricsPuzzleInput`.
[INFO] [stdout] 91 | |         lyrics_input: PathBuf,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | /         /// The path to the grid input JSON file, represented by `GridOutput`.
[INFO] [stdout] 93 | |         grid_input: PathBuf,
[INFO] [stdout]    | |___________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 | /         /// The path to a file where to write the output as HTML.
[INFO] [stdout] 95 | |         html_output: PathBuf,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/tokenize.rs:74:28
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn extract_sequences(book: &PhraseBook) -> Vec<RepeatedSequence> {
[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] 74 | fn extract_sequences(book: &PhraseBook) -> Vec<RepeatedSequence<'_>> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/tokenize.rs:96:40
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn extract_sequences_with_length(book: &PhraseBook, length: usize) -> Vec<RepeatedSequence> {
[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] 96 | fn extract_sequences_with_length(book: &PhraseBook, length: usize) -> Vec<RepeatedSequence<'_>> {
[INFO] [stdout]    |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mhorloge` (bin "mhorloge") due to 9 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6408262e0405c7c2f1103b33fd0a3c464d4edec9a232bdac9c996cb0b2d58a6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6408262e0405c7c2f1103b33fd0a3c464d4edec9a232bdac9c996cb0b2d58a6e", kill_on_drop: false }`
[INFO] [stdout] 6408262e0405c7c2f1103b33fd0a3c464d4edec9a232bdac9c996cb0b2d58a6e
