[INFO] cloning repository https://github.com/csaska/sccache-containers-20200727124826049 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/csaska/sccache-containers-20200727124826049" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcsaska%2Fsccache-containers-20200727124826049", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcsaska%2Fsccache-containers-20200727124826049'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2570c3af00791a906815f351e2b9c18f8d0fe644 [INFO] checking csaska/sccache-containers-20200727124826049 against beta for pr-78714 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcsaska%2Fsccache-containers-20200727124826049" "/workspace/builds/worker-9/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/csaska/sccache-containers-20200727124826049 on toolchain beta [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/csaska/sccache-containers-20200727124826049 [INFO] removed workspace from git repo https://github.com/csaska/sccache-containers-20200727124826049 [INFO] removed path dependency lru-disk-cache from git repo https://github.com/csaska/sccache-containers-20200727124826049 [INFO] finished tweaking git repo https://github.com/csaska/sccache-containers-20200727124826049 [INFO] tweaked toml for git repo https://github.com/csaska/sccache-containers-20200727124826049 written to /workspace/builds/worker-9/source/Cargo.toml [INFO] crate git repo https://github.com/csaska/sccache-containers-20200727124826049 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] error: the lock file /workspace/builds/worker-9/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+beta" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3144becd469907d396d1bc181c9b1aff0f4ae21af92c6e5ddf8eb97dba20478e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "3144becd469907d396d1bc181c9b1aff0f4ae21af92c6e5ddf8eb97dba20478e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3144becd469907d396d1bc181c9b1aff0f4ae21af92c6e5ddf8eb97dba20478e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3144becd469907d396d1bc181c9b1aff0f4ae21af92c6e5ddf8eb97dba20478e", kill_on_drop: false }` [INFO] [stdout] 3144becd469907d396d1bc181c9b1aff0f4ae21af92c6e5ddf8eb97dba20478e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+beta" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a8a4d5341d692441bd110ff0ca7be21c1629b7298fb48f3cdd1a7e7adebfabc3 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "a8a4d5341d692441bd110ff0ca7be21c1629b7298fb48f3cdd1a7e7adebfabc3", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling case v0.1.0 [INFO] [stderr] Checking utf8parse v0.1.1 [INFO] [stderr] Checking predicates-core v0.9.0 [INFO] [stderr] Checking linked-hash-map v0.2.1 [INFO] [stderr] Compiling escargot v0.3.1 [INFO] [stderr] Checking counted-array v0.1.2 [INFO] [stderr] Checking cc v1.0.62 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Checking tokio-service v0.1.0 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking filetime v0.1.15 [INFO] [stderr] Checking filetime v0.2.13 [INFO] [stderr] Checking xattr v0.2.2 [INFO] [stderr] Checking directories v1.0.2 [INFO] [stderr] Checking daemonize v0.3.0 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking jobserver v0.1.21 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Checking num-integer v0.1.44 [INFO] [stderr] Checking float-cmp v0.4.0 [INFO] [stderr] Checking number_prefix v0.2.8 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking mio v0.6.22 [INFO] [stderr] Checking msdos_time v0.1.6 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Checking uuid v0.6.5 [INFO] [stderr] Compiling getopts v0.2.21 [INFO] [stderr] Checking vte v0.3.3 [INFO] [stderr] Checking predicates-tree v0.9.0 [INFO] [stderr] Checking flate2 v1.0.19 [INFO] [stderr] Checking lru-disk-cache v0.2.0 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking tar v0.4.30 [INFO] [stderr] Checking retry v0.4.0 [INFO] [stderr] Compiling derive-error v0.0.3 [INFO] [stderr] Checking parking_lot_core v0.6.2 [INFO] [stderr] Checking cookie v0.12.0 [INFO] [stderr] Checking strip-ansi-escapes v0.1.0 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking predicates v0.9.1 [INFO] [stderr] Checking native-tls v0.2.6 [INFO] [stderr] Checking tokio-threadpool v0.1.18 [INFO] [stderr] Checking serde v1.0.117 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Compiling pulldown-cmark v0.0.3 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking http v0.1.21 [INFO] [stderr] Checking tokio-buf v0.1.1 [INFO] [stderr] Checking string v0.2.1 [INFO] [stderr] Checking tokio-serde v0.1.0 [INFO] [stderr] Checking publicsuffix v1.5.4 [INFO] [stderr] Checking parking_lot v0.9.0 [INFO] [stderr] Checking zip v0.4.2 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking which v2.0.1 [INFO] [stderr] Compiling skeptic v0.4.0 [INFO] [stderr] Checking tokio-codec v0.1.2 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Checking tokio-fs v0.1.7 [INFO] [stderr] Checking uuid v0.7.4 [INFO] [stderr] Compiling local-encoding v0.2.0 [INFO] [stderr] Checking tokio-uds v0.2.7 [INFO] [stderr] Checking tokio-udp v0.1.6 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Checking tokio-signal v0.2.9 [INFO] [stderr] Checking tokio-process v0.2.5 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking h2 v0.1.26 [INFO] [stderr] Checking http-body v0.1.0 [INFO] [stderr] Checking hyperx v0.12.0 [INFO] [stderr] Checking hyper v0.12.35 [INFO] [stderr] Checking serde_json v1.0.59 [INFO] [stderr] Checking serde_urlencoded v0.5.5 [INFO] [stderr] Checking bincode v0.8.0 [INFO] [stderr] Checking toml v0.4.10 [INFO] [stderr] Checking bincode v1.3.1 [INFO] [stderr] Checking tokio-serde-bincode v0.1.1 [INFO] [stderr] Checking cookie_store v0.7.0 [INFO] [stderr] Checking hyper-tls v0.3.2 [INFO] [stderr] Checking assert_cmd v0.9.1 [INFO] [stderr] Checking reqwest v0.9.24 [INFO] [stderr] Checking sccache v0.2.8 (/opt/rustwide/workdir) [INFO] [stderr] Checking selenium-rs v0.1.2 [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:82:27 [INFO] [stdout] | [INFO] [stdout] 82 | pub type SFuture = Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:83:31 [INFO] [stdout] | [INFO] [stdout] 83 | pub type SFutureSend = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cache/cache.rs:68:25 [INFO] [stdout] | [INFO] [stdout] 68 | zip: ZipArchive>, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn ReadSeek` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cache/cache.rs:77:57 [INFO] [stdout] | [INFO] [stdout] 77 | let z = ZipArchive::new(Box::new(reader) as Box) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn ReadSeek` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cache/cache.rs:167:68 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn storage_from_config(config: &Config, pool: &CpuPool) -> Arc { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `libc` is imported redundantly [INFO] [stdout] --> src/commands.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | use libc; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | extern crate libc; [INFO] [stdout] | ------------------ the item `libc` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:460:18 [INFO] [stdout] | [INFO] [stdout] 460 | stdout: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:461:18 [INFO] [stdout] | [INFO] [stdout] 461 | stderr: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:466:22 [INFO] [stdout] | [INFO] [stdout] 466 | writer: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:530:18 [INFO] [stdout] | [INFO] [stdout] 530 | stdout: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:531:18 [INFO] [stdout] | [INFO] [stdout] 531 | stderr: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:605:18 [INFO] [stdout] | [INFO] [stdout] 605 | stdout: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:606:18 [INFO] [stdout] | [INFO] [stdout] 606 | stderr: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/args.rs:12:42 [INFO] [stdout] | [INFO] [stdout] 12 | pub type PathTransformerFn<'a> = &'a mut FnMut(&Path) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Path) -> Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/args.rs:33:32 [INFO] [stdout] | [INFO] [stdout] 33 | fn cause(&self) -> Option<&Error> { None } [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/args.rs:53:32 [INFO] [stdout] | [INFO] [stdout] 53 | fn cause(&self) -> Option<&Error> { None } [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/c.rs:200:61 [INFO] [stdout] | [INFO] [stdout] 200 | cwd: &Path) -> CompilerArguments + 'static>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher + 'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/c.rs:215:32 [INFO] [stdout] | [INFO] [stdout] 215 | fn box_clone(&self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/c.rs:304:32 [INFO] [stdout] | [INFO] [stdout] 304 | fn box_clone(&self) -> Box> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/c.rs:330:37 [INFO] [stdout] | [INFO] [stdout] 330 | fn outputs<'a>(&'a self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:94:32 [INFO] [stdout] | [INFO] [stdout] 94 | ) -> CompilerArguments + 'static>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher + 'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:95:32 [INFO] [stdout] | [INFO] [stdout] 95 | fn box_clone(&self) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:98:43 [INFO] [stdout] | [INFO] [stdout] 98 | impl Clone for Box> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:99:28 [INFO] [stdout] | [INFO] [stdout] 99 | fn clone(&self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:129:33 [INFO] [stdout] | [INFO] [stdout] 129 | dist_client: Option>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn dist::Client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:131:22 [INFO] [stdout] | [INFO] [stdout] 131 | storage: Arc, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:357:32 [INFO] [stdout] | [INFO] [stdout] 357 | fn box_clone(&self) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:362:30 [INFO] [stdout] | [INFO] [stdout] 362 | _dist_client: Option>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn dist::Client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:365:22 [INFO] [stdout] | [INFO] [stdout] 365 | compilation: Box, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compilation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:547:43 [INFO] [stdout] | [INFO] [stdout] 547 | impl Clone for Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:548:28 [INFO] [stdout] | [INFO] [stdout] 548 | fn clone(&self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:579:37 [INFO] [stdout] | [INFO] [stdout] 579 | fn outputs<'a>(&'a self) -> Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:610:26 [INFO] [stdout] | [INFO] [stdout] 610 | pub compilation: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compilation + 'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:808:25 [INFO] [stdout] | [INFO] [stdout] 808 | ) -> SFuture>>> [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:859:54 [INFO] [stdout] | [INFO] [stdout] 859 | .map(|c| Some(Box::new(c) as Box>)), [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:872:25 [INFO] [stdout] | [INFO] [stdout] 872 | ) -> SFuture>>> [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:919:58 [INFO] [stdout] | [INFO] [stdout] 919 | .map(|c| Some(Box::new(c) as Box>)), [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:925:58 [INFO] [stdout] | [INFO] [stdout] 925 | .map(|c| Some(Box::new(c) as Box>)), [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:946:55 [INFO] [stdout] | [INFO] [stdout] 946 | ).map(|c| Some(Box::new(c) as Box>)) [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:966:18 [INFO] [stdout] | [INFO] [stdout] 966 | ) -> SFuture>> [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/msvc.rs:183:26 [INFO] [stdout] | [INFO] [stdout] 183 | fn encode_path(dst: &mut Write, path: &Path) -> io::Result<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/rust.rs:432:61 [INFO] [stdout] | [INFO] [stdout] 432 | cwd: &Path) -> CompilerArguments + 'static>> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher + 'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/rust.rs:452:32 [INFO] [stdout] | [INFO] [stdout] 452 | fn box_clone(&self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/rust.rs:1128:32 [INFO] [stdout] | [INFO] [stdout] 1128 | fn box_clone(&self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/rust.rs:1263:37 [INFO] [stdout] | [INFO] [stdout] 1263 | fn outputs<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dist/mod.rs:552:36 [INFO] [stdout] | [INFO] [stdout] 552 | pub struct ToolchainReader<'a>(Box); [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Read + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dist/mod.rs:557:33 [INFO] [stdout] | [INFO] [stdout] 557 | pub struct InputsReader<'a>(Box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Read + Send + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dist/mod.rs:623:115 [INFO] [stdout] | [INFO] [stdout] 623 | ...: Vec, inputs_packager: Box) -> SFuture<(RunJobResult, PathTransformer)>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pkg::InputsPackager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dist/mod.rs:624:91 [INFO] [stdout] | [INFO] [stdout] 624 | ...y: &str, toolchain_packager: Box) -> SFuture<(Toolchain, Option)>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pkg::ToolchainPackager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | fn wait(self) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:90:38 [INFO] [stdout] | [INFO] [stdout] 90 | fn wait_with_output(self) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:165:26 [INFO] [stdout] | [INFO] [stdout] 165 | fn wait(self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:173:38 [INFO] [stdout] | [INFO] [stdout] 173 | fn wait_with_output(self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:380:30 [INFO] [stdout] | [INFO] [stdout] 380 | fn wait(mut self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:385:38 [INFO] [stdout] | [INFO] [stdout] 385 | fn wait_with_output(self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:400:14 [INFO] [stdout] | [INFO] [stdout] 400 | Call(Box Result + Send>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&[OsString]) -> Result + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:175:40 [INFO] [stdout] | [INFO] [stdout] 175 | fn get_client(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn dist::Client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:354:22 [INFO] [stdout] | [INFO] [stdout] 354 | storage: Arc, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:383:48 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn set_storage(&mut self, storage: Arc) { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:417:37 [INFO] [stdout] | [INFO] [stdout] 417 | fn _run<'a>(self, shutdown: Box + 'a>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:456:37 [INFO] [stdout] | [INFO] [stdout] 456 | Box::new(server) as Box>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:518:18 [INFO] [stdout] | [INFO] [stdout] 518 | storage: Arc, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:521:56 [INFO] [stdout] | [INFO] [stdout] 521 | compilers: Rc>, FileTime)>>>>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:616:22 [INFO] [stdout] | [INFO] [stdout] 616 | storage: Arc, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:657:28 [INFO] [stdout] | [INFO] [stdout] 657 | let f: Box> = match message { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:721:29 [INFO] [stdout] | [INFO] [stdout] 721 | ) -> SFuture>>> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:764:30 [INFO] [stdout] | [INFO] [stdout] 764 | compiler: Option>>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:820:21 [INFO] [stdout] | [INFO] [stdout] 820 | hasher: Box>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/util.rs:94:14 [INFO] [stdout] | [INFO] [stdout] 94 | 0...9 => (b'0' + byte) as char, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:82:27 [INFO] [stdout] | [INFO] [stdout] 82 | pub type SFuture = Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:83:31 [INFO] [stdout] | [INFO] [stdout] 83 | pub type SFutureSend = Box + Send>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cache/cache.rs:68:25 [INFO] [stdout] | [INFO] [stdout] 68 | zip: ZipArchive>, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn ReadSeek` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cache/cache.rs:77:57 [INFO] [stdout] | [INFO] [stdout] 77 | let z = ZipArchive::new(Box::new(reader) as Box) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn ReadSeek` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cache/cache.rs:167:68 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn storage_from_config(config: &Config, pool: &CpuPool) -> Arc { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `libc` is imported redundantly [INFO] [stdout] --> src/commands.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | use libc; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | extern crate libc; [INFO] [stdout] | ------------------ the item `libc` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:460:18 [INFO] [stdout] | [INFO] [stdout] 460 | stdout: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:461:18 [INFO] [stdout] | [INFO] [stdout] 461 | stderr: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:466:22 [INFO] [stdout] | [INFO] [stdout] 466 | writer: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:530:18 [INFO] [stdout] | [INFO] [stdout] 530 | stdout: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:531:18 [INFO] [stdout] | [INFO] [stdout] 531 | stderr: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:605:18 [INFO] [stdout] | [INFO] [stdout] 605 | stdout: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/commands.rs:606:18 [INFO] [stdout] | [INFO] [stdout] 606 | stderr: &mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/args.rs:12:42 [INFO] [stdout] | [INFO] [stdout] 12 | pub type PathTransformerFn<'a> = &'a mut FnMut(&Path) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Path) -> Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/args.rs:33:32 [INFO] [stdout] | [INFO] [stdout] 33 | fn cause(&self) -> Option<&Error> { None } [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/args.rs:53:32 [INFO] [stdout] | [INFO] [stdout] 53 | fn cause(&self) -> Option<&Error> { None } [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/c.rs:200:61 [INFO] [stdout] | [INFO] [stdout] 200 | cwd: &Path) -> CompilerArguments + 'static>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher + 'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/c.rs:215:32 [INFO] [stdout] | [INFO] [stdout] 215 | fn box_clone(&self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/c.rs:304:32 [INFO] [stdout] | [INFO] [stdout] 304 | fn box_clone(&self) -> Box> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/c.rs:330:37 [INFO] [stdout] | [INFO] [stdout] 330 | fn outputs<'a>(&'a self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:94:32 [INFO] [stdout] | [INFO] [stdout] 94 | ) -> CompilerArguments + 'static>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher + 'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:95:32 [INFO] [stdout] | [INFO] [stdout] 95 | fn box_clone(&self) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:98:43 [INFO] [stdout] | [INFO] [stdout] 98 | impl Clone for Box> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:99:28 [INFO] [stdout] | [INFO] [stdout] 99 | fn clone(&self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:129:33 [INFO] [stdout] | [INFO] [stdout] 129 | dist_client: Option>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn dist::Client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:131:22 [INFO] [stdout] | [INFO] [stdout] 131 | storage: Arc, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:357:32 [INFO] [stdout] | [INFO] [stdout] 357 | fn box_clone(&self) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:362:30 [INFO] [stdout] | [INFO] [stdout] 362 | _dist_client: Option>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn dist::Client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:365:22 [INFO] [stdout] | [INFO] [stdout] 365 | compilation: Box, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compilation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:547:43 [INFO] [stdout] | [INFO] [stdout] 547 | impl Clone for Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:548:28 [INFO] [stdout] | [INFO] [stdout] 548 | fn clone(&self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:579:37 [INFO] [stdout] | [INFO] [stdout] 579 | fn outputs<'a>(&'a self) -> Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:610:26 [INFO] [stdout] | [INFO] [stdout] 610 | pub compilation: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compilation + 'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:808:25 [INFO] [stdout] | [INFO] [stdout] 808 | ) -> SFuture>>> [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:859:54 [INFO] [stdout] | [INFO] [stdout] 859 | .map(|c| Some(Box::new(c) as Box>)), [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:872:25 [INFO] [stdout] | [INFO] [stdout] 872 | ) -> SFuture>>> [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:919:58 [INFO] [stdout] | [INFO] [stdout] 919 | .map(|c| Some(Box::new(c) as Box>)), [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:925:58 [INFO] [stdout] | [INFO] [stdout] 925 | .map(|c| Some(Box::new(c) as Box>)), [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:946:55 [INFO] [stdout] | [INFO] [stdout] 946 | ).map(|c| Some(Box::new(c) as Box>)) [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:966:18 [INFO] [stdout] | [INFO] [stdout] 966 | ) -> SFuture>> [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:1148:26 [INFO] [stdout] | [INFO] [stdout] 1148 | let storage: Arc = Arc::new(storage); [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:1426:26 [INFO] [stdout] | [INFO] [stdout] 1426 | let storage: Arc = Arc::new(storage); [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/compiler.rs:1532:26 [INFO] [stdout] | [INFO] [stdout] 1532 | let storage: Arc = Arc::new(storage); [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/msvc.rs:183:26 [INFO] [stdout] | [INFO] [stdout] 183 | fn encode_path(dst: &mut Write, path: &Path) -> io::Result<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/rust.rs:432:61 [INFO] [stdout] | [INFO] [stdout] 432 | cwd: &Path) -> CompilerArguments + 'static>> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher + 'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/rust.rs:452:32 [INFO] [stdout] | [INFO] [stdout] 452 | fn box_clone(&self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/rust.rs:1128:32 [INFO] [stdout] | [INFO] [stdout] 1128 | fn box_clone(&self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/compiler/rust.rs:1263:37 [INFO] [stdout] | [INFO] [stdout] 1263 | fn outputs<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dist/mod.rs:552:36 [INFO] [stdout] | [INFO] [stdout] 552 | pub struct ToolchainReader<'a>(Box); [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Read + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dist/mod.rs:557:33 [INFO] [stdout] | [INFO] [stdout] 557 | pub struct InputsReader<'a>(Box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Read + Send + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dist/mod.rs:623:115 [INFO] [stdout] | [INFO] [stdout] 623 | ...: Vec, inputs_packager: Box) -> SFuture<(RunJobResult, PathTransformer)>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pkg::InputsPackager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dist/mod.rs:624:91 [INFO] [stdout] | [INFO] [stdout] 624 | ...y: &str, toolchain_packager: Box) -> SFuture<(Toolchain, Option)>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pkg::ToolchainPackager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | fn wait(self) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:90:38 [INFO] [stdout] | [INFO] [stdout] 90 | fn wait_with_output(self) -> Box>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:165:26 [INFO] [stdout] | [INFO] [stdout] 165 | fn wait(self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:173:38 [INFO] [stdout] | [INFO] [stdout] 173 | fn wait_with_output(self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:380:30 [INFO] [stdout] | [INFO] [stdout] 380 | fn wait(mut self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:385:38 [INFO] [stdout] | [INFO] [stdout] 385 | fn wait_with_output(self) -> Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/mock_command.rs:400:14 [INFO] [stdout] | [INFO] [stdout] 400 | Call(Box Result + Send>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&[OsString]) -> Result + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:175:40 [INFO] [stdout] | [INFO] [stdout] 175 | fn get_client(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn dist::Client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:354:22 [INFO] [stdout] | [INFO] [stdout] 354 | storage: Arc, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:383:48 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn set_storage(&mut self, storage: Arc) { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:417:37 [INFO] [stdout] | [INFO] [stdout] 417 | fn _run<'a>(self, shutdown: Box + 'a>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:456:37 [INFO] [stdout] | [INFO] [stdout] 456 | Box::new(server) as Box>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:518:18 [INFO] [stdout] | [INFO] [stdout] 518 | storage: Arc, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:521:56 [INFO] [stdout] | [INFO] [stdout] 521 | compilers: Rc>, FileTime)>>>>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:616:22 [INFO] [stdout] | [INFO] [stdout] 616 | storage: Arc, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:657:28 [INFO] [stdout] | [INFO] [stdout] 657 | let f: Box> = match message { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:721:29 [INFO] [stdout] | [INFO] [stdout] 721 | ) -> SFuture>>> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:764:30 [INFO] [stdout] | [INFO] [stdout] 764 | compiler: Option>>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Compiler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:820:21 [INFO] [stdout] | [INFO] [stdout] 820 | hasher: Box>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CompilerHasher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/util.rs:94:14 [INFO] [stdout] | [INFO] [stdout] 94 | 0...9 => (b'0' + byte) as char, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::str::::trim_right`: superseded by `trim_end` [INFO] [stdout] --> src/compiler/rust.rs:352:48 [INFO] [stdout] | [INFO] [stdout] 352 | let sysroot = PathBuf::from(outstr.trim_right()); [INFO] [stdout] | ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::str::::trim_right`: superseded by `trim_end` [INFO] [stdout] --> src/compiler/rust.rs:352:48 [INFO] [stdout] | [INFO] [stdout] 352 | let sysroot = PathBuf::from(outstr.trim_right()); [INFO] [stdout] | ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 70 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::str::::trim_right`: superseded by `trim_end` [INFO] [stdout] --> tests/system.rs:186:47 [INFO] [stdout] | [INFO] [stdout] 186 | let lines: Vec<_> = buf.lines().map(|l| l.trim_right()).collect(); [INFO] [stdout] | ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stdout] --> src/compiler/args.rs:918:39 [INFO] [stdout] | [INFO] [stdout] 918 | let iter = ArgsIter::new(args.into_iter().map(OsString::from), &ARGS[..]); [INFO] [stdout] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #66145 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 74 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 13s [INFO] running `Command { std: "docker" "inspect" "a8a4d5341d692441bd110ff0ca7be21c1629b7298fb48f3cdd1a7e7adebfabc3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a8a4d5341d692441bd110ff0ca7be21c1629b7298fb48f3cdd1a7e7adebfabc3", kill_on_drop: false }` [INFO] [stdout] a8a4d5341d692441bd110ff0ca7be21c1629b7298fb48f3cdd1a7e7adebfabc3