[INFO] fetching crate cheats 0.4.0...
[INFO] testing cheats-0.4.0 against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] extracting crate cheats 0.4.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate cheats 0.4.0
[INFO] finished tweaking crates.io crate cheats 0.4.0
[INFO] tweaked toml for crates.io crate cheats 0.4.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cheats 0.4.0 on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 20 packages to latest compatible versions
[INFO] [stderr]       Adding logos v0.11.4 (available: v0.15.1)
[INFO] [stderr]       Adding rstest v0.6.4 (available: v0.26.1)
[INFO] [stderr]       Adding snafu v0.6.10 (available: v0.8.9)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1cf28270c579d9040370d5e703c9378dcf59cb7f73364252d9097b730aa0ec0c
[INFO] running `Command { std: "docker" "start" "-a" "1cf28270c579d9040370d5e703c9378dcf59cb7f73364252d9097b730aa0ec0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1cf28270c579d9040370d5e703c9378dcf59cb7f73364252d9097b730aa0ec0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1cf28270c579d9040370d5e703c9378dcf59cb7f73364252d9097b730aa0ec0c", kill_on_drop: false }`
[INFO] [stdout] 1cf28270c579d9040370d5e703c9378dcf59cb7f73364252d9097b730aa0ec0c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dfccb282d215b65cc430a3900fd4c9e65deaca7381356682d59453b1c445e58b
[INFO] running `Command { std: "docker" "start" "-a" "dfccb282d215b65cc430a3900fd4c9e65deaca7381356682d59453b1c445e58b", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling beef v0.4.4
[INFO] [stderr]    Compiling utf8-ranges v1.0.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling logos-derive v0.11.5
[INFO] [stderr]    Compiling snafu-derive v0.6.10
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling logos v0.11.4
[INFO] [stderr]    Compiling snafu v0.6.10
[INFO] [stderr]    Compiling cheats v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lib.rs:277:21
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn register(&mut self, name: &'a str, invokable: Box<dyn Invokable>) -> ShellResult<()> {
[INFO] [stdout]     |                     ^^^^^^^^^ this lifetime flows to the output                 --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn register(&mut self, name: &'a str, invokable: Box<dyn Invokable>) -> ShellResult<'_, ()> {
[INFO] [stdout]     |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lib.rs:302:23
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn unregister(&mut self, name: &'a str) -> ShellResult<()> {
[INFO] [stdout]     |                       ^^^^^^^^^                    --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn unregister(&mut self, name: &'a str) -> ShellResult<'_, ()> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/code.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub(crate) fn new(name: &'a str, invokable: Box<dyn Invokable>) -> CodeResult<Self> {
[INFO] [stdout]    |                              ^^ this lifetime flows to the output      ---------------- the lifetime gets resolved as `'a`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub(crate) fn new(name: &'a str, invokable: Box<dyn Invokable>) -> CodeResult<'a, Self> {
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.42s
[INFO] running `Command { std: "docker" "inspect" "dfccb282d215b65cc430a3900fd4c9e65deaca7381356682d59453b1c445e58b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfccb282d215b65cc430a3900fd4c9e65deaca7381356682d59453b1c445e58b", kill_on_drop: false }`
[INFO] [stdout] dfccb282d215b65cc430a3900fd4c9e65deaca7381356682d59453b1c445e58b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 697d54cb72b00b3984f800c675d40eab5dcbfea1f1d8776a6437928a7dc888de
[INFO] running `Command { std: "docker" "start" "-a" "697d54cb72b00b3984f800c675d40eab5dcbfea1f1d8776a6437928a7dc888de", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling rstest v0.6.4
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lib.rs:277:21
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn register(&mut self, name: &'a str, invokable: Box<dyn Invokable>) -> ShellResult<()> {
[INFO] [stdout]     |                     ^^^^^^^^^ this lifetime flows to the output                 --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn register(&mut self, name: &'a str, invokable: Box<dyn Invokable>) -> ShellResult<'_, ()> {
[INFO] [stdout]     |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lib.rs:302:23
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn unregister(&mut self, name: &'a str) -> ShellResult<()> {
[INFO] [stdout]     |                       ^^^^^^^^^                    --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn unregister(&mut self, name: &'a str) -> ShellResult<'_, ()> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/code.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub(crate) fn new(name: &'a str, invokable: Box<dyn Invokable>) -> CodeResult<Self> {
[INFO] [stdout]    |                              ^^ this lifetime flows to the output      ---------------- the lifetime gets resolved as `'a`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub(crate) fn new(name: &'a str, invokable: Box<dyn Invokable>) -> CodeResult<'a, Self> {
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cheats v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lib.rs:277:21
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn register(&mut self, name: &'a str, invokable: Box<dyn Invokable>) -> ShellResult<()> {
[INFO] [stdout]     |                     ^^^^^^^^^ this lifetime flows to the output                 --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn register(&mut self, name: &'a str, invokable: Box<dyn Invokable>) -> ShellResult<'_, ()> {
[INFO] [stdout]     |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lib.rs:302:23
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn unregister(&mut self, name: &'a str) -> ShellResult<()> {
[INFO] [stdout]     |                       ^^^^^^^^^                    --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn unregister(&mut self, name: &'a str) -> ShellResult<'_, ()> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/code.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub(crate) fn new(name: &'a str, invokable: Box<dyn Invokable>) -> CodeResult<Self> {
[INFO] [stdout]    |                              ^^ this lifetime flows to the output      ---------------- the lifetime gets resolved as `'a`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub(crate) fn new(name: &'a str, invokable: Box<dyn Invokable>) -> CodeResult<'a, Self> {
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 15.56s
[INFO] running `Command { std: "docker" "inspect" "697d54cb72b00b3984f800c675d40eab5dcbfea1f1d8776a6437928a7dc888de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "697d54cb72b00b3984f800c675d40eab5dcbfea1f1d8776a6437928a7dc888de", kill_on_drop: false }`
[INFO] [stdout] 697d54cb72b00b3984f800c675d40eab5dcbfea1f1d8776a6437928a7dc888de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ec7defb12a210aff96379d56d5db268a0f9d7e923776b59c8704fbff69778bf3
[INFO] running `Command { std: "docker" "start" "-a" "ec7defb12a210aff96379d56d5db268a0f9d7e923776b59c8704fbff69778bf3", kill_on_drop: false }`
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/lib.rs:277:21
[INFO] [stderr]     |
[INFO] [stderr] 277 |     pub fn register(&mut self, name: &'a str, invokable: Box<dyn Invokable>) -> ShellResult<()> {
[INFO] [stderr]     |                     ^^^^^^^^^ this lifetime flows to the output                 --------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 277 |     pub fn register(&mut self, name: &'a str, invokable: Box<dyn Invokable>) -> ShellResult<'_, ()> {
[INFO] [stderr]     |                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/lib.rs:302:23
[INFO] [stderr]     |
[INFO] [stderr] 302 |     pub fn unregister(&mut self, name: &'a str) -> ShellResult<()> {
[INFO] [stderr]     |                       ^^^^^^^^^                    --------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 302 |     pub fn unregister(&mut self, name: &'a str) -> ShellResult<'_, ()> {
[INFO] [stderr]     |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/code.rs:51:30
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub(crate) fn new(name: &'a str, invokable: Box<dyn Invokable>) -> CodeResult<Self> {
[INFO] [stderr]    |                              ^^ this lifetime flows to the output      ---------------- the lifetime gets resolved as `'a`
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub(crate) fn new(name: &'a str, invokable: Box<dyn Invokable>) -> CodeResult<'a, Self> {
[INFO] [stderr]    |                                                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: `cheats` (lib) generated 3 warnings
[INFO] [stderr] warning: `cheats` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cheats-b17ededeadc97580)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test io::tests::read ... ok
[INFO] [stdout] test parser::tests::lexer ... ok
[INFO] [stdout] test code::tests::code_new_success ... ok
[INFO] [stdout] test io::tests::write ... ok
[INFO] [stdout] test tests::filter_names ... ok
[INFO] [stdout] test tests::register::case_1 ... ok
[INFO] [stdout] test tests::register::case_2 ... ok
[INFO] [stdout] test tests::run_script_file ... ok
[INFO] [stdout] test tests::unregister::case_1 ... ok
[INFO] [stdout] test tests::run_out::case_2 ... ok
[INFO] [stdout] test tests::run_out::case_1 ... ok
[INFO] [stdout] test tests::register::case_3 ... ok
[INFO] [stdout] test tests::unregister::case_2 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests cheats
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test src/lib.rs - (line 161) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 127) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 111) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 140) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 31) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 52) ... ok
[INFO] [stdout] test src/lib.rs - (line 40) ... ok
[INFO] [stdout] test src/lib.rs - (line 95) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 153) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 190) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - (line 161) stdout ----
[INFO] [stdout] error: expected item, found keyword `let`
[INFO] [stdout]  --> src/lib.rs:166:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | let content: String = fs::read_to_string("path/to/file.script")
[INFO] [stdout]   | ^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `let` cannot be used for global variables
[INFO] [stdout]   | help: consider using `static` or `const` instead of `let`
[INFO] [stdout]   |
[INFO] [stdout]   = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 127) stdout ----
[INFO] [stdout] error: expected item, found keyword `let`
[INFO] [stdout]  --> src/lib.rs:130:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | let sv_codes: Vec<&str> = shell.filter_names("sv", true).collect();
[INFO] [stdout]   | ^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `let` cannot be used for global variables
[INFO] [stdout]   | help: consider using `static` or `const` instead of `let`
[INFO] [stdout]   |
[INFO] [stdout]   = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 111) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `shell` in this scope
[INFO] [stdout]  --> src/lib.rs:112:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | shell.unregister("cl_hello").expect("Could not unregister the code.");
[INFO] [stdout]   | ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 140) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `shell` in this scope
[INFO] [stdout]  --> src/lib.rs:141:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | let sv_codes: Vec<&str> = shell.filter_names("sv", true).collect();
[INFO] [stdout]   |                           ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 31) stdout ----
[INFO] [stdout] error: expected one of `!` or `::`, found `is`
[INFO] [stdout]  --> src/lib.rs:33:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | this is a comment as well
[INFO] [stdout]   |      ^^ expected one of `!` or `::`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 95) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `ClHello` in this scope
[INFO] [stdout]  --> src/lib.rs:98:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | let invokable = Box::new(ClHello);
[INFO] [stdout]   |                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `shell` in this scope
[INFO] [stdout]  --> src/lib.rs:99:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | shell.register("cl_hello", invokable).expect("Could not register the code.");
[INFO] [stdout]   | ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 153) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `shell` in this scope
[INFO] [stdout]  --> src/lib.rs:154:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | shell.run("cl_hello").expect("Could not run the code.");
[INFO] [stdout]   | ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `shell` in this scope
[INFO] [stdout]  --> src/lib.rs:155:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | shell.run("cl_hello Eray").expect("Could not run the code.");
[INFO] [stdout]   | ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 190) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `shell` in this scope
[INFO] [stdout]  --> src/lib.rs:193:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let ref mut stdout = shell.stdout; // take a reference to stdout
[INFO] [stdout]   |                          ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_iter` found for struct `String` in the current scope
[INFO] [stdout]   --> src/lib.rs:198:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     String::from_iter(stdout_bytes.into_iter().map(|b| b as char)) // map u8 bytes to char
[INFO] [stdout]    |             ^^^^^^^^^ function or associated item not found in `String`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `String` consider using one of the following associated functions:
[INFO] [stdout]       String::new
[INFO] [stdout]       String::with_capacity
[INFO] [stdout]       String::try_with_capacity
[INFO] [stdout]       String::from_utf8
[INFO] [stdout]       and 9 others
[INFO] [stdout]   --> /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/string.rs:444:5
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `FromIterator` which provides `from_iter` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout] 2  + use std::iter::FromIterator;
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from_str` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 10 -     String::from_iter(stdout_bytes.into_iter().map(|b| b as char)) // map u8 bytes to char
[INFO] [stdout] 10 +     String::from_str(stdout_bytes.into_iter().map(|b| b as char)) // map u8 bytes to char
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 111)
[INFO] [stdout]     src/lib.rs - (line 127)
[INFO] [stdout]     src/lib.rs - (line 140)
[INFO] [stdout]     src/lib.rs - (line 153)
[INFO] [stdout]     src/lib.rs - (line 161)
[INFO] [stdout]     src/lib.rs - (line 190)
[INFO] [stdout]     src/lib.rs - (line 31)
[INFO] [stdout]     src/lib.rs - (line 95)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 8 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "ec7defb12a210aff96379d56d5db268a0f9d7e923776b59c8704fbff69778bf3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec7defb12a210aff96379d56d5db268a0f9d7e923776b59c8704fbff69778bf3", kill_on_drop: false }`
[INFO] [stdout] ec7defb12a210aff96379d56d5db268a0f9d7e923776b59c8704fbff69778bf3
