[INFO] fetching crate voidmap 1.1.5...
[INFO] testing voidmap-1.1.5 against 1.75.0 for beta-1.76-1
[INFO] extracting crate voidmap 1.1.5 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate voidmap 1.1.5 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.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-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.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.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-segmentation v0.1.3
[INFO] [stderr]   Downloaded clippy v0.0.302
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ba99b206045aa06fccea78fea071a70fe849f336df70f9bf1ec26fce06e1a72a
[INFO] running `Command { std: "docker" "start" "-a" "ba99b206045aa06fccea78fea071a70fe849f336df70f9bf1ec26fce06e1a72a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ba99b206045aa06fccea78fea071a70fe849f336df70f9bf1ec26fce06e1a72a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba99b206045aa06fccea78fea071a70fe849f336df70f9bf1ec26fce06e1a72a", kill_on_drop: false }`
[INFO] [stdout] ba99b206045aa06fccea78fea071a70fe849f336df70f9bf1ec26fce06e1a72a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5b1d16ea88f0caf8cbc513f69d13b83b8277601513594f9d8a00dc96a9be068e
[INFO] running `Command { std: "docker" "start" "-a" "5b1d16ea88f0caf8cbc513f69d13b83b8277601513594f9d8a00dc96a9be068e", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling unicode-bidi v0.3.14
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling protobuf v1.7.5
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling percent-encoding v1.0.1
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]    Compiling mime v0.2.6
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling idna v0.1.5
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling typeable v0.1.2
[INFO] [stderr]    Compiling language-tags v0.2.2
[INFO] [stderr]    Compiling numtoa v0.1.0
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling termion v1.5.6
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling url v1.7.2
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling unicode-segmentation v0.1.3
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling hyper v0.10.16
[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 22.26s
[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" "5b1d16ea88f0caf8cbc513f69d13b83b8277601513594f9d8a00dc96a9be068e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b1d16ea88f0caf8cbc513f69d13b83b8277601513594f9d8a00dc96a9be068e", kill_on_drop: false }`
[INFO] [stdout] 5b1d16ea88f0caf8cbc513f69d13b83b8277601513594f9d8a00dc96a9be068e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 887ad7d0f010c9723c93d995bd696197439e55a14e8ae53b4c325c2c0b76542d
[INFO] running `Command { std: "docker" "start" "-a" "887ad7d0f010c9723c93d995bd696197439e55a14e8ae53b4c325c2c0b76542d", 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: 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: 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: 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: 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: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: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 4.57s
[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" "887ad7d0f010c9723c93d995bd696197439e55a14e8ae53b4c325c2c0b76542d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "887ad7d0f010c9723c93d995bd696197439e55a14e8ae53b4c325c2c0b76542d", kill_on_drop: false }`
[INFO] [stdout] 887ad7d0f010c9723c93d995bd696197439e55a14e8ae53b4c325c2c0b76542d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d819f981aec1d4a78933e159cfeab2535ca95a60a97b1a2772fbcf418a860df3
[INFO] running `Command { std: "docker" "start" "-a" "d819f981aec1d4a78933e159cfeab2535ca95a60a97b1a2772fbcf418a860df3", 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: `voidmap` (bin "void") generated 2 warnings (run `cargo fix --bin "void"` to apply 1 suggestion)
[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 (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.10s
[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-ed29587a0cf36355)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tagdb::test_basic_func ... ok
[INFO] [stdout] test test_regex_parsing ... 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-0426d692d68b1d36)
[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-c84dd66ef6c865c2)
[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:     0x55ceecab076c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55ceecab076c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55ceecab076c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55ceecab076c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55ceecaddab0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55ceecaddab0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55ceecaad88f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55ceecab0554 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55ceecab0554 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55ceecab2217 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55ceecab1f03 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55ceec6b68b7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55ceec6b68b7 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55ceecab2828 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55ceecab2828 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55ceecab257e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55ceecab0c36 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55ceecab22e2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55ceec671855 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55ceec671e23 - core::result::unwrap_failed::hddb4fea594200c52
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1653:5
[INFO] [stdout]   20:     0x55ceec8f27eb - core::result::Result<T,E>::unwrap::ha120eb9cba9560ef
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x55ceec679404 - test::screen::qc_input_events_dont_crash_void::h538b4fb0dc1d6dbf
[INFO] [stdout]                                at /opt/rustwide/workdir/test/screen.rs:168:13
[INFO] [stdout]   22:     0x55ceec679377 - test::screen::qc_input_events_dont_crash_void::{{closure}}::h76c5791f9ea4a2af
[INFO] [stdout]                                at /opt/rustwide/workdir/test/screen.rs:166:37
[INFO] [stdout]   23:     0x55ceec67b976 - core::ops::function::FnOnce::call_once::h1716a56c24712b6a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55ceec6bbf0f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55ceec6bbf0f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   26:     0x55ceec6baf25 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   27:     0x55ceec6baf25 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x55ceec6baf25 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   29:     0x55ceec6baf25 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   30:     0x55ceec6baf25 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   31:     0x55ceec6baf25 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   32:     0x55ceec6baf25 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   33:     0x55ceec6831e6 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   34:     0x55ceec6831e6 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   35:     0x55ceec688297 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   36:     0x55ceec688297 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x55ceec688297 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   38:     0x55ceec688297 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   39:     0x55ceec688297 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   40:     0x55ceec688297 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   41:     0x55ceec688297 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55ceecab7585 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   43:     0x55ceecab7585 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   44:     0x55ceecab7585 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7ff45371fac3 - <unknown>
[INFO] [stdout]   46:     0x7ff4537b0bf4 - __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.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test test`
[INFO] running `Command { std: "docker" "inspect" "d819f981aec1d4a78933e159cfeab2535ca95a60a97b1a2772fbcf418a860df3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d819f981aec1d4a78933e159cfeab2535ca95a60a97b1a2772fbcf418a860df3", kill_on_drop: false }`
[INFO] [stdout] d819f981aec1d4a78933e159cfeab2535ca95a60a97b1a2772fbcf418a860df3
[INFO] testing voidmap-1.1.5 against beta-2023-12-22 for beta-1.76-1
[INFO] extracting crate voidmap 1.1.5 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate voidmap 1.1.5 on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "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-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "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-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f32b5c73c54c9a1f79949a8db7911b685493503e46ac27fabf22f693c3148ad0
[INFO] running `Command { std: "docker" "start" "-a" "f32b5c73c54c9a1f79949a8db7911b685493503e46ac27fabf22f693c3148ad0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f32b5c73c54c9a1f79949a8db7911b685493503e46ac27fabf22f693c3148ad0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f32b5c73c54c9a1f79949a8db7911b685493503e46ac27fabf22f693c3148ad0", kill_on_drop: false }`
[INFO] [stdout] f32b5c73c54c9a1f79949a8db7911b685493503e46ac27fabf22f693c3148ad0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 352e97b0c88857ce8ae366c46cab79ec8e520d3bda582b52c255f74b72b8d5cc
[INFO] running `Command { std: "docker" "start" "-a" "352e97b0c88857ce8ae366c46cab79ec8e520d3bda582b52c255f74b72b8d5cc", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling unicode-bidi v0.3.14
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling protobuf v1.7.5
[INFO] [stderr]    Compiling percent-encoding v1.0.1
[INFO] [stderr]    Compiling mime v0.2.6
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling numtoa v0.1.0
[INFO] [stderr]    Compiling idna v0.1.5
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling language-tags v0.2.2
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling typeable v0.1.2
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling termion v1.5.6
[INFO] [stderr]    Compiling url v1.7.2
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling hyper v0.10.16
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling unicode-segmentation v0.1.3
[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 29.34s
[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" "352e97b0c88857ce8ae366c46cab79ec8e520d3bda582b52c255f74b72b8d5cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "352e97b0c88857ce8ae366c46cab79ec8e520d3bda582b52c255f74b72b8d5cc", kill_on_drop: false }`
[INFO] [stdout] 352e97b0c88857ce8ae366c46cab79ec8e520d3bda582b52c255f74b72b8d5cc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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-2023-12-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a13611deeb60471f8ddc34b77b4618acad3bc1414e62aa1db6caa9243e6c2c92
[INFO] running `Command { std: "docker" "start" "-a" "a13611deeb60471f8ddc34b77b4618acad3bc1414e62aa1db6caa9243e6c2c92", 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: 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: 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: 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: 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: 2 warnings emitted
[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 5.16s
[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" "a13611deeb60471f8ddc34b77b4618acad3bc1414e62aa1db6caa9243e6c2c92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a13611deeb60471f8ddc34b77b4618acad3bc1414e62aa1db6caa9243e6c2c92", kill_on_drop: false }`
[INFO] [stdout] a13611deeb60471f8ddc34b77b4618acad3bc1414e62aa1db6caa9243e6c2c92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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-2023-12-22" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5bffeb9845f503e37303f203c16d7701e7e67b747504534f67033ae6b00bceb2
[INFO] running `Command { std: "docker" "start" "-a" "5bffeb9845f503e37303f203c16d7701e7e67b747504534f67033ae6b00bceb2", 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: `voidmap` (bin "void") generated 2 warnings (run `cargo fix --bin "void"` to apply 1 suggestion)
[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` (test "test") generated 2 warnings (run `cargo fix --test "test"` to apply 1 suggestion)
[INFO] [stderr] warning: `voidmap` (bin "void" test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: `voidmap` (lib test) generated 49 warnings (49 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.10s
[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-5254c9280b74d5be)
[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-7c5103dea432361a)
[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-da06cf16cb575dec)
[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:     0x55a9ac0c72f6 - std::backtrace_rs::backtrace::libunwind::trace::h261606ad26a499c1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55a9ac0c72f6 - std::backtrace_rs::backtrace::trace_unsynchronized::hd183f0625477fb28
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a9ac0c72f6 - std::sys_common::backtrace::_print_fmt::hd7f8fef21b4eda67
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55a9ac0c72f6 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h623d9b51f2f453f1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55a9ac0f38f0 - core::fmt::rt::Argument::fmt::h9f417ac76a86f368
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55a9ac0f38f0 - core::fmt::write::hc9b6faf4ac2aeff7
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55a9ac0c455f - std::io::Write::write_fmt::he04625a3a989fec3
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/io/mod.rs:1810:15
[INFO] [stdout]    7:     0x55a9ac0c70d4 - std::sys_common::backtrace::_print::hd5d66399c7df88a2
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55a9ac0c70d4 - std::sys_common::backtrace::print::he81ed2da642d37e5
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55a9ac0c8e47 - std::panicking::default_hook::{{closure}}::h85773f4fa117163d
[INFO] [stdout]   10:     0x55a9ac0c8b2d - std::panicking::default_hook::h6a1694a91d09b278
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55a9abcc3247 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h616ac37fa3cd6c8f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x55a9abcc3247 - test::test_main::{{closure}}::h00d84697cefdcbb6
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55a9ac0c9466 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcb3fe3b9bb537ba8
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x55a9ac0c9466 - std::panicking::rust_panic_with_hook::h0a7ad96e90f7145b
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55a9ac0c91b2 - std::panicking::begin_panic_handler::{{closure}}::h7919090525c6485e
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55a9ac0c77f6 - std::sys_common::backtrace::__rust_end_short_backtrace::hf3289479464f7dfe
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55a9ac0c8f10 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55a9abc7c855 - core::panicking::panic_fmt::hcc9f77c5c132af55
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55a9abc7ce33 - core::result::unwrap_failed::hbe14f498be1452f9
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/result.rs:1649:5
[INFO] [stdout]   20:     0x55a9abf03b7b - core::result::Result<T,E>::unwrap::h052d10c0369dade9
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/result.rs:1073:23
[INFO] [stdout]   21:     0x55a9abc8e774 - test::screen::qc_input_events_dont_crash_void::h5033e1bcd78a6c8b
[INFO] [stdout]                                at /opt/rustwide/workdir/test/screen.rs:168:13
[INFO] [stdout]   22:     0x55a9abc8e6e7 - test::screen::qc_input_events_dont_crash_void::{{closure}}::hb361c496e2d2d8bc
[INFO] [stdout]                                at /opt/rustwide/workdir/test/screen.rs:166:37
[INFO] [stdout]   23:     0x55a9abc80536 - core::ops::function::FnOnce::call_once::hdb4cf349c1ef391d
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55a9abcc8b1f - core::ops::function::FnOnce::call_once::hd64d26f405258157
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55a9abcc8b1f - test::__rust_begin_short_backtrace::he21b0b7a6d731bf9
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:627:18
[INFO] [stdout]   26:     0x55a9abcc78a1 - test::run_test_in_process::{{closure}}::hf5c73986d7bdfde2
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:650:60
[INFO] [stdout]   27:     0x55a9abcc78a1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h330011ad032aadc0
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x55a9abcc78a1 - std::panicking::try::do_call::he61b0a958b795a41
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:552:40
[INFO] [stdout]   29:     0x55a9abcc78a1 - std::panicking::try::h7309da130f906eb7
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:516:19
[INFO] [stdout]   30:     0x55a9abcc78a1 - std::panic::catch_unwind::hc5c3a06fdaf0a92a
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panic.rs:142:14
[INFO] [stdout]   31:     0x55a9abcc78a1 - test::run_test_in_process::h7e7b7c71c3324e0f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:650:27
[INFO] [stdout]   32:     0x55a9abcc78a1 - test::run_test::{{closure}}::h1f509f28f5cf20b1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:573:43
[INFO] [stdout]   33:     0x55a9abc8ebd6 - test::run_test::{{closure}}::h1754218abf443f6d
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:601:41
[INFO] [stdout]   34:     0x55a9abc8ebd6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h2ee174b9d5954948
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x55a9abc93c37 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hf60bee9c1a17ef09
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   36:     0x55a9abc93c37 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h33d0dddec5216160
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x55a9abc93c37 - std::panicking::try::do_call::h144b3048b546f835
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:552:40
[INFO] [stdout]   38:     0x55a9abc93c37 - std::panicking::try::h978244d04646189f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:516:19
[INFO] [stdout]   39:     0x55a9abc93c37 - std::panic::catch_unwind::hdf436369d188fe86
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panic.rs:142:14
[INFO] [stdout]   40:     0x55a9abc93c37 - std::thread::Builder::spawn_unchecked_::{{closure}}::h87329cbdd33c79ec
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   41:     0x55a9abc93c37 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h401abbe67897d450
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55a9ac0ce1d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h5d7c8f150ab9c84c
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   43:     0x55a9ac0ce1d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h570d5b005c242c15
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x55a9ac0ce1d5 - std::sys::unix::thread::Thread::new::thread_start::h36b0a20c0b2361ad
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7face5f4fac3 - <unknown>
[INFO] [stdout]   46:     0x7face5fe0bf4 - __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.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test test`
[INFO] running `Command { std: "docker" "inspect" "5bffeb9845f503e37303f203c16d7701e7e67b747504534f67033ae6b00bceb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5bffeb9845f503e37303f203c16d7701e7e67b747504534f67033ae6b00bceb2", kill_on_drop: false }`
[INFO] [stdout] 5bffeb9845f503e37303f203c16d7701e7e67b747504534f67033ae6b00bceb2
