[INFO] fetching crate voidmap 1.1.5...
[INFO] testing voidmap-1.1.5 against 1.76.0 for beta-1.77-1
[INFO] extracting crate voidmap 1.1.5 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate voidmap 1.1.5 on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate voidmap 1.1.5
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate voidmap 1.1.5
[INFO] tweaked toml for crates.io crate voidmap 1.1.5 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded protobuf v1.7.5
[INFO] [stderr]   Downloaded unicode-segmentation v0.1.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a10fb9f4b3447bf575b8e600f4c6aae5bd13207fb5a0e88745edf1b204420cc1
[INFO] running `Command { std: "docker" "start" "-a" "a10fb9f4b3447bf575b8e600f4c6aae5bd13207fb5a0e88745edf1b204420cc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a10fb9f4b3447bf575b8e600f4c6aae5bd13207fb5a0e88745edf1b204420cc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a10fb9f4b3447bf575b8e600f4c6aae5bd13207fb5a0e88745edf1b204420cc1", kill_on_drop: false }`
[INFO] [stdout] a10fb9f4b3447bf575b8e600f4c6aae5bd13207fb5a0e88745edf1b204420cc1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5a848f8d73710e313b0a6944b6b0c82a3a456a46d6e730d7484cbde6844a557b
[INFO] running `Command { std: "docker" "start" "-a" "5a848f8d73710e313b0a6944b6b0c82a3a456a46d6e730d7484cbde6844a557b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling protobuf v1.7.5
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling numtoa v0.1.0
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling unicode-segmentation v0.1.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling termion v1.5.6
[INFO] [stderr]    Compiling hyper v0.10.16
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling voidmap v1.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logging.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / lazy_static! {
[INFO] [stdout] 53 | |     static ref LOGS: RwLock<Vec<String>> = RwLock::new(vec![]);
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:346:9
[INFO] [stdout]     |
[INFO] [stdout] 346 | /         lazy_static! {
[INFO] [stdout] 347 | |             static ref RE: Regex = Regex::new(r"#prio=(\d+)").unwrap();
[INFO] [stdout] 348 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:731:9
[INFO] [stdout]     |
[INFO] [stdout] 731 | /         lazy_static! {
[INFO] [stdout] 732 | |             static ref RE_DATE: Regex = Regex::new(r"\[(\S+)\]").unwrap();
[INFO] [stdout] 733 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/meta.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / lazy_static! {
[INFO] [stdout] 11 | |     static ref LOC: (f32, f32) = gps_query().unwrap_or_else(|e| {
[INFO] [stdout] 12 | |                 error!("failed to get gps: {:?}", e);
[INFO] [stdout] 13 | |                 (0.0, 0.0)
[INFO] [stdout] 14 | |             });
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/config.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | /     lazy_static! {
[INFO] [stdout] 93 | |         static ref RE: Regex = Regex::new(r"C-(.)").unwrap();
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:207:26
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:427:26
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:832:26
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1595:26
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1881:26
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2149:26
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:368:24
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/screen.rs:749:70
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_right().to_owned();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_end().to_owned();
[INFO] [stdout]     |                                                                      ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:833:18
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1596:18
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1882:18
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2150:18
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |         mut filter_map: &mut F,
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:736:70
[INFO] [stdout]     |
[INFO] [stdout] 736 |             let deletable = self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                                      ----^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:745:54
[INFO] [stdout]     |
[INFO] [stdout] 745 |             self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                      ----^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:796:61
[INFO] [stdout]     |
[INFO] [stdout] 796 |                 return self.with_node_mut_no_meta(node_id, |mut node| {
[INFO] [stdout]     |                                                             ----^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:903:43
[INFO] [stdout]     |
[INFO] [stdout] 903 |         self.with_node_mut_no_meta(root, |mut n| n.auto_arrange = !n.auto_arrange)
[INFO] [stdout]     |                                           ----^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1214:50
[INFO] [stdout]      |
[INFO] [stdout] 1214 |                 self.with_node_mut_no_meta(ptr, |mut root| {
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1342:52
[INFO] [stdout]      |
[INFO] [stdout] 1342 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1365:52
[INFO] [stdout]      |
[INFO] [stdout] 1365 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1473:50
[INFO] [stdout]      |
[INFO] [stdout] 1473 |             self.with_node_mut_no_meta(node_id, |mut node| node.selected = true)
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |             if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                             ----^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 if let Some(mut nodes) = self.tag_to_nodes.get_mut(tag) {
[INFO] [stdout]    |                             ----^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_ephemeral_node_id` is never used
[INFO] [stdout]    --> src/screen.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Screen {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn new_ephemeral_node_id(&mut self) -> NodeID {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/void.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/void.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |         .unwrap_or_else(|e| panic!("another void process is using this path already."));
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 5.85s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "5a848f8d73710e313b0a6944b6b0c82a3a456a46d6e730d7484cbde6844a557b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a848f8d73710e313b0a6944b6b0c82a3a456a46d6e730d7484cbde6844a557b", kill_on_drop: false }`
[INFO] [stdout] 5a848f8d73710e313b0a6944b6b0c82a3a456a46d6e730d7484cbde6844a557b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e4beea289ba40422e6cc621ba1ead72c28987ad384323f2ba74231ca41d79160
[INFO] running `Command { std: "docker" "start" "-a" "e4beea289ba40422e6cc621ba1ead72c28987ad384323f2ba74231ca41d79160", kill_on_drop: false }`
[INFO] [stderr]    Compiling env_logger v0.3.5
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logging.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / lazy_static! {
[INFO] [stdout] 53 | |     static ref LOGS: RwLock<Vec<String>> = RwLock::new(vec![]);
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:346:9
[INFO] [stdout]     |
[INFO] [stdout] 346 | /         lazy_static! {
[INFO] [stdout] 347 | |             static ref RE: Regex = Regex::new(r"#prio=(\d+)").unwrap();
[INFO] [stdout] 348 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:731:9
[INFO] [stdout]     |
[INFO] [stdout] 731 | /         lazy_static! {
[INFO] [stdout] 732 | |             static ref RE_DATE: Regex = Regex::new(r"\[(\S+)\]").unwrap();
[INFO] [stdout] 733 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/meta.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / lazy_static! {
[INFO] [stdout] 11 | |     static ref LOC: (f32, f32) = gps_query().unwrap_or_else(|e| {
[INFO] [stdout] 12 | |                 error!("failed to get gps: {:?}", e);
[INFO] [stdout] 13 | |                 (0.0, 0.0)
[INFO] [stdout] 14 | |             });
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/config.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | /     lazy_static! {
[INFO] [stdout] 93 | |         static ref RE: Regex = Regex::new(r"C-(.)").unwrap();
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:207:26
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:427:26
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:832:26
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1595:26
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1881:26
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2149:26
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:368:24
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/screen.rs:749:70
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_right().to_owned();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_end().to_owned();
[INFO] [stdout]     |                                                                      ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:833:18
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1596:18
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1882:18
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2150:18
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |         mut filter_map: &mut F,
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:736:70
[INFO] [stdout]     |
[INFO] [stdout] 736 |             let deletable = self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                                      ----^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:745:54
[INFO] [stdout]     |
[INFO] [stdout] 745 |             self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                      ----^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:796:61
[INFO] [stdout]     |
[INFO] [stdout] 796 |                 return self.with_node_mut_no_meta(node_id, |mut node| {
[INFO] [stdout]     |                                                             ----^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:903:43
[INFO] [stdout]     |
[INFO] [stdout] 903 |         self.with_node_mut_no_meta(root, |mut n| n.auto_arrange = !n.auto_arrange)
[INFO] [stdout]     |                                           ----^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1214:50
[INFO] [stdout]      |
[INFO] [stdout] 1214 |                 self.with_node_mut_no_meta(ptr, |mut root| {
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1342:52
[INFO] [stdout]      |
[INFO] [stdout] 1342 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1365:52
[INFO] [stdout]      |
[INFO] [stdout] 1365 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1473:50
[INFO] [stdout]      |
[INFO] [stdout] 1473 |             self.with_node_mut_no_meta(node_id, |mut node| node.selected = true)
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |             if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                             ----^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 if let Some(mut nodes) = self.tag_to_nodes.get_mut(tag) {
[INFO] [stdout]    |                             ----^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_ephemeral_node_id` is never used
[INFO] [stdout]    --> src/screen.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Screen {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn new_ephemeral_node_id(&mut self) -> NodeID {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/void.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/void.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |         .unwrap_or_else(|e| panic!("another void process is using this path already."));
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quickcheck v0.3.2
[INFO] [stderr]    Compiling voidmap v1.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/void.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> test/screen.rs:127:29
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn shrink(&self) -> Box<Iterator<Item = OpVec>> {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn shrink(&self) -> Box<dyn Iterator<Item = OpVec>> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/void.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |         .unwrap_or_else(|e| panic!("another void process is using this path already."));
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> test/screen.rs:92:56
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let command = g.choose(&*commands).unwrap().clone();
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logging.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / lazy_static! {
[INFO] [stdout] 53 | |     static ref LOGS: RwLock<Vec<String>> = RwLock::new(vec![]);
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:346:9
[INFO] [stdout]     |
[INFO] [stdout] 346 | /         lazy_static! {
[INFO] [stdout] 347 | |             static ref RE: Regex = Regex::new(r"#prio=(\d+)").unwrap();
[INFO] [stdout] 348 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:731:9
[INFO] [stdout]     |
[INFO] [stdout] 731 | /         lazy_static! {
[INFO] [stdout] 732 | |             static ref RE_DATE: Regex = Regex::new(r"\[(\S+)\]").unwrap();
[INFO] [stdout] 733 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/meta.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / lazy_static! {
[INFO] [stdout] 11 | |     static ref LOC: (f32, f32) = gps_query().unwrap_or_else(|e| {
[INFO] [stdout] 12 | |                 error!("failed to get gps: {:?}", e);
[INFO] [stdout] 13 | |                 (0.0, 0.0)
[INFO] [stdout] 14 | |             });
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/config.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | /     lazy_static! {
[INFO] [stdout] 93 | |         static ref RE: Regex = Regex::new(r"C-(.)").unwrap();
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:207:26
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:427:26
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:832:26
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1595:26
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1881:26
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2149:26
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:368:24
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/screen.rs:749:70
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_right().to_owned();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_end().to_owned();
[INFO] [stdout]     |                                                                      ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:833:18
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1596:18
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1882:18
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2150:18
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |         mut filter_map: &mut F,
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:736:70
[INFO] [stdout]     |
[INFO] [stdout] 736 |             let deletable = self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                                      ----^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:745:54
[INFO] [stdout]     |
[INFO] [stdout] 745 |             self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                      ----^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:796:61
[INFO] [stdout]     |
[INFO] [stdout] 796 |                 return self.with_node_mut_no_meta(node_id, |mut node| {
[INFO] [stdout]     |                                                             ----^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:903:43
[INFO] [stdout]     |
[INFO] [stdout] 903 |         self.with_node_mut_no_meta(root, |mut n| n.auto_arrange = !n.auto_arrange)
[INFO] [stdout]     |                                           ----^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1214:50
[INFO] [stdout]      |
[INFO] [stdout] 1214 |                 self.with_node_mut_no_meta(ptr, |mut root| {
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1342:52
[INFO] [stdout]      |
[INFO] [stdout] 1342 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1365:52
[INFO] [stdout]      |
[INFO] [stdout] 1365 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1473:50
[INFO] [stdout]      |
[INFO] [stdout] 1473 |             self.with_node_mut_no_meta(node_id, |mut node| node.selected = true)
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |             if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                             ----^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 if let Some(mut nodes) = self.tag_to_nodes.get_mut(tag) {
[INFO] [stdout]    |                             ----^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_ephemeral_node_id` is never used
[INFO] [stdout]    --> src/screen.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Screen {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn new_ephemeral_node_id(&mut self) -> NodeID {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.74s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "e4beea289ba40422e6cc621ba1ead72c28987ad384323f2ba74231ca41d79160", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4beea289ba40422e6cc621ba1ead72c28987ad384323f2ba74231ca41d79160", kill_on_drop: false }`
[INFO] [stdout] e4beea289ba40422e6cc621ba1ead72c28987ad384323f2ba74231ca41d79160
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 10490805385a3f7ade4c1105ef565c9af7777a4775e42e2c1f4e878841e45e7a
[INFO] running `Command { std: "docker" "start" "-a" "10490805385a3f7ade4c1105ef565c9af7777a4775e42e2c1f4e878841e45e7a", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/logging.rs:52:1
[INFO] [stderr]    |
[INFO] [stderr] 52 | / lazy_static! {
[INFO] [stderr] 53 | |     static ref LOGS: RwLock<Vec<String>> = RwLock::new(vec![]);
[INFO] [stderr] 54 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/screen.rs:346:9
[INFO] [stderr]     |
[INFO] [stderr] 346 | /         lazy_static! {
[INFO] [stderr] 347 | |             static ref RE: Regex = Regex::new(r"#prio=(\d+)").unwrap();
[INFO] [stderr] 348 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/screen.rs:731:9
[INFO] [stderr]     |
[INFO] [stderr] 731 | /         lazy_static! {
[INFO] [stderr] 732 | |             static ref RE_DATE: Regex = Regex::new(r"\[(\S+)\]").unwrap();
[INFO] [stderr] 733 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]     --> src/screen.rs:2126:9
[INFO] [stderr]      |
[INFO] [stderr] 2126 | /         lazy_static! {
[INFO] [stderr] 2127 | |             //// general subtree population and modification
[INFO] [stderr] 2128 | |             // limit shows the top N results.
[INFO] [stderr] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stderr] ...    |
[INFO] [stderr] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stderr] 2144 | |         }
[INFO] [stderr]      | |_________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/meta.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | / lazy_static! {
[INFO] [stderr] 11 | |     static ref LOC: (f32, f32) = gps_query().unwrap_or_else(|e| {
[INFO] [stderr] 12 | |                 error!("failed to get gps: {:?}", e);
[INFO] [stderr] 13 | |                 (0.0, 0.0)
[INFO] [stderr] 14 | |             });
[INFO] [stderr] 15 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/config.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 | /     lazy_static! {
[INFO] [stderr] 93 | |         static ref RE: Regex = Regex::new(r"C-(.)").unwrap();
[INFO] [stderr] 94 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/tagdb.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 | /         lazy_static! {
[INFO] [stderr] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stderr] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stderr] 26 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/dateparse.rs:6:5
[INFO] [stderr]    |
[INFO] [stderr] 6  | /     lazy_static! {
[INFO] [stderr] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stderr] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stderr] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stderr] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stderr] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stderr] 12 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:207:26
[INFO] [stderr]     |
[INFO] [stderr] 207 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 207 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]     |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:427:26
[INFO] [stderr]     |
[INFO] [stderr] 427 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 427 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]     |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:832:26
[INFO] [stderr]     |
[INFO] [stderr] 832 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 832 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]     |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:1595:26
[INFO] [stderr]      |
[INFO] [stderr] 1595 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]      |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1595 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]      |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:1881:26
[INFO] [stderr]      |
[INFO] [stderr] 1881 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]      |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1881 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]      |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:2149:26
[INFO] [stderr]      |
[INFO] [stderr] 2149 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]      |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 2149 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]      |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/screen.rs:368:24
[INFO] [stderr]     |
[INFO] [stderr] 368 |         let stdin: Box<Read> = Box::new(stdin());
[INFO] [stderr]     |                        ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 368 |         let stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stderr]     |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/screen.rs:389:28
[INFO] [stderr]     |
[INFO] [stderr] 389 |         let mut stdin: Box<Read> = Box::new(stdin());
[INFO] [stderr]     |                            ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 389 |         let mut stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stderr]     |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stderr]    --> src/screen.rs:749:70
[INFO] [stderr]     |
[INFO] [stderr] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_right().to_owned();
[INFO] [stderr]     |                                                                      ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]     |
[INFO] [stderr] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_end().to_owned();
[INFO] [stderr]     |                                                                      ~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:208:18
[INFO] [stderr]     |
[INFO] [stderr] 208 |         self as &::std::any::Any
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 208 |         self as &dyn (::std::any::Any)
[INFO] [stderr]     |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:428:18
[INFO] [stderr]     |
[INFO] [stderr] 428 |         self as &::std::any::Any
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 428 |         self as &dyn (::std::any::Any)
[INFO] [stderr]     |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:833:18
[INFO] [stderr]     |
[INFO] [stderr] 833 |         self as &::std::any::Any
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 833 |         self as &dyn (::std::any::Any)
[INFO] [stderr]     |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:1596:18
[INFO] [stderr]      |
[INFO] [stderr] 1596 |         self as &::std::any::Any
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1596 |         self as &dyn (::std::any::Any)
[INFO] [stderr]      |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:1882:18
[INFO] [stderr]      |
[INFO] [stderr] 1882 |         self as &::std::any::Any
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1882 |         self as &dyn (::std::any::Any)
[INFO] [stderr]      |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:2150:18
[INFO] [stderr]      |
[INFO] [stderr] 2150 |         self as &::std::any::Any
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 2150 |         self as &dyn (::std::any::Any)
[INFO] [stderr]      |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/screen.rs:666:9
[INFO] [stderr]     |
[INFO] [stderr] 666 |         mut filter_map: &mut F,
[INFO] [stderr]     |         ----^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/screen.rs:736:70
[INFO] [stderr]     |
[INFO] [stderr] 736 |             let deletable = self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stderr]     |                                                                      ----^
[INFO] [stderr]     |                                                                      |
[INFO] [stderr]     |                                                                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/screen.rs:745:54
[INFO] [stderr]     |
[INFO] [stderr] 745 |             self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stderr]     |                                                      ----^
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/screen.rs:796:61
[INFO] [stderr]     |
[INFO] [stderr] 796 |                 return self.with_node_mut_no_meta(node_id, |mut node| {
[INFO] [stderr]     |                                                             ----^^^^
[INFO] [stderr]     |                                                             |
[INFO] [stderr]     |                                                             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/screen.rs:903:43
[INFO] [stderr]     |
[INFO] [stderr] 903 |         self.with_node_mut_no_meta(root, |mut n| n.auto_arrange = !n.auto_arrange)
[INFO] [stderr]     |                                           ----^
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/screen.rs:1214:50
[INFO] [stderr]      |
[INFO] [stderr] 1214 |                 self.with_node_mut_no_meta(ptr, |mut root| {
[INFO] [stderr]      |                                                  ----^^^^
[INFO] [stderr]      |                                                  |
[INFO] [stderr]      |                                                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/screen.rs:1342:52
[INFO] [stderr]      |
[INFO] [stderr] 1342 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stderr]      |                                                    ----^^^^^^
[INFO] [stderr]      |                                                    |
[INFO] [stderr]      |                                                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/screen.rs:1365:52
[INFO] [stderr]      |
[INFO] [stderr] 1365 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stderr]      |                                                    ----^^^^^^
[INFO] [stderr]      |                                                    |
[INFO] [stderr]      |                                                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/screen.rs:1473:50
[INFO] [stderr]      |
[INFO] [stderr] 1473 |             self.with_node_mut_no_meta(node_id, |mut node| node.selected = true)
[INFO] [stderr]      |                                                  ----^^^^
[INFO] [stderr]      |                                                  |
[INFO] [stderr]      |                                                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tagdb.rs:33:25
[INFO] [stderr]    |
[INFO] [stderr] 33 |             if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stderr]    |                         ----^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tagdb.rs:50:29
[INFO] [stderr]    |
[INFO] [stderr] 50 |                 if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stderr]    |                             ----^^^^
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tagdb.rs:68:29
[INFO] [stderr]    |
[INFO] [stderr] 68 |                 if let Some(mut nodes) = self.tag_to_nodes.get_mut(tag) {
[INFO] [stderr]    |                             ----^^^^^
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `new_ephemeral_node_id` is never used
[INFO] [stderr]    --> src/screen.rs:131:8
[INFO] [stderr]     |
[INFO] [stderr] 115 | impl Screen {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 131 |     fn new_ephemeral_node_id(&mut self) -> NodeID {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `voidmap` (lib) generated 49 warnings (13 duplicates) (run `cargo fix --lib -p voidmap` to apply 27 suggestions)
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/bin/void.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/bin/void.rs:50:26
[INFO] [stderr]    |
[INFO] [stderr] 50 |         .unwrap_or_else(|e| panic!("another void process is using this path already."));
[INFO] [stderr]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> test/screen.rs:127:29
[INFO] [stderr]     |
[INFO] [stderr] 127 |     fn shrink(&self) -> Box<Iterator<Item = OpVec>> {
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 127 |     fn shrink(&self) -> Box<dyn Iterator<Item = OpVec>> {
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stderr]   --> test/screen.rs:92:56
[INFO] [stderr]    |
[INFO] [stderr] 92 |             let command = g.choose(&*commands).unwrap().clone();
[INFO] [stderr]    |                                                        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `voidmap` (bin "void" test) generated 2 warnings (run `cargo fix --bin "void" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `voidmap` (bin "void") generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: `voidmap` (test "test") generated 2 warnings (run `cargo fix --test "test"` to apply 1 suggestion)
[INFO] [stderr] warning: `voidmap` (lib test) generated 49 warnings (49 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/voidmap-41a4e6e7403fd572)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_regex_parsing ... ok
[INFO] [stdout] test tagdb::test_basic_func ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/void.rs (/opt/rustwide/target/debug/deps/void-1fd633015f62e921)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running test/test.rs (/opt/rustwide/target/debug/deps/test-52a291cbe55982b2)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test screen::qc_input_events_dont_crash_void ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- screen::qc_input_events_dont_crash_void stdout ----
[INFO] [stdout] thread 'screen::qc_input_events_dont_crash_void' panicked at test/screen.rs:172:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x557bc7ef69e6 - std::backtrace_rs::backtrace::libunwind::trace::hbee8a7973eeb6c93
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x557bc7ef69e6 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8ac75eea3aa6899
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x557bc7ef69e6 - std::sys_common::backtrace::_print_fmt::hc7f3e3b5298b1083
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x557bc7ef69e6 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbb235daedd7c6190
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x557bc7f22fe0 - core::fmt::rt::Argument::fmt::h76c38a80d925a410
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x557bc7f22fe0 - core::fmt::write::h3ed6aeaa977c8e45
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x557bc7ef3c4f - std::io::Write::write_fmt::h1299aa7741865f2b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/io/mod.rs:1810:15
[INFO] [stdout]    7:     0x557bc7ef67c4 - std::sys_common::backtrace::_print::h5d645a07e0fcfdbb
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x557bc7ef67c4 - std::sys_common::backtrace::print::h85035a511aafe7a8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x557bc7ef8537 - std::panicking::default_hook::{{closure}}::hcce8cea212785a25
[INFO] [stdout]   10:     0x557bc7ef821d - std::panicking::default_hook::hf5fcb0f213fe709a
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x557bc7af5387 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h60265c2dfa87ee34
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x557bc7af5387 - test::test_main::{{closure}}::h77865bd3127078c6
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x557bc7ef8b56 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hbc5ccf4eb663e1e5
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x557bc7ef8b56 - std::panicking::rust_panic_with_hook::h095fccf1dc9379ee
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x557bc7ef88a2 - std::panicking::begin_panic_handler::{{closure}}::h032ba12139b353db
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x557bc7ef6ee6 - std::sys_common::backtrace::__rust_end_short_backtrace::h9259bc2ff8fd0f76
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x557bc7ef8600 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x557bc7aae855 - core::panicking::panic_fmt::h784f20a50eaab275
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x557bc7aaee33 - core::result::unwrap_failed::h03d8a5018196e1cd
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
[INFO] [stdout]   20:     0x557bc7d353eb - core::result::Result<T,E>::unwrap::h476c715ae8e40b56
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1073:23
[INFO] [stdout]   21:     0x557bc7ac08b4 - test::screen::qc_input_events_dont_crash_void::h2cc3382cea1e7dba
[INFO] [stdout]                                at /opt/rustwide/workdir/test/screen.rs:168:13
[INFO] [stdout]   22:     0x557bc7ac0827 - test::screen::qc_input_events_dont_crash_void::{{closure}}::hc67a4d9fc4925651
[INFO] [stdout]                                at /opt/rustwide/workdir/test/screen.rs:166:37
[INFO] [stdout]   23:     0x557bc7ab5f56 - core::ops::function::FnOnce::call_once::hd9e1c8284d5fc0b4
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x557bc7afac5f - core::ops::function::FnOnce::call_once::h8dc6907944022cf6
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x557bc7afac5f - test::__rust_begin_short_backtrace::haae1a87433f1efb3
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:627:18
[INFO] [stdout]   26:     0x557bc7af99e1 - test::run_test_in_process::{{closure}}::h8c7decfa7c14e152
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:60
[INFO] [stdout]   27:     0x557bc7af99e1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h19e6ff056d9d21e9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x557bc7af99e1 - std::panicking::try::do_call::h89c848fcaa37c035
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stdout]   29:     0x557bc7af99e1 - std::panicking::try::h57ab3dc74e2839b8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stdout]   30:     0x557bc7af99e1 - std::panic::catch_unwind::hfb6a1b1abc120fb9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stdout]   31:     0x557bc7af99e1 - test::run_test_in_process::h5ae2f9875edd562d
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:27
[INFO] [stdout]   32:     0x557bc7af99e1 - test::run_test::{{closure}}::h35d7300d8928a067
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:573:43
[INFO] [stdout]   33:     0x557bc7ac0d16 - test::run_test::{{closure}}::h7525ced405d23d1b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:601:41
[INFO] [stdout]   34:     0x557bc7ac0d16 - std::sys_common::backtrace::__rust_begin_short_backtrace::h4e7db78ce05afad8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x557bc7ac5d77 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hcfbcb64f1a1b3482
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   36:     0x557bc7ac5d77 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9d89c5c4108bd689
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x557bc7ac5d77 - std::panicking::try::do_call::h8a4869bc94ec50c9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stdout]   38:     0x557bc7ac5d77 - std::panicking::try::h9a576f20ff81ac30
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stdout]   39:     0x557bc7ac5d77 - std::panic::catch_unwind::hbcb4e3f860ef9830
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stdout]   40:     0x557bc7ac5d77 - std::thread::Builder::spawn_unchecked_::{{closure}}::h93c79a6be1505948
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   41:     0x557bc7ac5d77 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h426d96740c81bdaf
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x557bc7efd8c5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h12de4fc57affb195
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   43:     0x557bc7efd8c5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3c619f45059d5cf1
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x557bc7efd8c5 - std::sys::unix::thread::Thread::new::thread_start::hbac657605e4b7389
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7f924c382ac3 - <unknown>
[INFO] [stdout]   46:     0x7f924c413bf4 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     screen::qc_input_events_dont_crash_void
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test test`
[INFO] running `Command { std: "docker" "inspect" "10490805385a3f7ade4c1105ef565c9af7777a4775e42e2c1f4e878841e45e7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10490805385a3f7ade4c1105ef565c9af7777a4775e42e2c1f4e878841e45e7a", kill_on_drop: false }`
[INFO] [stdout] 10490805385a3f7ade4c1105ef565c9af7777a4775e42e2c1f4e878841e45e7a
[INFO] testing voidmap-1.1.5 against beta-2024-02-10 for beta-1.77-1
[INFO] extracting crate voidmap 1.1.5 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate voidmap 1.1.5 on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate voidmap 1.1.5
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate voidmap 1.1.5
[INFO] tweaked toml for crates.io crate voidmap 1.1.5 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b6a254df3029112779dd09926a69b77d6ff2b126b2caa9f0d8d4fccfcb9c0b7a
[INFO] running `Command { std: "docker" "start" "-a" "b6a254df3029112779dd09926a69b77d6ff2b126b2caa9f0d8d4fccfcb9c0b7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b6a254df3029112779dd09926a69b77d6ff2b126b2caa9f0d8d4fccfcb9c0b7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6a254df3029112779dd09926a69b77d6ff2b126b2caa9f0d8d4fccfcb9c0b7a", kill_on_drop: false }`
[INFO] [stdout] b6a254df3029112779dd09926a69b77d6ff2b126b2caa9f0d8d4fccfcb9c0b7a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2c7bd900cc2266cc22dc738a69724e601ca121301930dc6befc9a7b046bb7b03
[INFO] running `Command { std: "docker" "start" "-a" "2c7bd900cc2266cc22dc738a69724e601ca121301930dc6befc9a7b046bb7b03", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling protobuf v1.7.5
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling numtoa v0.1.0
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling unicode-segmentation v0.1.3
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling termion v1.5.6
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling hyper v0.10.16
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling voidmap v1.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logging.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / lazy_static! {
[INFO] [stdout] 53 | |     static ref LOGS: RwLock<Vec<String>> = RwLock::new(vec![]);
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:346:9
[INFO] [stdout]     |
[INFO] [stdout] 346 | /         lazy_static! {
[INFO] [stdout] 347 | |             static ref RE: Regex = Regex::new(r"#prio=(\d+)").unwrap();
[INFO] [stdout] 348 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:731:9
[INFO] [stdout]     |
[INFO] [stdout] 731 | /         lazy_static! {
[INFO] [stdout] 732 | |             static ref RE_DATE: Regex = Regex::new(r"\[(\S+)\]").unwrap();
[INFO] [stdout] 733 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/meta.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / lazy_static! {
[INFO] [stdout] 11 | |     static ref LOC: (f32, f32) = gps_query().unwrap_or_else(|e| {
[INFO] [stdout] 12 | |                 error!("failed to get gps: {:?}", e);
[INFO] [stdout] 13 | |                 (0.0, 0.0)
[INFO] [stdout] 14 | |             });
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/config.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | /     lazy_static! {
[INFO] [stdout] 93 | |         static ref RE: Regex = Regex::new(r"C-(.)").unwrap();
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:207:26
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:427:26
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:832:26
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1595:26
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1881:26
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2149:26
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:368:24
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/screen.rs:749:70
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_right().to_owned();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_end().to_owned();
[INFO] [stdout]     |                                                                      ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:833:18
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1596:18
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1882:18
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2150:18
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |         mut filter_map: &mut F,
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:736:70
[INFO] [stdout]     |
[INFO] [stdout] 736 |             let deletable = self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                                      ----^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:745:54
[INFO] [stdout]     |
[INFO] [stdout] 745 |             self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                      ----^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:796:61
[INFO] [stdout]     |
[INFO] [stdout] 796 |                 return self.with_node_mut_no_meta(node_id, |mut node| {
[INFO] [stdout]     |                                                             ----^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:903:43
[INFO] [stdout]     |
[INFO] [stdout] 903 |         self.with_node_mut_no_meta(root, |mut n| n.auto_arrange = !n.auto_arrange)
[INFO] [stdout]     |                                           ----^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1214:50
[INFO] [stdout]      |
[INFO] [stdout] 1214 |                 self.with_node_mut_no_meta(ptr, |mut root| {
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1342:52
[INFO] [stdout]      |
[INFO] [stdout] 1342 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1365:52
[INFO] [stdout]      |
[INFO] [stdout] 1365 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1473:50
[INFO] [stdout]      |
[INFO] [stdout] 1473 |             self.with_node_mut_no_meta(node_id, |mut node| node.selected = true)
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |             if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                             ----^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 if let Some(mut nodes) = self.tag_to_nodes.get_mut(tag) {
[INFO] [stdout]    |                             ----^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_ephemeral_node_id` is never used
[INFO] [stdout]    --> src/screen.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Screen {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn new_ephemeral_node_id(&mut self) -> NodeID {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Hyper(hyper::Error),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Hyper(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 |     Io(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 84 |     Io(()),
[INFO] [stdout]    |        ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 |     Parse(num::ParseFloatError),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 85 |     Parse(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 |     Other(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 86 |     Other(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 53 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/void.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/void.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |         .unwrap_or_else(|e| panic!("another void process is using this path already."));
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 5.69s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "2c7bd900cc2266cc22dc738a69724e601ca121301930dc6befc9a7b046bb7b03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c7bd900cc2266cc22dc738a69724e601ca121301930dc6befc9a7b046bb7b03", kill_on_drop: false }`
[INFO] [stdout] 2c7bd900cc2266cc22dc738a69724e601ca121301930dc6befc9a7b046bb7b03
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b1993eb2631ad6d50039ea99cdc876a70964145f16ea12a93c1a03f251349ff1
[INFO] running `Command { std: "docker" "start" "-a" "b1993eb2631ad6d50039ea99cdc876a70964145f16ea12a93c1a03f251349ff1", kill_on_drop: false }`
[INFO] [stderr]    Compiling env_logger v0.3.5
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logging.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / lazy_static! {
[INFO] [stdout] 53 | |     static ref LOGS: RwLock<Vec<String>> = RwLock::new(vec![]);
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:346:9
[INFO] [stdout]     |
[INFO] [stdout] 346 | /         lazy_static! {
[INFO] [stdout] 347 | |             static ref RE: Regex = Regex::new(r"#prio=(\d+)").unwrap();
[INFO] [stdout] 348 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:731:9
[INFO] [stdout]     |
[INFO] [stdout] 731 | /         lazy_static! {
[INFO] [stdout] 732 | |             static ref RE_DATE: Regex = Regex::new(r"\[(\S+)\]").unwrap();
[INFO] [stdout] 733 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/meta.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / lazy_static! {
[INFO] [stdout] 11 | |     static ref LOC: (f32, f32) = gps_query().unwrap_or_else(|e| {
[INFO] [stdout] 12 | |                 error!("failed to get gps: {:?}", e);
[INFO] [stdout] 13 | |                 (0.0, 0.0)
[INFO] [stdout] 14 | |             });
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/config.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | /     lazy_static! {
[INFO] [stdout] 93 | |         static ref RE: Regex = Regex::new(r"C-(.)").unwrap();
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:207:26
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:427:26
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:832:26
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1595:26
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1881:26
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2149:26
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:368:24
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/screen.rs:749:70
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_right().to_owned();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_end().to_owned();
[INFO] [stdout]     |                                                                      ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:833:18
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1596:18
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1882:18
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2150:18
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |         mut filter_map: &mut F,
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:736:70
[INFO] [stdout]     |
[INFO] [stdout] 736 |             let deletable = self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                                      ----^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:745:54
[INFO] [stdout]     |
[INFO] [stdout] 745 |             self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                      ----^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:796:61
[INFO] [stdout]     |
[INFO] [stdout] 796 |                 return self.with_node_mut_no_meta(node_id, |mut node| {
[INFO] [stdout]     |                                                             ----^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:903:43
[INFO] [stdout]     |
[INFO] [stdout] 903 |         self.with_node_mut_no_meta(root, |mut n| n.auto_arrange = !n.auto_arrange)
[INFO] [stdout]     |                                           ----^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1214:50
[INFO] [stdout]      |
[INFO] [stdout] 1214 |                 self.with_node_mut_no_meta(ptr, |mut root| {
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1342:52
[INFO] [stdout]      |
[INFO] [stdout] 1342 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1365:52
[INFO] [stdout]      |
[INFO] [stdout] 1365 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1473:50
[INFO] [stdout]      |
[INFO] [stdout] 1473 |             self.with_node_mut_no_meta(node_id, |mut node| node.selected = true)
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |             if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                             ----^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 if let Some(mut nodes) = self.tag_to_nodes.get_mut(tag) {
[INFO] [stdout]    |                             ----^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_ephemeral_node_id` is never used
[INFO] [stdout]    --> src/screen.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Screen {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn new_ephemeral_node_id(&mut self) -> NodeID {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Hyper(hyper::Error),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Hyper(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 |     Io(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 84 |     Io(()),
[INFO] [stdout]    |        ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 |     Parse(num::ParseFloatError),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 85 |     Parse(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 |     Other(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 86 |     Other(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 53 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/void.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/void.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |         .unwrap_or_else(|e| panic!("another void process is using this path already."));
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quickcheck v0.3.2
[INFO] [stderr]    Compiling voidmap v1.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/bin/void.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> test/screen.rs:127:29
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn shrink(&self) -> Box<Iterator<Item = OpVec>> {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn shrink(&self) -> Box<dyn Iterator<Item = OpVec>> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/void.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |         .unwrap_or_else(|e| panic!("another void process is using this path already."));
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> test/screen.rs:92:56
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let command = g.choose(&*commands).unwrap().clone();
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logging.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / lazy_static! {
[INFO] [stdout] 53 | |     static ref LOGS: RwLock<Vec<String>> = RwLock::new(vec![]);
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:346:9
[INFO] [stdout]     |
[INFO] [stdout] 346 | /         lazy_static! {
[INFO] [stdout] 347 | |             static ref RE: Regex = Regex::new(r"#prio=(\d+)").unwrap();
[INFO] [stdout] 348 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/screen.rs:731:9
[INFO] [stdout]     |
[INFO] [stdout] 731 | /         lazy_static! {
[INFO] [stdout] 732 | |             static ref RE_DATE: Regex = Regex::new(r"\[(\S+)\]").unwrap();
[INFO] [stdout] 733 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]     --> src/screen.rs:2126:9
[INFO] [stdout]      |
[INFO] [stdout] 2126 | /         lazy_static! {
[INFO] [stdout] 2127 | |             //// general subtree population and modification
[INFO] [stdout] 2128 | |             // limit shows the top N results.
[INFO] [stdout] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stdout] 2144 | |         }
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/meta.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / lazy_static! {
[INFO] [stdout] 11 | |     static ref LOC: (f32, f32) = gps_query().unwrap_or_else(|e| {
[INFO] [stdout] 12 | |                 error!("failed to get gps: {:?}", e);
[INFO] [stdout] 13 | |                 (0.0, 0.0)
[INFO] [stdout] 14 | |             });
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/config.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | /     lazy_static! {
[INFO] [stdout] 93 | |         static ref RE: Regex = Regex::new(r"C-(.)").unwrap();
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/tagdb.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | /         lazy_static! {
[INFO] [stdout] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stdout] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stdout] 26 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/dateparse.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | /     lazy_static! {
[INFO] [stdout] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stdout] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stdout] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stdout] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stdout] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stdout] 12 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:207:26
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:427:26
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:832:26
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1595:26
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1881:26
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1881 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2149:26
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2149 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:368:24
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/screen.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<Read> = Box::new(stdin());
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let mut stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/screen.rs:749:70
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_right().to_owned();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_end().to_owned();
[INFO] [stdout]     |                                                                      ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 428 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pb/data_model.rs:833:18
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 833 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1596:18
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:1882:18
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/pb/data_model.rs:2150:18
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2150 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |         mut filter_map: &mut F,
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:736:70
[INFO] [stdout]     |
[INFO] [stdout] 736 |             let deletable = self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                                      ----^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:745:54
[INFO] [stdout]     |
[INFO] [stdout] 745 |             self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stdout]     |                                                      ----^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:796:61
[INFO] [stdout]     |
[INFO] [stdout] 796 |                 return self.with_node_mut_no_meta(node_id, |mut node| {
[INFO] [stdout]     |                                                             ----^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screen.rs:903:43
[INFO] [stdout]     |
[INFO] [stdout] 903 |         self.with_node_mut_no_meta(root, |mut n| n.auto_arrange = !n.auto_arrange)
[INFO] [stdout]     |                                           ----^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1214:50
[INFO] [stdout]      |
[INFO] [stdout] 1214 |                 self.with_node_mut_no_meta(ptr, |mut root| {
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1342:52
[INFO] [stdout]      |
[INFO] [stdout] 1342 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1365:52
[INFO] [stdout]      |
[INFO] [stdout] 1365 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stdout]      |                                                    ----^^^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/screen.rs:1473:50
[INFO] [stdout]      |
[INFO] [stdout] 1473 |             self.with_node_mut_no_meta(node_id, |mut node| node.selected = true)
[INFO] [stdout]      |                                                  ----^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |             if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stdout]    |                             ----^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tagdb.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 if let Some(mut nodes) = self.tag_to_nodes.get_mut(tag) {
[INFO] [stdout]    |                             ----^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_ephemeral_node_id` is never used
[INFO] [stdout]    --> src/screen.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Screen {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn new_ephemeral_node_id(&mut self) -> NodeID {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Hyper(hyper::Error),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Hyper(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 |     Io(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 84 |     Io(()),
[INFO] [stdout]    |        ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 |     Parse(num::ParseFloatError),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 85 |     Parse(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/meta.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 |     Other(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 86 |     Other(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 53 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.71s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "b1993eb2631ad6d50039ea99cdc876a70964145f16ea12a93c1a03f251349ff1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1993eb2631ad6d50039ea99cdc876a70964145f16ea12a93c1a03f251349ff1", kill_on_drop: false }`
[INFO] [stdout] b1993eb2631ad6d50039ea99cdc876a70964145f16ea12a93c1a03f251349ff1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] fc74495126386fedd6581332cea023ae89ee5fac5fdc1c8c1f66ebb9d6d9473c
[INFO] running `Command { std: "docker" "start" "-a" "fc74495126386fedd6581332cea023ae89ee5fac5fdc1c8c1f66ebb9d6d9473c", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/logging.rs:52:1
[INFO] [stderr]    |
[INFO] [stderr] 52 | / lazy_static! {
[INFO] [stderr] 53 | |     static ref LOGS: RwLock<Vec<String>> = RwLock::new(vec![]);
[INFO] [stderr] 54 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/screen.rs:346:9
[INFO] [stderr]     |
[INFO] [stderr] 346 | /         lazy_static! {
[INFO] [stderr] 347 | |             static ref RE: Regex = Regex::new(r"#prio=(\d+)").unwrap();
[INFO] [stderr] 348 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/screen.rs:731:9
[INFO] [stderr]     |
[INFO] [stderr] 731 | /         lazy_static! {
[INFO] [stderr] 732 | |             static ref RE_DATE: Regex = Regex::new(r"\[(\S+)\]").unwrap();
[INFO] [stderr] 733 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]     --> src/screen.rs:2126:9
[INFO] [stderr]      |
[INFO] [stderr] 2126 | /         lazy_static! {
[INFO] [stderr] 2127 | |             //// general subtree population and modification
[INFO] [stderr] 2128 | |             // limit shows the top N results.
[INFO] [stderr] 2129 | |             static ref RE_LIMIT: Regex = Regex::new(r"#limit=(\d+)").unwrap();
[INFO] [stderr] ...    |
[INFO] [stderr] 2143 | |             static ref RE_N: Regex = Regex::new(r"#n=(\d+)").unwrap();
[INFO] [stderr] 2144 | |         }
[INFO] [stderr]      | |_________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/meta.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | / lazy_static! {
[INFO] [stderr] 11 | |     static ref LOC: (f32, f32) = gps_query().unwrap_or_else(|e| {
[INFO] [stderr] 12 | |                 error!("failed to get gps: {:?}", e);
[INFO] [stderr] 13 | |                 (0.0, 0.0)
[INFO] [stderr] 14 | |             });
[INFO] [stderr] 15 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/config.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 | /     lazy_static! {
[INFO] [stderr] 93 | |         static ref RE: Regex = Regex::new(r"C-(.)").unwrap();
[INFO] [stderr] 94 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/tagdb.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 | /         lazy_static! {
[INFO] [stderr] 24 | |             static ref RE_TAG_KEY: Regex = Regex::new(r"#([^\s=]+)*").unwrap();
[INFO] [stderr] 25 | |             static ref RE_TAG_KEY_VALUE: Regex = Regex::new(r"#(\S+)*").unwrap();
[INFO] [stderr] 26 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/dateparse.rs:6:5
[INFO] [stderr]    |
[INFO] [stderr] 6  | /     lazy_static! {
[INFO] [stderr] 7  | |         static ref YEARS: Regex = Regex::new(r"(?P<y>\d+)y").unwrap();
[INFO] [stderr] 8  | |         static ref MONTHS: Regex = Regex::new(r"(?P<m>\d+)m").unwrap();
[INFO] [stderr] 9  | |         static ref WEEKS: Regex = Regex::new(r"(?P<w>\d+)w").unwrap();
[INFO] [stderr] 10 | |         static ref DAYS: Regex = Regex::new(r"(?P<d>\d+)d").unwrap();
[INFO] [stderr] 11 | |         static ref HOURS: Regex = Regex::new(r"(?P<h>\d+)h").unwrap();
[INFO] [stderr] 12 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:207:26
[INFO] [stderr]     |
[INFO] [stderr] 207 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 207 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]     |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:427:26
[INFO] [stderr]     |
[INFO] [stderr] 427 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 427 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]     |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:832:26
[INFO] [stderr]     |
[INFO] [stderr] 832 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 832 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]     |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:1595:26
[INFO] [stderr]      |
[INFO] [stderr] 1595 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]      |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1595 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]      |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:1881:26
[INFO] [stderr]      |
[INFO] [stderr] 1881 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]      |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1881 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]      |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:2149:26
[INFO] [stderr]      |
[INFO] [stderr] 2149 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stderr]      |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 2149 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stderr]      |                          +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/screen.rs:368:24
[INFO] [stderr]     |
[INFO] [stderr] 368 |         let stdin: Box<Read> = Box::new(stdin());
[INFO] [stderr]     |                        ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 368 |         let stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stderr]     |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/screen.rs:389:28
[INFO] [stderr]     |
[INFO] [stderr] 389 |         let mut stdin: Box<Read> = Box::new(stdin());
[INFO] [stderr]     |                            ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 389 |         let mut stdin: Box<dyn Read> = Box::new(stdin());
[INFO] [stderr]     |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stderr]    --> src/screen.rs:749:70
[INFO] [stderr]     |
[INFO] [stderr] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_right().to_owned();
[INFO] [stderr]     |                                                                      ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]     |
[INFO] [stderr] 749 |                         n.content = RE_DATE.replace(&*n.content, "").trim_end().to_owned();
[INFO] [stderr]     |                                                                      ~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:208:18
[INFO] [stderr]     |
[INFO] [stderr] 208 |         self as &::std::any::Any
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 208 |         self as &dyn (::std::any::Any)
[INFO] [stderr]     |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:428:18
[INFO] [stderr]     |
[INFO] [stderr] 428 |         self as &::std::any::Any
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 428 |         self as &dyn (::std::any::Any)
[INFO] [stderr]     |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pb/data_model.rs:833:18
[INFO] [stderr]     |
[INFO] [stderr] 833 |         self as &::std::any::Any
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 833 |         self as &dyn (::std::any::Any)
[INFO] [stderr]     |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:1596:18
[INFO] [stderr]      |
[INFO] [stderr] 1596 |         self as &::std::any::Any
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1596 |         self as &dyn (::std::any::Any)
[INFO] [stderr]      |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:1882:18
[INFO] [stderr]      |
[INFO] [stderr] 1882 |         self as &::std::any::Any
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1882 |         self as &dyn (::std::any::Any)
[INFO] [stderr]      |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/pb/data_model.rs:2150:18
[INFO] [stderr]      |
[INFO] [stderr] 2150 |         self as &::std::any::Any
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 2150 |         self as &dyn (::std::any::Any)
[INFO] [stderr]      |                  +++++               +
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/screen.rs:666:9
[INFO] [stderr]     |
[INFO] [stderr] 666 |         mut filter_map: &mut F,
[INFO] [stderr]     |         ----^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/screen.rs:736:70
[INFO] [stderr]     |
[INFO] [stderr] 736 |             let deletable = self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stderr]     |                                                                      ----^
[INFO] [stderr]     |                                                                      |
[INFO] [stderr]     |                                                                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/screen.rs:745:54
[INFO] [stderr]     |
[INFO] [stderr] 745 |             self.with_node_mut_no_meta(selected_id, |mut n| {
[INFO] [stderr]     |                                                      ----^
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/screen.rs:796:61
[INFO] [stderr]     |
[INFO] [stderr] 796 |                 return self.with_node_mut_no_meta(node_id, |mut node| {
[INFO] [stderr]     |                                                             ----^^^^
[INFO] [stderr]     |                                                             |
[INFO] [stderr]     |                                                             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/screen.rs:903:43
[INFO] [stderr]     |
[INFO] [stderr] 903 |         self.with_node_mut_no_meta(root, |mut n| n.auto_arrange = !n.auto_arrange)
[INFO] [stderr]     |                                           ----^
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/screen.rs:1214:50
[INFO] [stderr]      |
[INFO] [stderr] 1214 |                 self.with_node_mut_no_meta(ptr, |mut root| {
[INFO] [stderr]      |                                                  ----^^^^
[INFO] [stderr]      |                                                  |
[INFO] [stderr]      |                                                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/screen.rs:1342:52
[INFO] [stderr]      |
[INFO] [stderr] 1342 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stderr]      |                                                    ----^^^^^^
[INFO] [stderr]      |                                                    |
[INFO] [stderr]      |                                                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/screen.rs:1365:52
[INFO] [stderr]      |
[INFO] [stderr] 1365 |             self.with_node_mut_no_meta(parent_id, |mut parent| {
[INFO] [stderr]      |                                                    ----^^^^^^
[INFO] [stderr]      |                                                    |
[INFO] [stderr]      |                                                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/screen.rs:1473:50
[INFO] [stderr]      |
[INFO] [stderr] 1473 |             self.with_node_mut_no_meta(node_id, |mut node| node.selected = true)
[INFO] [stderr]      |                                                  ----^^^^
[INFO] [stderr]      |                                                  |
[INFO] [stderr]      |                                                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tagdb.rs:33:25
[INFO] [stderr]    |
[INFO] [stderr] 33 |             if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stderr]    |                         ----^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tagdb.rs:50:29
[INFO] [stderr]    |
[INFO] [stderr] 50 |                 if let Some(mut tags) = self.node_to_tags.get_mut(&node) {
[INFO] [stderr]    |                             ----^^^^
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tagdb.rs:68:29
[INFO] [stderr]    |
[INFO] [stderr] 68 |                 if let Some(mut nodes) = self.tag_to_nodes.get_mut(tag) {
[INFO] [stderr]    |                             ----^^^^^
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `new_ephemeral_node_id` is never used
[INFO] [stderr]    --> src/screen.rs:131:8
[INFO] [stderr]     |
[INFO] [stderr] 115 | impl Screen {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 131 |     fn new_ephemeral_node_id(&mut self) -> NodeID {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/meta.rs:83:11
[INFO] [stderr]    |
[INFO] [stderr] 83 |     Hyper(hyper::Error),
[INFO] [stderr]    |     ----- ^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 83 |     Hyper(()),
[INFO] [stderr]    |           ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/meta.rs:84:8
[INFO] [stderr]    |
[INFO] [stderr] 84 |     Io(io::Error),
[INFO] [stderr]    |     -- ^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 84 |     Io(()),
[INFO] [stderr]    |        ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/meta.rs:85:11
[INFO] [stderr]    |
[INFO] [stderr] 85 |     Parse(num::ParseFloatError),
[INFO] [stderr]    |     ----- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 85 |     Parse(()),
[INFO] [stderr]    |           ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/meta.rs:86:11
[INFO] [stderr]    |
[INFO] [stderr] 86 |     Other(String),
[INFO] [stderr]    |     ----- ^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 86 |     Other(()),
[INFO] [stderr]    |           ~~
[INFO] [stderr] 
[INFO] [stderr] warning: `voidmap` (lib) generated 53 warnings (13 duplicates) (run `cargo fix --lib -p voidmap` to apply 27 suggestions)
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/bin/void.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/bin/void.rs:50:26
[INFO] [stderr]    |
[INFO] [stderr] 50 |         .unwrap_or_else(|e| panic!("another void process is using this path already."));
[INFO] [stderr]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> test/screen.rs:127:29
[INFO] [stderr]     |
[INFO] [stderr] 127 |     fn shrink(&self) -> Box<Iterator<Item = OpVec>> {
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 127 |     fn shrink(&self) -> Box<dyn Iterator<Item = OpVec>> {
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stderr]   --> test/screen.rs:92:56
[INFO] [stderr]    |
[INFO] [stderr] 92 |             let command = g.choose(&*commands).unwrap().clone();
[INFO] [stderr]    |                                                        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `voidmap` (bin "void" test) generated 2 warnings (run `cargo fix --bin "void" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `voidmap` (bin "void") generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: `voidmap` (test "test") generated 2 warnings (run `cargo fix --test "test"` to apply 1 suggestion)
[INFO] [stderr] warning: `voidmap` (lib test) generated 53 warnings (53 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/voidmap-673e66e02869911f)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_regex_parsing ... ok
[INFO] [stdout] test tagdb::test_basic_func ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/void.rs (/opt/rustwide/target/debug/deps/void-35fc95ac1959f67d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running test/test.rs (/opt/rustwide/target/debug/deps/test-f39f148b93770ff5)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test screen::qc_input_events_dont_crash_void ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- screen::qc_input_events_dont_crash_void stdout ----
[INFO] [stdout] thread 'screen::qc_input_events_dont_crash_void' panicked at test/screen.rs:172:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x563eeb2a0d46 - std::backtrace_rs::backtrace::libunwind::trace::h140b6deb6a45c671
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x563eeb2a0d46 - std::backtrace_rs::backtrace::trace_unsynchronized::h8450d7e4e9219aed
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x563eeb2a0d46 - std::sys_common::backtrace::_print_fmt::hbd28e5e6c6fc3a3f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x563eeb2a0d46 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hb058f285768cf98e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x563eeb2cd390 - core::fmt::rt::Argument::fmt::h87dec7a95127da24
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x563eeb2cd390 - core::fmt::write::h873f89a91a4832db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x563eeb29dd9f - std::io::Write::write_fmt::h90f651e9e694a4bb
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/io/mod.rs:1846:15
[INFO] [stdout]    7:     0x563eeb2a0b24 - std::sys_common::backtrace::_print::h7719d1529d9a9e13
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x563eeb2a0b24 - std::sys_common::backtrace::print::haa3afbd0e7947108
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x563eeb2a2897 - std::panicking::default_hook::{{closure}}::h10e3de2ec0eaff22
[INFO] [stdout]   10:     0x563eeb2a257d - std::panicking::default_hook::hbdc1b1b7fe073dab
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x563eeaea5957 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h20f7887d7cd0a330
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x563eeaea5957 - test::test_main::{{closure}}::hc125a615957b5cb1
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x563eeb2a2eb6 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c19e0590f8443c4
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x563eeb2a2eb6 - std::panicking::rust_panic_with_hook::hb81692602460473d
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:785:13
[INFO] [stdout]   15:     0x563eeb2a2c02 - std::panicking::begin_panic_handler::{{closure}}::h2470593aa2678e9c
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:659:13
[INFO] [stdout]   16:     0x563eeb2a1246 - std::sys_common::backtrace::__rust_end_short_backtrace::h560bb50225b0562b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x563eeb2a2954 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:647:5
[INFO] [stdout]   18:     0x563eeae5f2d5 - core::panicking::panic_fmt::h29b6f262f6458dc3
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x563eeae5f8b3 - core::result::unwrap_failed::h12bc80647957bcdb
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/result.rs:1649:5
[INFO] [stdout]   20:     0x563eeae6ea51 - core::result::Result<T,E>::unwrap::heb16e9493dfd73c9
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/result.rs:1073:23
[INFO] [stdout]   21:     0x563eeae6ea51 - test::screen::qc_input_events_dont_crash_void::hc2b5b52c93313f22
[INFO] [stdout]                                at /opt/rustwide/workdir/test/screen.rs:168:13
[INFO] [stdout]   22:     0x563eeae6e9a7 - test::screen::qc_input_events_dont_crash_void::{{closure}}::h58580ce4e94c49c5
[INFO] [stdout]                                at /opt/rustwide/workdir/test/screen.rs:166:37
[INFO] [stdout]   23:     0x563eeae66c26 - core::ops::function::FnOnce::call_once::h5fcc38560953d40d
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x563eeaeab54f - core::ops::function::FnOnce::call_once::h692fe6f34484199f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x563eeaeab54f - test::__rust_begin_short_backtrace::h48b62e76bd60e2de
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:621:18
[INFO] [stdout]   26:     0x563eeaeaa371 - test::run_test_in_process::{{closure}}::h1c68597526ef43db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:60
[INFO] [stdout]   27:     0x563eeaeaa371 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hcae98092997f976b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x563eeaeaa371 - std::panicking::try::do_call::h8d1548c2f5bb535a
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stdout]   29:     0x563eeaeaa371 - std::panicking::try::hbb7a2054f484688e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stdout]   30:     0x563eeaeaa371 - std::panic::catch_unwind::h696d12d9d80497c2
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stdout]   31:     0x563eeaeaa371 - test::run_test_in_process::h053367a7217c825b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:27
[INFO] [stdout]   32:     0x563eeaeaa371 - test::run_test::{{closure}}::hfa524e9fabcba78e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:567:43
[INFO] [stdout]   33:     0x563eeae717d6 - test::run_test::{{closure}}::h2c4d0bb741ef7f9f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:595:41
[INFO] [stdout]   34:     0x563eeae717d6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0d2c708415550075
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x563eeae76797 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h76e2635840d7293f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   36:     0x563eeae76797 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::haa640b67a810a214
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x563eeae76797 - std::panicking::try::do_call::h41892e3bc2807ab5
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stdout]   38:     0x563eeae76797 - std::panicking::try::h861a16d180681c80
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stdout]   39:     0x563eeae76797 - std::panic::catch_unwind::h8195f9064b1509fa
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stdout]   40:     0x563eeae76797 - std::thread::Builder::spawn_unchecked_::{{closure}}::h73cc419da1217371
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   41:     0x563eeae76797 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h79dc6499ff073b09
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x563eeb2a7515 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha718e8cdc51a5182
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   43:     0x563eeb2a7515 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h86072abc877c5474
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x563eeb2a7515 - std::sys::pal::unix::thread::Thread::new::thread_start::hac4056197c365894
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7f3402cf0ac3 - <unknown>
[INFO] [stdout]   46:     0x7f3402d81bf4 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     screen::qc_input_events_dont_crash_void
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test test`
[INFO] running `Command { std: "docker" "inspect" "fc74495126386fedd6581332cea023ae89ee5fac5fdc1c8c1f66ebb9d6d9473c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc74495126386fedd6581332cea023ae89ee5fac5fdc1c8c1f66ebb9d6d9473c", kill_on_drop: false }`
[INFO] [stdout] fc74495126386fedd6581332cea023ae89ee5fac5fdc1c8c1f66ebb9d6d9473c
