[INFO] cloning repository https://github.com/jonathan-lemos/meta
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jonathan-lemos/meta" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjonathan-lemos%2Fmeta", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjonathan-lemos%2Fmeta'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6d07567b21d162f0b44a144bb5da6265867ef3e8
[INFO] testing jonathan-lemos/meta against 1.95.0 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjonathan-lemos%2Fmeta" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jonathan-lemos/meta
[INFO] finished tweaking git repo https://github.com/jonathan-lemos/meta
[INFO] tweaked toml for git repo https://github.com/jonathan-lemos/meta written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jonathan-lemos/meta on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jonathan-lemos/meta 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `xattr` dependency)
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml v0.5.7
[INFO] [stderr]   Downloaded term_size v0.3.2
[INFO] [stderr]   Downloaded pkg-config v0.3.19
[INFO] [stderr]   Downloaded unicode-xid v0.2.1
[INFO] [stderr]   Downloaded hermit-abi v0.1.17
[INFO] [stderr]   Downloaded edit-distance v2.1.0
[INFO] [stderr]   Downloaded xattr v0.2.2
[INFO] [stderr]   Downloaded vec_map v0.8.2
[INFO] [stderr]   Downloaded vcpkg v0.2.10
[INFO] [stderr]   Downloaded migrations_macros v1.4.2
[INFO] [stderr]   Downloaded colored v2.0.0
[INFO] [stderr]   Downloaded migrations_internals v1.4.1
[INFO] [stderr]   Downloaded walkdir v2.3.1
[INFO] [stderr]   Downloaded diesel_derives v1.4.1
[INFO] [stderr]   Downloaded memchr v2.3.4
[INFO] [stderr]   Downloaded serde_derive v1.0.117
[INFO] [stderr]   Downloaded aho-corasick v0.7.15
[INFO] [stderr]   Downloaded fancy-regex v0.4.1
[INFO] [stderr]   Downloaded serde v1.0.117
[INFO] [stderr]   Downloaded serde_json v1.0.60
[INFO] [stderr]   Downloaded proc-macro2 v1.0.24
[INFO] [stderr]   Downloaded clap v2.33.3
[INFO] [stderr]   Downloaded quote v1.0.7
[INFO] [stderr]   Downloaded diesel v1.4.5
[INFO] [stderr]   Downloaded syn v1.0.48
[INFO] [stderr]   Downloaded regex v1.4.2
[INFO] [stderr]   Downloaded diesel_migrations v1.4.0
[INFO] [stderr]   Downloaded itoa v0.4.6
[INFO] [stderr]   Downloaded regex-syntax v0.6.21
[INFO] [stderr]   Downloaded libc v0.2.80
[INFO] [stderr]   Downloaded libsqlite3-sys v0.9.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dbe1a8c0b638455b1821fc49531225172fba99668d706a34164ea4b7fda0370b
[INFO] running `Command { std: "docker" "start" "-a" "dbe1a8c0b638455b1821fc49531225172fba99668d706a34164ea4b7fda0370b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dbe1a8c0b638455b1821fc49531225172fba99668d706a34164ea4b7fda0370b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbe1a8c0b638455b1821fc49531225172fba99668d706a34164ea4b7fda0370b", kill_on_drop: false }`
[INFO] [stdout] dbe1a8c0b638455b1821fc49531225172fba99668d706a34164ea4b7fda0370b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9f12203c02b88399726934ef6345f7fe0a77f2758e9ed8e9f9ce93292048f54c
[INFO] running `Command { std: "docker" "start" "-a" "9f12203c02b88399726934ef6345f7fe0a77f2758e9ed8e9f9ce93292048f54c", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `xattr` dependency)
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.48
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling serde_derive v1.0.117
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.60
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling regex-syntax v0.6.21
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.9.1
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling itoa v0.4.6
[INFO] [stderr]    Compiling colored v2.0.0
[INFO] [stderr]    Compiling xattr v0.2.2
[INFO] [stderr]    Compiling term_size v0.3.2
[INFO] [stderr]    Compiling walkdir v2.3.1
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling edit-distance v2.1.0
[INFO] [stderr]    Compiling regex v1.4.2
[INFO] [stderr]    Compiling fancy-regex v0.4.1
[INFO] [stderr]    Compiling diesel_derives v1.4.1
[INFO] [stderr]    Compiling diesel v1.4.5
[INFO] [stderr]    Compiling toml v0.5.7
[INFO] [stderr]    Compiling migrations_internals v1.4.1
[INFO] [stderr]    Compiling migrations_macros v1.4.2
[INFO] [stderr]    Compiling diesel_migrations v1.4.0
[INFO] [stderr]    Compiling meta v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `;`, found keyword `return`
[INFO] [stdout]    --> src/cli/args.rs:341:18
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 }
[INFO] [stdout]     |                  ^ help: add `;` here
[INFO] [stdout] 342 |                 return;
[INFO] [stdout]     |                 ------ unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found `next`
[INFO] [stdout]   --> src/cli/lang.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 |         cur = next
[INFO] [stdout]    |                   ^ help: add `;` here
[INFO] [stdout] 10 |         next = iter.next();
[INFO] [stdout]    |         ---- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `,`, `.`, `?`, `}`, or an operator, found `equals_name`
[INFO] [stdout]   --> src/cli/subcommands/remove.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     flags: vec![HELP_FLAG, QUIET_FLAG, RECURSIVE_FLAG, Flag {
[INFO] [stdout]    |                                                        ---- while parsing this struct
[INFO] [stdout] 14 |         aliases: vec!["--all", "-a"]
[INFO] [stdout]    |                                     -
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     expected one of `,`, `.`, `?`, `}`, or an operator
[INFO] [stdout]    |                                     help: try adding a comma: `,`
[INFO] [stdout] 15 |         equals_name: None,
[INFO] [stdout]    |         ^^^^^^^^^^^ unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::cli::query::parse::LexError::NonLexableSequence`
[INFO] [stdout]   --> src/cli/query/parse.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::cli::query::parse::LexError::NonLexableSequence;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `NonLexableSequence` in `cli::query::lex::LexError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here
[INFO] [stdout]   --> src/cli/query/args.rs:38:6
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Args {
[INFO] [stdout]    |      ^^^^ expected lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: indicate the anonymous lifetime
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Args<'_> {
[INFO] [stdout]    |          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here
[INFO] [stdout]   --> src/cli/query/args.rs:73:23
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl Index<usize> for Args {
[INFO] [stdout]    |                       ^^^^ expected lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: indicate the anonymous lifetime
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl Index<usize> for Args<'_> {
[INFO] [stdout]    |                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `NonLexableSequence` in this scope
[INFO] [stdout]   --> src/cli/query/lex.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     Err(NonLexableSequence)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/cli/query/lex.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StrExtensions` and `ToCharIterator`
[INFO] [stdout]  --> src/cli/query/lex.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::format::str::{ToCharIterator, StrExtensions};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::linq::collectors::IntoVec`
[INFO] [stdout]  --> src/cli/query/lex.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::linq::collectors::IntoVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::LexError::*`
[INFO] [stdout]  --> src/cli/query/lex.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use self::LexError::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::HexSequenceError::*`
[INFO] [stdout]   --> src/cli/query/lex.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use self::HexSequenceError::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cli::query::args::ArgsIter`
[INFO] [stdout]   --> src/cli/query/lex.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::cli::query::args::ArgsIter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cli::query::args::ArgsIter`
[INFO] [stdout]  --> src/cli/query/lexeme.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cli::query::args::ArgsIter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::linq::collectors::IntoVec`
[INFO] [stdout]   --> src/cli/query/parse.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::linq::collectors::IntoVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]   --> src/cli/query/parse.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::convert::TryFrom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StrExtensions` and `ToCharIterator`
[INFO] [stdout]   --> src/cli/query/parse.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::format::str::{ToCharIterator, StrExtensions};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::take`
[INFO] [stdout]   --> src/cli/query/parse.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::mem::take;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cli::query::parse::Factor::KeyEqualsValue`
[INFO] [stdout]   --> src/cli/query/parse.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::cli::query::parse::Factor::KeyEqualsValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lex`
[INFO] [stdout]   --> src/cli/query/parse.rs:19:40
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::cli::query::lex::{LexError, lex};
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Lexeme`
[INFO] [stdout]   --> src/cli/query/parse.rs:20:58
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::cli::query::lexeme::{LexemeQueue, LexemeKind, Lexeme, EqualityKind, OwnedLexeme};
[INFO] [stdout]    |                                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/cli/query/parse.rs:99:62
[INFO] [stdout]    |
[INFO] [stdout] 99 | ...   return Err(ParseError::UnexpectedEOF(("Expected a ')'. Most likely you forgot to include a closing ')'".to_owned())))
[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] 99 -                         return Err(ParseError::UnexpectedEOF(("Expected a ')'. Most likely you forgot to include a closing ')'".to_owned())))
[INFO] [stdout] 99 +                         return Err(ParseError::UnexpectedEOF("Expected a ')'. Most likely you forgot to include a closing ')'".to_owned()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range`
[INFO] [stdout]  --> src/cli/query/args.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Index, Range};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `authors`, `description`, `program_name`, and `version`
[INFO] [stdout]  --> src/cli/args.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::cli::program::{program_name, authors, version, description};
[INFO] [stdout]   |                           ^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::format::str::StrExtensions`
[INFO] [stdout]  --> src/cli/args.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::format::str::StrExtensions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArgsIter`
[INFO] [stdout]  --> src/cli/args.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::cli::query::args::{Args, ArgsIter};
[INFO] [stdout]   |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Flag`
[INFO] [stdout]  --> src/cli/subcommands/get.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cli::args::{Flag, HELP_FLAG, Positional, QUIET_FLAG, RECURSIVE_FLAG, Subcommand, FileSelector};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Flag`
[INFO] [stdout]  --> src/cli/subcommands/list.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cli::args::{Flag, HELP_FLAG, Positional, QUIET_FLAG, RECURSIVE_FLAG, Subcommand};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::linq::collectors::IntoVec`
[INFO] [stdout]  --> src/cli/print.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::linq::collectors::IntoVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/format/str.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/format/re.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/filesystem/fs.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `ReadDir`, and `read_dir`
[INFO] [stdout]  --> src/filesystem/fs.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{DirEntry, ReadDir, read_dir};
[INFO] [stdout]   |               ^^^^^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/filesystem/fs.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::linq::collectors::IntoVec`
[INFO] [stdout]  --> src/filesystem/fs.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::linq::collectors::IntoVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]  --> src/filesystem/xattr.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter::FromIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromIterator`
[INFO] [stdout]  --> src/os/unix/xattr.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter::{FromIterator, Map};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::linq::collectors::IntoVec`
[INFO] [stdout]  --> src/collections/mrucache.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::linq::collectors::IntoVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]   --> src/cli/query/lexeme.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn borrow(&'a self) -> &Lexeme<'a, 'a> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&OwnedLexeme) -> &Lexeme<'_, '_>`
[INFO] [stdout]               found signature `fn(&'a OwnedLexeme) -> &'a Lexeme<'_, '_>`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]   --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/borrow.rs:179:14
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]   --> src/cli/query/lexeme.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a> Borrow<Lexeme<'a, 'a>> for OwnedLexeme {
[INFO] [stdout]    |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0392]: lifetime parameter `'a` is never used
[INFO] [stdout]  --> src/cli/query/args.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Args<'a> {
[INFO] [stdout]   |                 ^^ unused lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing `'a`, referring to it in a field, or using a marker such as `PhantomData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnOnce(SubcommandParseResults) + 'static)` cannot be shared between threads safely
[INFO] [stdout]    --> src/cli/args.rs:253:21
[INFO] [stdout]     |
[INFO] [stdout] 253 | static SUBCOMMANDS: &[Subcommand] = &[
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ `(dyn FnOnce(SubcommandParseResults) + 'static)` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `(dyn FnOnce(SubcommandParseResults) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnOnce(SubcommandParseResults) + 'static)>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnOnce(SubcommandParseResults) + 'static)>`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:234:11
[INFO] [stdout] note: required because it appears within the type `Subcommand`
[INFO] [stdout]    --> src/cli/args.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct Subcommand {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: required because it appears within the type `[Subcommand]`
[INFO] [stdout]     = note: required because it appears within the type `&'static [Subcommand]`
[INFO] [stdout]     = note: shared static variables must have a type that implements `Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnOnce(SubcommandParseResults) + 'static)` cannot be shared between threads safely
[INFO] [stdout]    --> src/cli/subcommands/get.rs:3:31
[INFO] [stdout]     |
[INFO] [stdout]   3 | pub(crate) static SUBCOMMAND: Subcommand = Subcommand {
[INFO] [stdout]     |                               ^^^^^^^^^^ `(dyn FnOnce(SubcommandParseResults) + 'static)` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `(dyn FnOnce(SubcommandParseResults) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnOnce(SubcommandParseResults) + 'static)>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnOnce(SubcommandParseResults) + 'static)>`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:234:11
[INFO] [stdout] note: required because it appears within the type `Subcommand`
[INFO] [stdout]    --> src/cli/args.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct Subcommand {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: shared static variables must have a type that implements `Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnOnce(SubcommandParseResults) + 'static)` cannot be shared between threads safely
[INFO] [stdout]    --> src/cli/subcommands/set.rs:3:31
[INFO] [stdout]     |
[INFO] [stdout]   3 | pub(crate) static SUBCOMMAND: Subcommand = Subcommand {
[INFO] [stdout]     |                               ^^^^^^^^^^ `(dyn FnOnce(SubcommandParseResults) + 'static)` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `(dyn FnOnce(SubcommandParseResults) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnOnce(SubcommandParseResults) + 'static)>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnOnce(SubcommandParseResults) + 'static)>`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:234:11
[INFO] [stdout] note: required because it appears within the type `Subcommand`
[INFO] [stdout]    --> src/cli/args.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct Subcommand {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: shared static variables must have a type that implements `Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnOnce(SubcommandParseResults) + 'static)` cannot be shared between threads safely
[INFO] [stdout]    --> src/cli/subcommands/remove.rs:3:24
[INFO] [stdout]     |
[INFO] [stdout]   3 | pub static SUBCOMMAND: Subcommand = Subcommand {
[INFO] [stdout]     |                        ^^^^^^^^^^ `(dyn FnOnce(SubcommandParseResults) + 'static)` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `(dyn FnOnce(SubcommandParseResults) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnOnce(SubcommandParseResults) + 'static)>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnOnce(SubcommandParseResults) + 'static)>`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:234:11
[INFO] [stdout] note: required because it appears within the type `Subcommand`
[INFO] [stdout]    --> src/cli/args.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct Subcommand {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: shared static variables must have a type that implements `Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnOnce(SubcommandParseResults) + 'static)` cannot be shared between threads safely
[INFO] [stdout]    --> src/cli/subcommands/list.rs:3:31
[INFO] [stdout]     |
[INFO] [stdout]   3 | pub(crate) static SUBCOMMAND: Subcommand = Subcommand {
[INFO] [stdout]     |                               ^^^^^^^^^^ `(dyn FnOnce(SubcommandParseResults) + 'static)` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `(dyn FnOnce(SubcommandParseResults) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnOnce(SubcommandParseResults) + 'static)>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnOnce(SubcommandParseResults) + 'static)>`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:234:11
[INFO] [stdout] note: required because it appears within the type `Subcommand`
[INFO] [stdout]    --> src/cli/args.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub struct Subcommand {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: shared static variables must have a type that implements `Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `col_begin_end` has an incompatible type for trait
[INFO] [stdout]    --> src/format/str.rs:131:48
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn col_begin_end(&self, begin: usize, end: Option<usize>) -> String {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^ expected `usize`, found `std::option::Option<usize>`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/format/str.rs:65:48
[INFO] [stdout]     |
[INFO] [stdout]  65 |     fn col_begin_end(&self, begin: usize, end: usize) -> String;
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     = note: expected signature `fn(&&_, _, usize) -> std::string::String`
[INFO] [stdout]                found signature `fn(&&_, _, std::option::Option<usize>) -> std::string::String`
[INFO] [stdout] help: change the parameter type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 131 -     fn col_begin_end(&self, begin: usize, end: Option<usize>) -> String {
[INFO] [stdout] 131 +     fn col_begin_end(&self, begin: usize, end: usize) -> String {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `fn(OsString) -> Result<String, Error>` to return `String`, but it returns `Result<String, Error>`
[INFO] [stdout]   --> src/os/unix/xattr.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl XattrFunctions<Iter> for UnixXattr {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Result<String, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `std::string::String`
[INFO] [stdout]                 found enum `Result<std::string::String, std::io::Error>`
[INFO] [stdout]    = note: required for `std::iter::Map<XAttrs, fn(OsString) -> Result<std::string::String, std::io::Error>>` to implement `Iterator`
[INFO] [stdout] note: required by a bound in `XattrFunctions`
[INFO] [stdout]   --> src/filesystem/xattr.rs:5:38
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait XattrFunctions<I: Iterator<Item=String>> {
[INFO] [stdout]    |                                      ^^^^^^^^^^^ required by this bound in `XattrFunctions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K, V> Node<K, V> {
[INFO] [stdout]    |            ^^^^^^^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                ^^^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K: std::hash::Hash, V> Node<K, V> {
[INFO] [stdout]    |       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K, V> Node<K, V> {
[INFO] [stdout]    |            ^^^^^^^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:23
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                       ^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K: std::cmp::Eq, V> Node<K, V> {
[INFO] [stdout]    |       ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0392]: lifetime parameter `'a` is never used
[INFO] [stdout]   --> src/collections/mrucache.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                     ^^ unused lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing `'a`, referring to it in a field, or using a marker such as `PhantomData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a, K, V> NodeIter<'a, K, V> {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `NodeIter`
[INFO] [stdout]   --> src/collections/mrucache.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                            ^^^^ required by this bound in `NodeIter`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a, K: std::hash::Hash, V> NodeIter<'a, K, V> {
[INFO] [stdout]    |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a, K, V> NodeIter<'a, K, V> {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `NodeIter`
[INFO] [stdout]   --> src/collections/mrucache.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                                   ^^ required by this bound in `NodeIter`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a, K: std::cmp::Eq, V> NodeIter<'a, K, V> {
[INFO] [stdout]    |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn next(&'a mut self) -> Option<Self::Item> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `NodeIter`
[INFO] [stdout]   --> src/collections/mrucache.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                            ^^^^ required by this bound in `NodeIter`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::hash::Hash, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn next(&'a mut self) -> Option<Self::Item> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `NodeIter`
[INFO] [stdout]   --> src/collections/mrucache.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                                   ^^ required by this bound in `NodeIter`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::cmp::Eq, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `NodeIter`
[INFO] [stdout]   --> src/collections/mrucache.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                            ^^^^ required by this bound in `NodeIter`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::hash::Hash, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `NodeIter`
[INFO] [stdout]   --> src/collections/mrucache.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                                   ^^ required by this bound in `NodeIter`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::cmp::Eq, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:15:47
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(key: Arc<K>, value: Arc<V>) -> Self {
[INFO] [stdout]    |                                               ^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                ^^^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K: std::hash::Hash, V> Node<K, V> {
[INFO] [stdout]    |       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:15:47
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(key: Arc<K>, value: Arc<V>) -> Self {
[INFO] [stdout]    |                                               ^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:23
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                       ^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K: std::cmp::Eq, V> Node<K, V> {
[INFO] [stdout]    |       ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(head: Option<Arc<Node<K, V>>>) -> Self {
[INFO] [stdout]    |                                 ^^^^^^^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                ^^^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a, K: std::hash::Hash, V> NodeIter<'a, K, V> {
[INFO] [stdout]    |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(head: Option<Arc<Node<K, V>>>) -> Self {
[INFO] [stdout]    |                                 ^^^^^^^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:23
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                       ^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a, K: std::cmp::Eq, V> NodeIter<'a, K, V> {
[INFO] [stdout]    |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `K` may not live long enough
[INFO] [stdout]   --> src/collections/mrucache.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |      -- the parameter type `K` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] 36 |     type Item = (&'a K, &'a V);
[INFO] [stdout]    |     ^^^^^^^^^ ...so that the reference type `&'a K` does not outlive the data it points at
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: 'a, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `V` may not live long enough
[INFO] [stdout]   --> src/collections/mrucache.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |      -- the parameter type `V` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] 36 |     type Item = (&'a K, &'a V);
[INFO] [stdout]    |     ^^^^^^^^^ ...so that the reference type `&'a V` does not outlive the data it points at
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K, V: 'a> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:38:21
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn next(&'a mut self) -> Option<Self::Item> {
[INFO] [stdout]    |                     ^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `NodeIter`
[INFO] [stdout]   --> src/collections/mrucache.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                            ^^^^ required by this bound in `NodeIter`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::hash::Hash, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:38:21
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn next(&'a mut self) -> Option<Self::Item> {
[INFO] [stdout]    |                     ^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `NodeIter`
[INFO] [stdout]   --> src/collections/mrucache.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                                   ^^ required by this bound in `NodeIter`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::cmp::Eq, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/cli/query/lex.rs:45:11
[INFO] [stdout]      |
[INFO] [stdout]   45 |     match serde_json::from_str(&slice[0..quot.end()]) {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `T` declared on the function `from_str`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: Deserialize<'_>`
[INFO] [stdout]      = help: the following types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a std::path::Path
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 132 others
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.60/src/de.rs:2584:8
[INFO] [stdout]      |
[INFO] [stdout] 2582 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2583 | where
[INFO] [stdout] 2584 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]      |
[INFO] [stdout]   45 |     match serde_json::from_str::<T>(&slice[0..quot.end()]) {
[INFO] [stdout]      |                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |     static QUOTE_REGEX: &Regex = regex_expect(r#"^("|').*?(?<!\)\1"#);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:51:27
[INFO] [stdout]    |
[INFO] [stdout] 51 | static ID_REGEX: &Regex = regex_expect(r"^[a-zA-Z0-9\-_]+\b");
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:55:6
[INFO] [stdout]    |
[INFO] [stdout] 55 |     (regex_expect(r"^,"), LexemeKind::Comma),
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:56:6
[INFO] [stdout]    |
[INFO] [stdout] 56 |     (regex_expect(r"^\("), LexemeKind::LParen),
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:57:6
[INFO] [stdout]    |
[INFO] [stdout] 57 |     (regex_expect(r"^\)"), LexemeKind::RParen),
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:58:6
[INFO] [stdout]    |
[INFO] [stdout] 58 |     (regex_expect(r"^=="), LexemeKind::Equals(EqualityKind::Strict)),
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:59:6
[INFO] [stdout]    |
[INFO] [stdout] 59 |     (regex_expect(r"^="), LexemeKind::Equals(EqualityKind::Strict)),
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:60:6
[INFO] [stdout]    |
[INFO] [stdout] 60 |     (regex_expect(r"^is\b"), LexemeKind::Equals(EqualityKind::Strict)),
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:61:6
[INFO] [stdout]    |
[INFO] [stdout] 61 |     (regex_expect(r"^in\b"), LexemeKind::In),
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:62:6
[INFO] [stdout]    |
[INFO] [stdout] 62 |     (regex_expect(r"^and\b"), LexemeKind::And),
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:63:6
[INFO] [stdout]    |
[INFO] [stdout] 63 |     (regex_expect(r"^or\b"), LexemeKind::Or),
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]   --> src/cli/query/lex.rs:64:6
[INFO] [stdout]    |
[INFO] [stdout] 64 |     (regex_expect(r"^matches\b"), LexemeKind::Equals(EqualityKind::Matches))
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]   --> src/format/re.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/cli/query/lex.rs:71:16
[INFO] [stdout]    |
[INFO] [stdout] 71 |         if let Some(m) = re.find(slice) {
[INFO] [stdout]    |                ^^^^^^^   -------------- this expression has type `Result<std::option::Option<fancy_regex::Match<'_>>, fancy_regex::Error>`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                expected `Result<Option<Match<'_>>, Error>`, found `Option<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Result<std::option::Option<fancy_regex::Match<'_>>, fancy_regex::Error>`
[INFO] [stdout]               found enum `std::option::Option<_>`
[INFO] [stdout] help: try wrapping the pattern in `Ok`
[INFO] [stdout]    |
[INFO] [stdout] 71 |         if let Ok(Some(m)) = re.find(slice) {
[INFO] [stdout]    |                +++       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/cli/query/lex.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     if let Some(m) = ID_REGEX.find(slice) {
[INFO] [stdout]    |            ^^^^^^^   -------------------- this expression has type `Result<std::option::Option<fancy_regex::Match<'_>>, fancy_regex::Error>`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            expected `Result<Option<Match<'_>>, Error>`, found `Option<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Result<std::option::Option<fancy_regex::Match<'_>>, fancy_regex::Error>`
[INFO] [stdout]               found enum `std::option::Option<_>`
[INFO] [stdout] help: try wrapping the pattern in `Ok`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     if let Ok(Some(m)) = ID_REGEX.find(slice) {
[INFO] [stdout]    |            +++       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/cli/query/lex.rs:97:29
[INFO] [stdout]    |
[INFO] [stdout] 97 |             [("(", index), (arg, index), (")", index + arg.len() - 1)]
[INFO] [stdout]    |                             ^^^ expected `&str`, found `String`
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 97 |             [("(", index), (&arg, index), (")", index + arg.len() - 1)]
[INFO] [stdout]    |                             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `if` and `else` have incompatible types
[INFO] [stdout]    --> src/cli/query/lex.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout]  96 | /         if arg.contains(" ") {
[INFO] [stdout]  97 | |             [("(", index), (arg, index), (")", index + arg.len() - 1)]
[INFO] [stdout]     | |             ---------------------------------------------------------- expected because of this
[INFO] [stdout]  98 | |         }
[INFO] [stdout]  99 | |         else {
[INFO] [stdout] 100 | |             [(arg, index)]
[INFO] [stdout]     | |             ^^^^^^^^^^^^^^ expected `[(&str, usize); 3]`, found `[(String, usize); 1]`
[INFO] [stdout] 101 | |         }
[INFO] [stdout]     | |_________- `if` and `else` have incompatible types
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected array `[(&str, usize); 3]`
[INFO] [stdout]                found array `[(std::string::String, usize); 1]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `std::option::Option<Vec<Lexeme<'_, '_>>>` cannot be built from an iterator over elements of type `Lexeme<'_, '_>`
[INFO] [stdout]    --> src/cli/query/lexeme.rs:109:59
[INFO] [stdout]     |
[INFO] [stdout] 109 |         (0..n).map(|_| self.lexemes.pop_front().unwrap()).collect()
[INFO] [stdout]     |                                                           ^^^^^^^ value of type `std::option::Option<Vec<Lexeme<'_, '_>>>` cannot be built from `std::iter::Iterator<Item=Lexeme<'_, '_>>`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `FromIterator<Lexeme<'_, '_>>` is not implemented for `std::option::Option<Vec<Lexeme<'_, '_>>>`
[INFO] [stdout]       but trait `FromIterator<std::option::Option<Lexeme<'_, '_>>>` is implemented for it
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/option.rs:2683:0
[INFO] [stdout]     = help: for that trait implementation, expected `std::option::Option<Lexeme<'_, '_>>`, found `Lexeme<'_, '_>`
[INFO] [stdout] note: the method call chain might not have had the expected associated types
[INFO] [stdout]    --> src/cli/query/lexeme.rs:109:16
[INFO] [stdout]     |
[INFO] [stdout] 109 |         (0..n).map(|_| self.lexemes.pop_front().unwrap()).collect()
[INFO] [stdout]     |         ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Iterator::Item` is `Lexeme<'_, '_>` here
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this expression has type `Range<usize>`
[INFO] [stdout] note: required by a bound in `collect`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/traits/iterator.rs:2051:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/cli/query/parse.rs:124:34
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     let values = parse_values(lexemes)?;
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `Vec<std::string::String>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the nightly-only, unstable trait `Try` is not implemented for `Vec<std::string::String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `token` found for enum `std::option::Option<T>` in the current scope
[INFO] [stdout]    --> src/cli/query/parse.rs:150:79
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     Ok(Factor::KeyEqualsValue((tok.token().to_owned(), e, val.token().to_owned())))
[INFO] [stdout]     |                                                                               ^^^^^ method not found in `std::option::Option<Lexeme<'_, '_>>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `token` exists on the type `Lexeme<'_, '_>`
[INFO] [stdout]    --> src/cli/query/lexeme.rs:34:5
[INFO] [stdout]     |
[INFO] [stdout]  34 |     pub fn token(&self) -> &str {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Lexeme<'_, '_>` value, panicking if the value is an `Option::None`
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     Ok(Factor::KeyEqualsValue((tok.token().to_owned(), e, val.expect("REASON").token().to_owned())))
[INFO] [stdout]     |                                                                              +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add` found for struct `Vec<_>` in the current scope
[INFO] [stdout]    --> src/cli/query/parse.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         ret.add(s.token().to_owned());
[INFO] [stdout]     |             ^^^ method not found in `Vec<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/cli/query/args.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn peek(&mut self) -> Option<&(String, usize)> {
[INFO] [stdout]    |                           ------------------------ expected `std::option::Option<&(std::string::String, usize)>` because of return type
[INFO] [stdout] 22 |         self.iter.peek()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ expected `Option<&(String, usize)>`, found `Option<&&(String, usize)>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<&(std::string::String, _)>`
[INFO] [stdout]               found enum `std::option::Option<&&(std::string::String, _)>`
[INFO] [stdout] help: try using `.map(|v| &**v)` to convert `std::option::Option<&&(std::string::String, usize)>` to `std::option::Option<&(std::string::String, usize)>`
[INFO] [stdout]    |
[INFO] [stdout] 22 |         self.iter.peek().map(|v| &**v)
[INFO] [stdout]    |                         ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/cli/query/args.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |       fn next(&mut self) -> Option<Self::Item> {
[INFO] [stdout]    |                             ------------------ expected `std::option::Option<(std::string::String, usize)>` because of return type
[INFO] [stdout] 30 | /         self.iter.next().map(|x| {
[INFO] [stdout] 31 | |             self.index += 1;
[INFO] [stdout] 32 | |             x
[INFO] [stdout] 33 | |         })
[INFO] [stdout]    | |__________^ expected `Option<(String, usize)>`, found `Option<&(String, usize)>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<(std::string::String, _)>`
[INFO] [stdout]               found enum `std::option::Option<&(std::string::String, _)>`
[INFO] [stdout] help: use `std::option::Option::cloned` to clone the value inside the `std::option::Option`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         }).cloned()
[INFO] [stdout]    |           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `Vec<&str>` cannot be built from an iterator over elements of type `&&str`
[INFO] [stdout]   --> src/cli/query/args.rs:40:42
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let a: Vec<&str> = a.into_iter().collect();
[INFO] [stdout]    |                                          ^^^^^^^ value of type `Vec<&str>` cannot be built from `std::iter::Iterator<Item=&&str>`
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `FromIterator<&&_>` is not implemented for `Vec<&str>`
[INFO] [stdout]       but trait `FromIterator<&_>` is implemented for it
[INFO] [stdout]   --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/vec/mod.rs:3862:0
[INFO] [stdout]    = help: for that trait implementation, expected `str`, found `&str`
[INFO] [stdout] note: the method call chain might not have had the expected associated types
[INFO] [stdout]   --> src/cli/query/args.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let a: Vec<&str> = a.into_iter().collect();
[INFO] [stdout]    |                            - ^^^^^^^^^^^ `Iterator::Item` is `&&str` here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this expression has type `&[&str]`
[INFO] [stdout] note: required by a bound in `collect`
[INFO] [stdout]   --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/traits/iterator.rs:2051:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `long` on type `&Flag`
[INFO] [stdout]   --> src/cli/args.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |         .map(|x| (x.long.trim_start_matches('-'), x))
[INFO] [stdout]    |                     ^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `aliases`, `equals_name`, `description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `short` on type `&&Flag`
[INFO] [stdout]   --> src/cli/args.rs:69:23
[INFO] [stdout]    |
[INFO] [stdout] 69 |         .filter(|x| x.short.is_some())
[INFO] [stdout]    |                       ^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `aliases`, `equals_name`, `description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `short` on type `&Flag`
[INFO] [stdout]   --> src/cli/args.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |         .map(|x| (x.short.unwrap().trim_start_matches('-'), x))
[INFO] [stdout]    |                     ^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `aliases`, `equals_name`, `description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0631]: type mismatch in function arguments
[INFO] [stdout]    --> src/cli/args.rs:128:53
[INFO] [stdout]     |
[INFO] [stdout]  54 |     LexError(LexError),
[INFO] [stdout]     |     -------- found signature defined here
[INFO] [stdout] ...
[INFO] [stdout] 128 |             let query = parse(&mut lexemes).map_err(SubcommandParseError::LexError)?;
[INFO] [stdout]     |                                             ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected due to this
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected function signature `fn(parse::ParseError) -> _`
[INFO] [stdout]                found function signature `fn(LexError) -> _`
[INFO] [stdout] note: required by a bound in `Result::<T, E>::map_err`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:962:4
[INFO] [stdout] help: consider wrapping the function in a closure
[INFO] [stdout]     |
[INFO] [stdout] 128 |             let query = parse(&mut lexemes).map_err(|arg0: parse::ParseError| SubcommandParseError::LexError(/* LexError */))?;
[INFO] [stdout]     |                                                     +++++++++++++++++++++++++                               ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `dyn FnOnce(SubcommandParseResults): Eq` is not satisfied
[INFO] [stdout]    --> src/cli/args.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[derive(Eq, PartialEq, Clone, Debug)]
[INFO] [stdout]     |          -- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub(crate) on_parse: Box<dyn FnOnce(SubcommandParseResults)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Eq` is not implemented for `dyn FnOnce(SubcommandParseResults)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `Box<dyn FnOnce(SubcommandParseResults)>` to implement `Eq`
[INFO] [stdout] note: required by a bound in `std::cmp::AssertParamIsEq`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/cmp.rs:379:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Box<dyn FnOnce(SubcommandParseResults)>`
[INFO] [stdout]    --> src/cli/args.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[derive(Eq, PartialEq, Clone, Debug)]
[INFO] [stdout]     |              --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub(crate) on_parse: Box<dyn FnOnce(SubcommandParseResults)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `dyn FnOnce(SubcommandParseResults): Clone` is not satisfied
[INFO] [stdout]    --> src/cli/args.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[derive(Eq, PartialEq, Clone, Debug)]
[INFO] [stdout]     |                         ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub(crate) on_parse: Box<dyn FnOnce(SubcommandParseResults)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `dyn FnOnce(SubcommandParseResults)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `Box<dyn FnOnce(SubcommandParseResults)>` to implement `Clone`
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub(crate) on_parse: Box<dyn FnOnce(SubcommandParseResults)>(/* SubcommandParseResults */),
[INFO] [stdout]     |                                                                 ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnOnce(SubcommandParseResults) + 'static)` doesn't implement `Debug`
[INFO] [stdout]    --> src/cli/args.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[derive(Eq, PartialEq, Clone, Debug)]
[INFO] [stdout]     |                                ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub(crate) on_parse: Box<dyn FnOnce(SubcommandParseResults)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `(dyn FnOnce(SubcommandParseResults) + 'static)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]    --> src/cli/args.rs:185:32
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub static ASSIGN_RE: &Regex = regex_expect(r"^([a-zA-Z0-9_-]+)=(.+)$");
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]    --> src/format/re.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `regex_expect` in statics
[INFO] [stdout]    --> src/cli/args.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub static KEY_RE: &Regex = regex_expect("^([a-zA-Z0-9_-])+$");
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: function `regex_expect` is not const
[INFO] [stdout]    --> src/format/re.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub fn regex_expect(regex: &str) -> &'static Regex {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `for<'a> StrSearcher<'a, '_>: DoubleEndedSearcher<'a>` is not satisfied
[INFO] [stdout]    --> src/cli/args.rs:219:35
[INFO] [stdout]     |
[INFO] [stdout] 219 |         for a in arg.trim_matches(",").split(&split_re) {
[INFO] [stdout]     |                      ------------ ^^^ the nightly-only, unstable trait `for<'a> DoubleEndedSearcher<'a>` is not implemented for `StrSearcher<'a, '_>`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `DoubleEndedSearcher<'a>`:
[INFO] [stdout]               CharArrayRefSearcher<'a, 'b, N>
[INFO] [stdout]               CharArraySearcher<'a, N>
[INFO] [stdout]               CharPredicateSearcher<'a, F>
[INFO] [stdout]               CharSearcher<'a>
[INFO] [stdout]               CharSliceSearcher<'a, 'b>
[INFO] [stdout] note: required by a bound in `core::str::<impl str>::trim_matches`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/mod.rs:2362:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&&Regex: Pattern` is not satisfied
[INFO] [stdout]    --> src/cli/args.rs:219:46
[INFO] [stdout]     |
[INFO] [stdout] 219 |         for a in arg.trim_matches(",").split(&split_re) {
[INFO] [stdout]     |                                        ----- ^^^^^^^^^ the trait `Fn(char)` is not implemented for `Regex`
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Pattern`:
[INFO] [stdout]               &'b [char; N]
[INFO] [stdout]               &'b [char]
[INFO] [stdout]               &'b std::string::String
[INFO] [stdout]               &'b str
[INFO] [stdout]               &'c &'b str
[INFO] [stdout]               [char; N]
[INFO] [stdout]               char
[INFO] [stdout]     = note: required for `&Regex` to implement `FnOnce(char)`
[INFO] [stdout]     = note: required for `&&Regex` to implement `Pattern`
[INFO] [stdout] note: required by a bound in `core::str::<impl str>::split`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/mod.rs:1655:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: expected a `Fn(char)` closure, found `Regex`
[INFO] [stdout]    --> src/cli/args.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 |         for a in arg.trim_matches(",").split(&split_re) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(char)` closure, found `Regex`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Fn(char)` is not implemented for `Regex`
[INFO] [stdout]     = help: the following other types implement trait `Pattern`:
[INFO] [stdout]               &'b [char; N]
[INFO] [stdout]               &'b [char]
[INFO] [stdout]               &'b std::string::String
[INFO] [stdout]               &'b str
[INFO] [stdout]               &'c &'b str
[INFO] [stdout]               [char; N]
[INFO] [stdout]               char
[INFO] [stdout]     = note: required for `&Regex` to implement `FnOnce(char)`
[INFO] [stdout]     = note: required for `&&Regex` to implement `Pattern`
[INFO] [stdout] note: required by a bound in `std::str::Split`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/iter.rs:492:8
[INFO] [stdout]    ::: /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/iter.rs:802:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout]     = note: this error originates in the macro `generate_pattern_iterators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `str` with `&str`
[INFO] [stdout]    --> src/cli/args.rs:232:32
[INFO] [stdout]     |
[INFO] [stdout] 232 |     KEYWORDS.iter().any(|kw| s == kw)
[INFO] [stdout]     |                                ^^ no implementation for `str == &str`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<&str>` is not implemented for `str`
[INFO] [stdout]     = note: required for `&str` to implement `PartialEq<&&str>`
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]     |
[INFO] [stdout] 232 |     KEYWORDS.iter().any(|kw| s == *kw)
[INFO] [stdout]     |                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const associated function `Box::<[&str; 2]>::new_uninit` in statics
[INFO] [stdout]    --> src/cli/args.rs:236:14
[INFO] [stdout]     |
[INFO] [stdout] 236 |     aliases: vec!["--help", "-h"],
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `std::boxed::box_assume_init_into_vec_unsafe::<&str, 2>` in statics
[INFO] [stdout]    --> src/cli/args.rs:236:14
[INFO] [stdout]     |
[INFO] [stdout] 236 |     aliases: vec!["--help", "-h"],
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: function `box_assume_init_into_vec_unsafe` is not const
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:262:0
[INFO] [stdout]     = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const associated function `Box::<[&str; 2]>::new_uninit` in statics
[INFO] [stdout]    --> src/cli/args.rs:242:14
[INFO] [stdout]     |
[INFO] [stdout] 242 |     aliases: vec!["--quiet", "q"],
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `std::boxed::box_assume_init_into_vec_unsafe::<&str, 2>` in statics
[INFO] [stdout]    --> src/cli/args.rs:242:14
[INFO] [stdout]     |
[INFO] [stdout] 242 |     aliases: vec!["--quiet", "q"],
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: function `box_assume_init_into_vec_unsafe` is not const
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:262:0
[INFO] [stdout]     = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const associated function `Box::<[&str; 2]>::new_uninit` in statics
[INFO] [stdout]    --> src/cli/args.rs:248:14
[INFO] [stdout]     |
[INFO] [stdout] 248 |     aliases: vec!["--recursive", "-r"],
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `std::boxed::box_assume_init_into_vec_unsafe::<&str, 2>` in statics
[INFO] [stdout]    --> src/cli/args.rs:248:14
[INFO] [stdout]     |
[INFO] [stdout] 248 |     aliases: vec!["--recursive", "-r"],
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: function `box_assume_init_into_vec_unsafe` is not const
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:262:0
[INFO] [stdout]     = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of static item `HELP_FLAG`
[INFO] [stdout]    --> src/cli/args.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |     HELP_FLAG
[INFO] [stdout]     |     ^^^^^^^^^ move occurs because `HELP_FLAG` has type `Flag`, which does not implement the `Copy` trait
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]     |
[INFO] [stdout] 261 |     HELP_FLAG.clone()
[INFO] [stdout]     |              ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `&[&str]` cannot be built from an iterator over elements of type `&std::string::String`
[INFO] [stdout]    --> src/cli/args.rs:266:37
[INFO] [stdout]     |
[INFO] [stdout] 266 |     let args = Args::new(raw.iter().collect());
[INFO] [stdout]     |                                     ^^^^^^^ value of type `&[&str]` cannot be built from `std::iter::Iterator<Item=&std::string::String>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromIterator<&std::string::String>` is not implemented for `&[&str]`
[INFO] [stdout] note: required by a bound in `collect`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/traits/iterator.rs:2051:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0023]: this pattern has 2 fields, but the corresponding tuple variant has 1 field
[INFO] [stdout]    --> src/cli/args.rs:337:54
[INFO] [stdout]     |
[INFO] [stdout]  56 |     UnexpectedPositionalArgument(ArgError),
[INFO] [stdout]     |                                  -------- tuple variant has 1 field
[INFO] [stdout] ...
[INFO] [stdout] 337 |                         UnexpectedPositionalArgument(_, _) => {}
[INFO] [stdout]     |                                                      ^  ^ expected 1 field, found 2
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
[INFO] [stdout]    --> src/cli/args.rs:338:49
[INFO] [stdout]     |
[INFO] [stdout]  57 |     ExtraPositionalArgument(&'a Positional, ArgError),
[INFO] [stdout]     |                             --------------  -------- tuple variant has 2 fields
[INFO] [stdout] ...
[INFO] [stdout] 338 |                         ExtraPositionalArgument(_, _, _) => {}
[INFO] [stdout]     |                                                 ^  ^  ^ expected 2 fields, found 3
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `join` exists for struct `Vec<ColoredString>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/cli/args.rs:308:124
[INFO] [stdout]     |
[INFO] [stdout] 308 | ...                   let or = lang::or(typos.iter().map(|x| x.0)).split(", ").map(|x| x.yellow().bold()).into_vec().join(", ");
[INFO] [stdout]     |                                                                                                                      ^^^^ method cannot be called on `Vec<ColoredString>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `[ColoredString]: Join<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `arg` on type `LexError`
[INFO] [stdout]    --> src/cli/args.rs:332:87
[INFO] [stdout]     |
[INFO] [stdout] 332 | ...                   log().error(&format!("The token {0} was unrecognized.", a.arg.bold().red()));
[INFO] [stdout]     |                                                                                 ^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `match` arms have incompatible types
[INFO] [stdout]    --> src/cli/args.rs:288:31
[INFO] [stdout]     |
[INFO] [stdout] 286 |   ...   let res = match parse_subcommand(sc, a, args.cmdline()) {
[INFO] [stdout]     |                   --------------------------------------------- `match` arms have incompatible types
[INFO] [stdout] 287 |   ...       Ok(s) => s,
[INFO] [stdout]     |                      - this is found to be of type `SubcommandParseResults`
[INFO] [stdout] 288 |   ...       Err(e) => match e {
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 289 | | ...           MissingFlagValue(e, a) => {
[INFO] [stdout] 290 | | ...               log().error(&format!("The flag {0} is missing a value. Specify {0}={1} or {0} {1}", a.arg.bold().yellow(), "val...
[INFO] [stdout] 291 | | ...               log_cmdline();
[INFO] [stdout] ...   |
[INFO] [stdout] 339 | | ...           NotEnoughPositionalArguments(_) => {}
[INFO] [stdout] 340 | | ...       }
[INFO] [stdout]     | |___________^ expected `SubcommandParseResults`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `toml::from_str::<'_, CargoToml>` in statics
[INFO] [stdout]   --> src/cli/program.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 | static PARSED: CargoToml = toml::from_str(TOML)
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `from_str` is not const
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-0.5.7/src/de.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | / pub fn from_str<'de, T>(s: &'de str) -> Result<T, Error>
[INFO] [stdout] 76 | | where
[INFO] [stdout] 77 | |     T: de::Deserialize<'de>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `Result::<CargoToml, toml::de::Error>::expect` in statics
[INFO] [stdout]   --> src/cli/program.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 |     .expect("The Cargo.toml used to create the program is malformed. This is theoretically impossible as Rust should stop compilation if Cargo.toml is invalid.");
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/cli/subcommands/get.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     on_parse: |e| {},
[INFO] [stdout]    |               ^^^^^^ expected `Box<dyn FnOnce(SubcommandParseResults)>`, found closure
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Box<(dyn FnOnce(SubcommandParseResults) + 'static)>`
[INFO] [stdout]              found closure `{closure@src/cli/subcommands/get.rs:13:15: 13:18}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Subcommand` has no field named `file_entry_expr`
[INFO] [stdout]   --> src/cli/subcommands/set.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     file_entry_expr: true,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ `Subcommand` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `file_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Subcommand` has no field named `file_entry_expr`
[INFO] [stdout]   --> src/cli/subcommands/remove.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     file_entry_expr: true,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ `Subcommand` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `file_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `equals_name` in initializer of `Flag`
[INFO] [stdout]   --> src/cli/subcommands/remove.rs:13:56
[INFO] [stdout]    |
[INFO] [stdout] 13 |     flags: vec![HELP_FLAG, QUIET_FLAG, RECURSIVE_FLAG, Flag {
[INFO] [stdout]    |                                                        ^^^^ missing `equals_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Subcommand` has no field named `file_entry_expr`
[INFO] [stdout]   --> src/cli/subcommands/list.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     file_entry_expr: true,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ `Subcommand` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `file_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `dimensions_stdout` in statics
[INFO] [stdout]    --> src/cli/print.rs:13:31
[INFO] [stdout]     |
[INFO] [stdout]  13 | static WIDTH: Option<usize> = term_size::dimensions_stdout().map(|x| x.1);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: function `dimensions_stdout` is not const
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/term_size-0.3.2/src/platform/unix.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn dimensions_stdout() -> Option<(usize, usize)> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: cannot call conditionally-const method `std::option::Option::<(usize, usize)>::map::<usize, {closure@src/cli/print.rs:13:66: 13:69}>` in statics
[INFO] [stdout]   --> src/cli/print.rs:13:62
[INFO] [stdout]    |
[INFO] [stdout] 13 | static WIDTH: Option<usize> = term_size::dimensions_stdout().map(|x| x.1);
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: see issue #143874 <https://github.com/rust-lang/rust/issues/143874> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `std::option::Option::<T>::map` is not yet stable as a const fn
[INFO] [stdout]   --> src/cli/print.rs:13:31
[INFO] [stdout]    |
[INFO] [stdout] 13 | static WIDTH: Option<usize> = term_size::dimensions_stdout().map(|x| x.1);
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `short` on type `&Flag`
[INFO] [stdout]   --> src/cli/help.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     match f.short {
[INFO] [stdout]    |             ^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `aliases`, `equals_name`, `description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `long` on type `&Flag`
[INFO] [stdout]   --> src/cli/help.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |         Some(s) => f.long.to_owned() + ", " + s,
[INFO] [stdout]    |                      ^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `aliases`, `equals_name`, `description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `long` on type `&Flag`
[INFO] [stdout]   --> src/cli/help.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 |         None => f.long.to_owned()
[INFO] [stdout]    |                   ^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `aliases`, `equals_name`, `description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `long` on type `&Flag`
[INFO] [stdout]   --> src/cli/help.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     global_flags.sort_by_key(|k| k.long);
[INFO] [stdout]    |                                    ^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `aliases`, `equals_name`, `description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `long` on type `&Flag`
[INFO] [stdout]   --> src/cli/help.rs:86:36
[INFO] [stdout]    |
[INFO] [stdout] 86 |     global_flags.sort_by_key(|k| k.long);
[INFO] [stdout]    |                                    ^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `aliases`, `equals_name`, `description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0600]: cannot apply unary operator `-` to type `usize`
[INFO] [stdout]  --> src/cli/typo.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |     v.sort_by_key(|x| -x.1);
[INFO] [stdout]   |                       ^^^^ cannot apply unary operator `-`
[INFO] [stdout]   |
[INFO] [stdout]   = note: unsigned values cannot be negated
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `usize` by `f64`
[INFO] [stdout]   --> src/cli/typo.rs:11:54
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let nchars = f64::round(expected.chars().count() * threshold) as usize;
[INFO] [stdout]    |                                                      ^ no implementation for `usize * f64`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::ops::Mul<f64>` is not implemented for `usize`
[INFO] [stdout] help: the following other types implement trait `std::ops::Mul<Rhs>`
[INFO] [stdout]   --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/internal_macros.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout]    = note: `&usize` implements `std::ops::Mul<usize>`
[INFO] [stdout]   ::: /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/internal_macros.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout]    = note: `usize` implements `std::ops::Mul<&usize>`
[INFO] [stdout]   ::: /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/internal_macros.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout]    = note: `&usize` implements `std::ops::Mul`
[INFO] [stdout]   --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/arith.rs:346:8
[INFO] [stdout]    |
[INFO] [stdout]    = note: `usize` implements `std::ops::Mul`
[INFO] [stdout]   ::: /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/arith.rs:361:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: in this macro invocation
[INFO] [stdout]    = note: this error originates in the macro `forward_ref_binop` which comes from the expansion of the macro `mul_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&str` by `usize`
[INFO] [stdout]    --> src/format/str.rs:132:26
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let spacer = " " * begin;
[INFO] [stdout]     |                      --- ^ ----- usize
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      &str
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&str` by `usize`
[INFO] [stdout]    --> src/format/str.rs:176:26
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let spacer = " " * begin;
[INFO] [stdout]     |                      --- ^ ----- usize
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      &str
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const associated function `MRUCache::<std::string::String, Regex>::new` in statics
[INFO] [stdout]  --> src/format/re.rs:9:62
[INFO] [stdout]   |
[INFO] [stdout] 9 | static RE_CACHE: Mutex<MRUCache<String, Regex>> = Mutex::new(MRUCache::new(RE_CACHE_LEN));
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]   = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         Node {
[INFO] [stdout]    |         ^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                ^^^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K: std::hash::Hash, V> Node<K, V> {
[INFO] [stdout]    |       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         Node {
[INFO] [stdout]    |         ^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:23
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                       ^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K: std::cmp::Eq, V> Node<K, V> {
[INFO] [stdout]    |       ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |             next: None,
[INFO] [stdout]    |                   ^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                ^^^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K: std::hash::Hash, V> Node<K, V> {
[INFO] [stdout]    |       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |             next: None,
[INFO] [stdout]    |                   ^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:23
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                       ^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K: std::cmp::Eq, V> Node<K, V> {
[INFO] [stdout]    |       ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |             prev: None
[INFO] [stdout]    |                   ^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                ^^^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K: std::hash::Hash, V> Node<K, V> {
[INFO] [stdout]    |       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |             prev: None
[INFO] [stdout]    |                   ^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:23
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                       ^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<K: std::cmp::Eq, V> Node<K, V> {
[INFO] [stdout]    |       ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |         NodeIter { cur: head }
[INFO] [stdout]    |                         ^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `NodeIter`
[INFO] [stdout]   --> src/collections/mrucache.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                            ^^^^ required by this bound in `NodeIter`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a, K: std::hash::Hash, V> NodeIter<'a, K, V> {
[INFO] [stdout]    |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |         NodeIter { cur: head }
[INFO] [stdout]    |                         ^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `NodeIter`
[INFO] [stdout]   --> src/collections/mrucache.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct NodeIter<'a, K: Hash + Eq, V> {
[INFO] [stdout]    |                                   ^^ required by this bound in `NodeIter`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a, K: std::cmp::Eq, V> NodeIter<'a, K, V> {
[INFO] [stdout]    |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:41:31
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let (k, v) = (s.key.clone(), s.value.clone());
[INFO] [stdout]    |                               ^^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                ^^^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::hash::Hash, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:41:31
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let (k, v) = (s.key.clone(), s.value.clone());
[INFO] [stdout]    |                               ^^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:23
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                       ^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::cmp::Eq, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:41:46
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let (k, v) = (s.key.clone(), s.value.clone());
[INFO] [stdout]    |                                              ^^^^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                ^^^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::hash::Hash, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:41:46
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let (k, v) = (s.key.clone(), s.value.clone());
[INFO] [stdout]    |                                              ^^^^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:23
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                       ^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::cmp::Eq, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Hash` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 self.cur = s.next.clone();
[INFO] [stdout]    |                            ^^^^^^ the trait `Hash` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                ^^^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Hash`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::hash::Hash, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `K: Eq` is not satisfied
[INFO] [stdout]   --> src/collections/mrucache.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 self.cur = s.next.clone();
[INFO] [stdout]    |                            ^^^^^^ the trait `Eq` is not implemented for `K`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Node`
[INFO] [stdout]   --> src/collections/mrucache.rs:7:23
[INFO] [stdout]    |
[INFO] [stdout]  7 | struct Node<K: Hash + Eq, V> {
[INFO] [stdout]    |                       ^^ required by this bound in `Node`
[INFO] [stdout] help: consider restricting type parameter `K` with trait `Eq`
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a, K: std::cmp::Eq, V> Iterator for NodeIter<'a, K, V> {
[INFO] [stdout]    |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/collections/mrucache.rs:113:24
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 Some(s.borrow().value.borrow())
[INFO] [stdout]     |                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try using a fully qualified path to specify the expected types
[INFO] [stdout]     |
[INFO] [stdout] 113 -                 Some(s.borrow().value.borrow())
[INFO] [stdout] 113 +                 Some(<&mut Arc<Node<K, V>> as Borrow<Borrowed>>::borrow(s).value.borrow())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return reference to temporary value
[INFO] [stdout]   --> src/cli/query/lexeme.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         &Lexeme{token: &self.token, kind: self.kind, cmdline_ptr: &self.cmdline, cmdline_index: self.cmdline_index}
[INFO] [stdout]    |         ^----------------------------------------------------------------------------------------------------------
[INFO] [stdout]    |         ||
[INFO] [stdout]    |         |temporary value created here
[INFO] [stdout]    |         returns a reference to data owned by the current function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/cli/query/parse.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |         if let Some(s) = lexemes.pop_kind(LexemeKind::Or) {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/cli/query/parse.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |         if let Some(s) = lexemes.pop_kind(LexemeKind::And) {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `char_deque`
[INFO] [stdout]    --> src/cli/print.rs:137:28
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let mut char_deque = cmdline.chars().collect::<VecDeque<_>>();
[INFO] [stdout]     |             -------------- move occurs because `char_deque` has type `VecDeque<char>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 127 |         let print_top = || for (i, c) in char_deque.into_iter().enumerate() {
[INFO] [stdout]     |                         --               ---------- variable moved due to use in closure
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         value moved into closure here
[INFO] [stdout] ...
[INFO] [stdout] 137 |         let print_bottom = || for (i, _) in char_deque.into_iter().enumerate() {
[INFO] [stdout]     |                            ^^               ---------- use occurs due to use in closure
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            value used here after move
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let print_top = || for (i, c) in char_deque.clone().into_iter().enumerate() {
[INFO] [stdout]     |                                                    ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `char_deque`
[INFO] [stdout]    --> src/cli/print.rs:150:23
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let mut char_deque = cmdline.chars().collect::<VecDeque<_>>();
[INFO] [stdout]     |             -------------- move occurs because `char_deque` has type `VecDeque<char>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 137 |         let print_bottom = || for (i, _) in char_deque.into_iter().enumerate() {
[INFO] [stdout]     |                            --               ---------- variable moved due to use in closure
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            value moved into closure here
[INFO] [stdout] ...
[INFO] [stdout] 150 |                 while char_deque.len() > w {
[INFO] [stdout]     |                       ^^^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let print_bottom = || for (i, _) in char_deque.clone().into_iter().enumerate() {
[INFO] [stdout]     |                                                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `index` because it is borrowed
[INFO] [stdout]    --> src/cli/print.rs:153:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let end = || index + len;
[INFO] [stdout]     |                   -- ----- borrow occurs due to use in closure
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `index` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 151 |                     if end() > char_deque.len() {
[INFO] [stdout]     |                        --- borrow later used here
[INFO] [stdout] 152 |                         char_deque.pop_front();
[INFO] [stdout] 153 |                         index -= 1;
[INFO] [stdout]     |                         ^^^^^^^^^^ `index` is assigned to here but it was already borrowed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index` is never read
[INFO] [stdout]    --> src/cli/print.rs:153:25
[INFO] [stdout]     |
[INFO] [stdout] 153 |                         index -= 1;
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cli/lang.rs:30:43
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn and<'a, I: Iterator<Item=&'a str>>(mut iter: I) -> String {
[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/cli/lang.rs:34:42
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn or<'a, I: Iterator<Item=&'a str>>(mut iter: I) -> String {
[INFO] [stdout]    |                                          ----^^^^
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `until` as mutable, as it is not declared as mutable
[INFO] [stdout]   --> src/format/str.rs:75:16
[INFO] [stdout]    |
[INFO] [stdout] 75 |             if until(c) {
[INFO] [stdout]    |                ^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn slice_until<F: FnMut(char) -> bool>(&self, mut until: F) -> &str {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `iter`
[INFO] [stdout]   --> src/format/str.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let iter = self.char_iterator();
[INFO] [stdout]    |             ---- move occurs because `iter` has type `CharIterator<'_>`, which does not implement the `Copy` trait
[INFO] [stdout] 73 |
[INFO] [stdout] 74 |         for c in iter {
[INFO] [stdout]    |                  ---- `iter` moved due to this implicit call to `.into_iter()`
[INFO] [stdout] 75 |             if until(c) {
[INFO] [stdout] 76 |                 return &self[..iter.position_bytes()]
[INFO] [stdout]    |                                ^^^^ value borrowed here after move
[INFO] [stdout]    |
[INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `iter`
[INFO] [stdout]   --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/traits/collect.rs:312:17
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `until` as mutable, as it is not declared as mutable
[INFO] [stdout]   --> src/format/str.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 87 |             if until(c) {
[INFO] [stdout]    |                ^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn slice_from<F: FnMut(char) -> bool>(&self, mut until: F) -> &str {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `iter`
[INFO] [stdout]   --> src/format/str.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let iter = self.char_iterator();
[INFO] [stdout]    |             ---- move occurs because `iter` has type `CharIterator<'_>`, which does not implement the `Copy` trait
[INFO] [stdout] 85 |
[INFO] [stdout] 86 |         for c in iter {
[INFO] [stdout]    |                  ---- `iter` moved due to this implicit call to `.into_iter()`
[INFO] [stdout] 87 |             if until(c) {
[INFO] [stdout] 88 |                 return &self[iter.position_bytes()..]
[INFO] [stdout]    |                              ^^^^ value borrowed here after move
[INFO] [stdout]    |
[INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `iter`
[INFO] [stdout]   --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/traits/collect.rs:312:17
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `iter`
[INFO] [stdout]    --> src/format/str.rs:120:16
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let iter = self.char_iterator();
[INFO] [stdout]     |             ---- move occurs because `iter` has type `CharIterator<'_>`, which does not implement the `Copy` trait
[INFO] [stdout] 118 |
[INFO] [stdout] 119 |         for _ in iter {
[INFO] [stdout]     |                  ---- `iter` moved due to this implicit call to `.into_iter()`
[INFO] [stdout] 120 |             if iter.position_bytes() == ob {
[INFO] [stdout]     |                ^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `iter`
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/traits/collect.rs:312:17
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `*cache` as mutable more than once at a time
[INFO] [stdout]   --> src/format/re.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |     match cache.get(&regex.to_owned()) {
[INFO] [stdout]    |           ----- first mutable borrow occurs here
[INFO] [stdout] 16 |         Some(r) => return r,
[INFO] [stdout]    |                           - returning this value requires that `*cache` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 21 |         Ok(r) => cache.insert(regex.to_owned(), r),
[INFO] [stdout]    |                  ^^^^^ second mutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `lck`
[INFO] [stdout]   --> src/format/re.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let cache = lck.borrow_mut();
[INFO] [stdout]    |                 --- `lck` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 21 |         Ok(r) => cache.insert(regex.to_owned(), r),
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returns a value referencing data owned by the current function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/os/unix/xattr.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn get(p: &Path, key: &str) -> Result<Option<Vec<u8>>> {
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/os/unix/xattr.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn get(p: &Path, key: &str) -> Result<Option<Vec<u8>>> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/os/unix/xattr.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn set(p: &Path, key: &str, value: &[u8]) -> Result<()> {
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/os/unix/xattr.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn set(p: &Path, key: &str, value: &[u8]) -> Result<()> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/os/unix/xattr.rs:25:33
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn set(p: &Path, key: &str, value: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/os/unix/xattr.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn remove(p: &Path, key: &str) -> Result<()> {
[INFO] [stdout]    |               ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/os/unix/xattr.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn remove(p: &Path, key: &str) -> Result<()> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to data in an `Arc`
[INFO] [stdout]   --> src/collections/mrucache.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |             tail.next = Some(rc_new_node.clone());
[INFO] [stdout]    |             ^^^^^^^^^ cannot assign
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Arc<Node<K, V>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to data in an `Arc`
[INFO] [stdout]   --> src/collections/mrucache.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             rc_new_node.prev = Some(tail.clone());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Arc<Node<K, V>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to data in an `Arc`
[INFO] [stdout]   --> src/collections/mrucache.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 s.prev = None;
[INFO] [stdout]    |                 ^^^^^^ cannot assign
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Arc<Node<K, V>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `rcv`
[INFO] [stdout]   --> src/collections/mrucache.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         rcv.borrow()
[INFO] [stdout]    |         ---^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         returns a value referencing data owned by the current function
[INFO] [stdout]    |         `rcv` is borrowed here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/cli/subcommands/set.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     on_parse: |_| {}
[INFO] [stdout]    |               ^^^^^^ expected `Box<dyn FnOnce(SubcommandParseResults)>`, found closure
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Box<(dyn FnOnce(SubcommandParseResults) + 'static)>`
[INFO] [stdout]              found closure `{closure@src/cli/subcommands/set.rs:13:15: 13:18}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/cli/subcommands/remove.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     on_parse: |_| {}
[INFO] [stdout]    |               ^^^^^^ expected `Box<dyn FnOnce(SubcommandParseResults)>`, found closure
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Box<(dyn FnOnce(SubcommandParseResults) + 'static)>`
[INFO] [stdout]              found closure `{closure@src/cli/subcommands/remove.rs:18:15: 18:18}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/cli/subcommands/list.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     on_parse: |e| {},
[INFO] [stdout]    |               ^^^^^^ expected `Box<dyn FnOnce(SubcommandParseResults)>`, found closure
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Box<(dyn FnOnce(SubcommandParseResults) + 'static)>`
[INFO] [stdout]              found closure `{closure@src/cli/subcommands/list.rs:13:15: 13:18}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0015, E0023, E0053, E0063, E0271, E0277, E0282, E0283, E0308...
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0015`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `meta` (bin "meta") due to 137 previous errors; 43 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9f12203c02b88399726934ef6345f7fe0a77f2758e9ed8e9f9ce93292048f54c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f12203c02b88399726934ef6345f7fe0a77f2758e9ed8e9f9ce93292048f54c", kill_on_drop: false }`
[INFO] [stdout] 9f12203c02b88399726934ef6345f7fe0a77f2758e9ed8e9f9ce93292048f54c
