[INFO] cloning repository https://github.com/IanS5/rush [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IanS5/rush" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIanS5%2Frush", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIanS5%2Frush'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6a97536f28040d30cb896d74b5a7ab84bb1117dc [INFO] checking IanS5/rush/6a97536f28040d30cb896d74b5a7ab84bb1117dc against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIanS5%2Frush" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/IanS5/rush on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/IanS5/rush [INFO] finished tweaking git repo https://github.com/IanS5/rush [INFO] tweaked toml for git repo https://github.com/IanS5/rush written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/IanS5/rush already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cb38169fd4dcfe9643f9c271a5892190ed71e47482d23a4ab0853196344284c8 [INFO] running `Command { std: "docker" "start" "-a" "cb38169fd4dcfe9643f9c271a5892190ed71e47482d23a4ab0853196344284c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cb38169fd4dcfe9643f9c271a5892190ed71e47482d23a4ab0853196344284c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cb38169fd4dcfe9643f9c271a5892190ed71e47482d23a4ab0853196344284c8", kill_on_drop: false }` [INFO] [stdout] cb38169fd4dcfe9643f9c271a5892190ed71e47482d23a4ab0853196344284c8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 86c96e37930669aafef1080a59c9a1c4c03fac5053c796ba8c4b08328b441131 [INFO] running `Command { std: "docker" "start" "-a" "86c96e37930669aafef1080a59c9a1c4c03fac5053c796ba8c4b08328b441131", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v0.4.24 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking libc v0.2.42 [INFO] [stderr] Compiling cc v1.0.18 [INFO] [stderr] Checking cfg-if v0.1.5 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling failure_derive v0.1.3 [INFO] [stderr] Checking rustc-demangle v0.1.8 [INFO] [stderr] Compiling nix v0.11.0 [INFO] [stderr] Checking bitflags v1.0.3 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking lazy_static v1.2.0 [INFO] [stderr] Compiling memchr v2.1.0 [INFO] [stderr] Compiling backtrace-sys v0.1.23 [INFO] [stderr] Compiling quote v0.6.10 [INFO] [stderr] Checking nom v4.1.1 [INFO] [stderr] Compiling syn v0.15.21 [INFO] [stderr] Checking backtrace v0.3.9 [INFO] [stderr] Compiling synstructure v0.10.1 [INFO] [stderr] Checking failure v0.1.3 [INFO] [stderr] Checking nixterm v0.1.2 [INFO] [stderr] Checking rush v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/env/functions.rs:49:62 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn entry<'a, T: Into>(&'a mut self, key: T) -> Entry { [INFO] [stdout] | -- lifetime `'a` declared here ^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around block return value [INFO] [stdout] --> src/env/traps.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | static ref GLOBAL_TRAPS: RwLock = { RwLock::new(Traps::with_capacity(31)) }; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 10 - static ref GLOBAL_TRAPS: RwLock = { RwLock::new(Traps::with_capacity(31)) }; [INFO] [stdout] 10 + static ref GLOBAL_TRAPS: RwLock = RwLock::new(Traps::with_capacity(31)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / /// eat any string of valid non-newline whitespace characters [INFO] [stdout] 11 | | /// Characters Recognized as Whitespace: [INFO] [stdout] 12 | | /// - \t (tab) [INFO] [stdout] 13 | | /// - \ (space) [INFO] [stdout] | |_---------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | /// Line endings are whitespace that move the cursor to the next line [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | / /// A conditional can join two commands, depending on the result of the prior command the second may not be executed [INFO] [stdout] 33 | | /// [INFO] [stdout] 34 | | /// Supported conditional operators [INFO] [stdout] 35 | | /// - && - proceed only if the last command was successful [INFO] [stdout] 36 | | /// - || - proceed only if the last command failed [INFO] [stdout] | |_-------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | / /// IO Operators can modify the modify the file descriptor table, close, open, read, and write to files. [INFO] [stdout] 46 | | /// [INFO] [stdout] 47 | | /// IO operations appear after a command, they are optionally proceeded by a file descriptor, and may be followed by several different ty... [INFO] [stdout] 48 | | /// [INFO] [stdout] ... | [INFO] [stdout] 57 | | /// - <& - Duplicate an input file descriptor (basically just the dup2 systemcall) [INFO] [stdout] 58 | | /// - <> - Open a file for reading an writing [INFO] [stdout] | |_--------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | /// Pipes connect a command's standard out to another command's standard in [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:80:1 [INFO] [stdout] | [INFO] [stdout] 80 | / /// A separator splits WORDS into commands when they are on the same line [INFO] [stdout] 81 | | /// [INFO] [stdout] 82 | | /// For example `echo hello; echo hi` prints "hellohi" [INFO] [stdout] 83 | | /// while `echo hello echo hi` prints "hello echo hi" [INFO] [stdout] 84 | | /// Supported Separators [INFO] [stdout] 85 | | /// - ; Acts a newline [INFO] [stdout] 86 | | /// - & same as `;`, but asynchronously calls the previous command [INFO] [stdout] | |_-----------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | /// An io number is the file descriptor that comes before the an IO operator [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lang::parser` [INFO] [stdout] --> src/shell/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use lang::parser; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/shell/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/env/functions.rs:49:62 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn entry<'a, T: Into>(&'a mut self, key: T) -> Entry { [INFO] [stdout] | -- lifetime `'a` declared here ^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around block return value [INFO] [stdout] --> src/env/traps.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | static ref GLOBAL_TRAPS: RwLock = { RwLock::new(Traps::with_capacity(31)) }; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 10 - static ref GLOBAL_TRAPS: RwLock = { RwLock::new(Traps::with_capacity(31)) }; [INFO] [stdout] 10 + static ref GLOBAL_TRAPS: RwLock = RwLock::new(Traps::with_capacity(31)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / /// eat any string of valid non-newline whitespace characters [INFO] [stdout] 11 | | /// Characters Recognized as Whitespace: [INFO] [stdout] 12 | | /// - \t (tab) [INFO] [stdout] 13 | | /// - \ (space) [INFO] [stdout] | |_---------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | /// Line endings are whitespace that move the cursor to the next line [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | / /// A conditional can join two commands, depending on the result of the prior command the second may not be executed [INFO] [stdout] 33 | | /// [INFO] [stdout] 34 | | /// Supported conditional operators [INFO] [stdout] 35 | | /// - && - proceed only if the last command was successful [INFO] [stdout] 36 | | /// - || - proceed only if the last command failed [INFO] [stdout] | |_-------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | / /// IO Operators can modify the modify the file descriptor table, close, open, read, and write to files. [INFO] [stdout] 46 | | /// [INFO] [stdout] 47 | | /// IO operations appear after a command, they are optionally proceeded by a file descriptor, and may be followed by several different ty... [INFO] [stdout] 48 | | /// [INFO] [stdout] ... | [INFO] [stdout] 57 | | /// - <& - Duplicate an input file descriptor (basically just the dup2 systemcall) [INFO] [stdout] 58 | | /// - <> - Open a file for reading an writing [INFO] [stdout] | |_--------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | /// Pipes connect a command's standard out to another command's standard in [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:80:1 [INFO] [stdout] | [INFO] [stdout] 80 | / /// A separator splits WORDS into commands when they are on the same line [INFO] [stdout] 81 | | /// [INFO] [stdout] 82 | | /// For example `echo hello; echo hi` prints "hellohi" [INFO] [stdout] 83 | | /// while `echo hello echo hi` prints "hello echo hi" [INFO] [stdout] 84 | | /// Supported Separators [INFO] [stdout] 85 | | /// - ; Acts a newline [INFO] [stdout] 86 | | /// - & same as `;`, but asynchronously calls the previous command [INFO] [stdout] | |_-----------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lang/parser.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | /// An io number is the file descriptor that comes before the an IO operator [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lang::parser` [INFO] [stdout] --> src/shell/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use lang::parser; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/shell/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/env/traps.rs:101:14 [INFO] [stdout] | [INFO] [stdout] 101 | .trim_left_matches("SIG") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] help: replace the use of the deprecated method [INFO] [stdout] | [INFO] [stdout] 101 | .trim_start_matches("SIG") [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `failure::core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/env/traps.rs:101:14 [INFO] [stdout] | [INFO] [stdout] 101 | .trim_left_matches("SIG") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] help: replace the use of the deprecated method [INFO] [stdout] | [INFO] [stdout] 101 | .trim_start_matches("SIG") [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `environ` [INFO] [stdout] --> src/shell/mod.rs:89:32 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn readline(&mut self, environ: &mut lang::ExecutionContext) -> nixterm::Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environ` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/expr/errors.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ErrorKind` [INFO] [stdout] 21 | pub enum ErrorKind { [INFO] [stdout] | --------- `ErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/expr/errors.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ErrorKind` [INFO] [stdout] 21 | pub enum ErrorKind { [INFO] [stdout] | --------- `ErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang/errors.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ErrorKind` [INFO] [stdout] 13 | pub enum ErrorKind { [INFO] [stdout] | --------- `ErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang/errors.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ErrorKind` [INFO] [stdout] 13 | pub enum ErrorKind { [INFO] [stdout] | --------- `ErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/shell/mod.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | / self.term [INFO] [stdout] 99 | | .writer() [INFO] [stdout] 100 | | .shift_cursor(xoffset - backtrack, 0) [INFO] [stdout] 101 | | .done(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 98 | let _ = self.term [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/shell/mod.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | / self.term [INFO] [stdout] 107 | | .writer() [INFO] [stdout] 108 | | .print(&self.command_buffer) [INFO] [stdout] 109 | | .print("exit") [INFO] [stdout] 110 | | .done(); [INFO] [stdout] | |___________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 106 | let _ = self.term [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/shell/mod.rs:115:25 [INFO] [stdout] | [INFO] [stdout] 115 | / self.term [INFO] [stdout] 116 | | .writer() [INFO] [stdout] 117 | | .print(&self.command_buffer) [INFO] [stdout] 118 | | .print("^C") [INFO] [stdout] 119 | | .done(); [INFO] [stdout] | |___________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 115 | let _ = self.term [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/shell/mod.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | self.term.update(self.old_settings.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 170 | let _ = self.term.update(self.old_settings.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `environ` [INFO] [stdout] --> src/shell/mod.rs:89:32 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn readline(&mut self, environ: &mut lang::ExecutionContext) -> nixterm::Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environ` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/test_util.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | MUTEX.write(Mutex::new(())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/test_util.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let guard = unsafe { MUTEX.assume_init_ref() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/expr/errors.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ErrorKind` [INFO] [stdout] 21 | pub enum ErrorKind { [INFO] [stdout] | --------- `ErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/expr/errors.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ErrorKind` [INFO] [stdout] 21 | pub enum ErrorKind { [INFO] [stdout] | --------- `ErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang/errors.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ErrorKind` [INFO] [stdout] 13 | pub enum ErrorKind { [INFO] [stdout] | --------- `ErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lang/errors.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ErrorKind` [INFO] [stdout] 13 | pub enum ErrorKind { [INFO] [stdout] | --------- `ErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/shell/mod.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | / self.term [INFO] [stdout] 99 | | .writer() [INFO] [stdout] 100 | | .shift_cursor(xoffset - backtrack, 0) [INFO] [stdout] 101 | | .done(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 98 | let _ = self.term [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/shell/mod.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | / self.term [INFO] [stdout] 107 | | .writer() [INFO] [stdout] 108 | | .print(&self.command_buffer) [INFO] [stdout] 109 | | .print("exit") [INFO] [stdout] 110 | | .done(); [INFO] [stdout] | |___________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 106 | let _ = self.term [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/shell/mod.rs:115:25 [INFO] [stdout] | [INFO] [stdout] 115 | / self.term [INFO] [stdout] 116 | | .writer() [INFO] [stdout] 117 | | .print(&self.command_buffer) [INFO] [stdout] 118 | | .print("^C") [INFO] [stdout] 119 | | .done(); [INFO] [stdout] | |___________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 115 | let _ = self.term [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/shell/mod.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | self.term.update(self.old_settings.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 170 | let _ = self.term.update(self.old_settings.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.56s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.1.1 [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" "86c96e37930669aafef1080a59c9a1c4c03fac5053c796ba8c4b08328b441131", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86c96e37930669aafef1080a59c9a1c4c03fac5053c796ba8c4b08328b441131", kill_on_drop: false }` [INFO] [stdout] 86c96e37930669aafef1080a59c9a1c4c03fac5053c796ba8c4b08328b441131