[INFO] cloning repository https://github.com/g33kidd/Hut [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/g33kidd/Hut" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg33kidd%2FHut", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg33kidd%2FHut'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 157d0e892cd6e058e34dba16d4a700b82f232804 [INFO] testing g33kidd/Hut against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg33kidd%2FHut" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/g33kidd/Hut on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/g33kidd/Hut [INFO] finished tweaking git repo https://github.com/g33kidd/Hut [INFO] tweaked toml for git repo https://github.com/g33kidd/Hut written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/g33kidd/Hut already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1d5964ed27d6c670d87e241475bc067ea708366fbcd0a99bf736caf0a4b6dd80 [INFO] running `Command { std: "docker" "start" "-a" "1d5964ed27d6c670d87e241475bc067ea708366fbcd0a99bf736caf0a4b6dd80", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1d5964ed27d6c670d87e241475bc067ea708366fbcd0a99bf736caf0a4b6dd80", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d5964ed27d6c670d87e241475bc067ea708366fbcd0a99bf736caf0a4b6dd80", kill_on_drop: false }` [INFO] [stdout] 1d5964ed27d6c670d87e241475bc067ea708366fbcd0a99bf736caf0a4b6dd80 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 67a78714b522d115142ad0fe5daf34488ff4f54c756a747bde547d082f701d5f [INFO] running `Command { std: "docker" "start" "-a" "67a78714b522d115142ad0fe5daf34488ff4f54c756a747bde547d082f701d5f", kill_on_drop: false }` [INFO] [stderr] Compiling Hut v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] error[E0463]: can't find crate for `regex` [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate regex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `std::io::File` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::File; [INFO] [stdout] | ^^^^^^^^^^^^^ no `File` in `io` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Show` in this scope [INFO] [stdout] --> src/abs.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Show, Clone)] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Show` in this scope [INFO] [stdout] --> src/abs.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Show, Clone)] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Show` in this scope [INFO] [stdout] --> src/abs.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Show, Clone)] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Show` in this scope [INFO] [stdout] --> src/parser.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Show)] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Show` in this scope [INFO] [stdout] --> src/eval.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Show)] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Regex` [INFO] [stdout] --> src/parser.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | let regex = Regex::new(regex_string.as_slice()).unwrap(); [INFO] [stdout] | ^^^^^ use of undeclared type `Regex` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/abs.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | LitInt(int), [INFO] [stdout] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | not found in this scope [INFO] [stdout] | help: perhaps you intended to use this type: `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Regex` in this scope [INFO] [stdout] --> src/parser.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | regex: Regex, [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Captures` in this scope [INFO] [stdout] --> src/parser.rs:82:27 [INFO] [stdout] | [INFO] [stdout] 82 | fn vardef(&self, cap: Captures) -> Stm { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Captures` in this scope [INFO] [stdout] --> src/parser.rs:88:27 [INFO] [stdout] | [INFO] [stdout] 88 | fn assign(&self, cap: Captures) -> Stm { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Captures` in this scope [INFO] [stdout] --> src/parser.rs:113:23 [INFO] [stdout] | [INFO] [stdout] 113 | fn id(&self, cap: Captures) -> Expr { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Captures` in this scope [INFO] [stdout] --> src/parser.rs:118:27 [INFO] [stdout] | [INFO] [stdout] 118 | fn litint(&self, cap: Captures) -> Expr { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Captures` in this scope [INFO] [stdout] --> src/parser.rs:123:24 [INFO] [stdout] | [INFO] [stdout] 123 | fn neg(&self, cap: Captures) -> Expr { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Captures` in this scope [INFO] [stdout] --> src/parser.rs:128:25 [INFO] [stdout] | [INFO] [stdout] 128 | fn plus(&self, cap: Captures) -> Expr { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Captures` in this scope [INFO] [stdout] --> src/parser.rs:134:26 [INFO] [stdout] | [INFO] [stdout] 134 | fn minus(&self, cap: Captures) -> Expr { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Captures` in this scope [INFO] [stdout] --> src/parser.rs:140:27 [INFO] [stdout] | [INFO] [stdout] 140 | fn divide(&self, cap: Captures) -> Expr { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Captures` in this scope [INFO] [stdout] --> src/parser.rs:146:29 [INFO] [stdout] | [INFO] [stdout] 146 | fn multiply(&self, cap: Captures) -> Expr { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/eval.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | struct Env(HashMap); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: perhaps you intended to use this type [INFO] [stdout] | [INFO] [stdout] 9 | struct Env(HashMap); [INFO] [stdout] | ~~~ [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 9 | struct Env(HashMap); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/eval.rs:17:42 [INFO] [stdout] | [INFO] [stdout] 17 | fn add(&mut self, id: String, value: int) { [INFO] [stdout] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | not found in this scope [INFO] [stdout] | help: perhaps you intended to use this type: `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/eval.rs:22:40 [INFO] [stdout] | [INFO] [stdout] 22 | fn lookup(&mut self, id:String) -> int { [INFO] [stdout] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | not found in this scope [INFO] [stdout] | help: perhaps you intended to use this type: `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/eval.rs:54:39 [INFO] [stdout] | [INFO] [stdout] 54 | fn eval(&mut self, expr: Expr) -> int { [INFO] [stdout] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | not found in this scope [INFO] [stdout] | help: perhaps you intended to use this type: `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `args` in module `std::os` [INFO] [stdout] --> src/main.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | let args = std::os::args(); [INFO] [stdout] | ^^^^ not found in `std::os` [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 3 | use std::env::args; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Path` [INFO] [stdout] --> src/main.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | let path = Path::new(&args[1]); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 3 | use std::path::Path; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/parser.rs:125:20 [INFO] [stdout] | [INFO] [stdout] 125 | return Neg(box e); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/parser.rs:131:21 [INFO] [stdout] | [INFO] [stdout] 131 | return Plus(box e1, box e2); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/parser.rs:131:29 [INFO] [stdout] | [INFO] [stdout] 131 | return Plus(box e1, box e2); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/parser.rs:137:22 [INFO] [stdout] | [INFO] [stdout] 137 | return Minus(box e1, box e2); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/parser.rs:137:30 [INFO] [stdout] | [INFO] [stdout] 137 | return Minus(box e1, box e2); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/parser.rs:143:23 [INFO] [stdout] | [INFO] [stdout] 143 | return Divide(box e1, box e2); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/parser.rs:143:31 [INFO] [stdout] | [INFO] [stdout] 143 | return Divide(box e1, box e2); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/parser.rs:149:25 [INFO] [stdout] | [INFO] [stdout] 149 | return Multiply(box e1, box e2); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead [INFO] [stdout] --> src/parser.rs:149:33 [INFO] [stdout] | [INFO] [stdout] 149 | return Multiply(box e1, box e2); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #49733 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box pattern syntax is experimental [INFO] [stdout] --> src/eval.rs:58:17 [INFO] [stdout] | [INFO] [stdout] 58 | Neg(box e) => - self.eval(e), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #29641 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box pattern syntax is experimental [INFO] [stdout] --> src/eval.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | Plus(box e1, box e2) => self.eval(e1) + self.eval(e2), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #29641 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box pattern syntax is experimental [INFO] [stdout] --> src/eval.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | Plus(box e1, box e2) => self.eval(e1) + self.eval(e2), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #29641 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box pattern syntax is experimental [INFO] [stdout] --> src/eval.rs:60:19 [INFO] [stdout] | [INFO] [stdout] 60 | Minus(box e1, box e2) => self.eval(e1) - self.eval(e2), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #29641 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box pattern syntax is experimental [INFO] [stdout] --> src/eval.rs:60:27 [INFO] [stdout] | [INFO] [stdout] 60 | Minus(box e1, box e2) => self.eval(e1) - self.eval(e2), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #29641 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box pattern syntax is experimental [INFO] [stdout] --> src/eval.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | Divide(box e1, box e2) => self.eval(e1) / self.eval(e2), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #29641 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box pattern syntax is experimental [INFO] [stdout] --> src/eval.rs:61:28 [INFO] [stdout] | [INFO] [stdout] 61 | Divide(box e1, box e2) => self.eval(e1) / self.eval(e2), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #29641 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box pattern syntax is experimental [INFO] [stdout] --> src/eval.rs:62:22 [INFO] [stdout] | [INFO] [stdout] 62 | Multiply(box e1, box e2) => self.eval(e1) * self.eval(e2), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #29641 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: box pattern syntax is experimental [INFO] [stdout] --> src/eval.rs:62:30 [INFO] [stdout] | [INFO] [stdout] 62 | Multiply(box e1, box e2) => self.eval(e1) * self.eval(e2), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #29641 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope [INFO] [stdout] --> src/parser.rs:53:49 [INFO] [stdout] | [INFO] [stdout] 53 | let regex = Regex::new(regex_string.as_slice()).unwrap(); [INFO] [stdout] | ^^^^^^^^ method not found in `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | rules.push(ParseRule {name: String::from_str(name), regex: regex}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected struct `String`, found enum `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `String` [INFO] [stdout] found enum `Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope [INFO] [stdout] --> src/parser.rs:72:40 [INFO] [stdout] | [INFO] [stdout] 72 | return match rule.name.as_slice() { [INFO] [stdout] | ^^^^^^^^ method not found in `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope [INFO] [stdout] --> src/parser.rs:98:40 [INFO] [stdout] | [INFO] [stdout] 98 | return match rule.name.as_slice() { [INFO] [stdout] | ^^^^^^^^ method not found in `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Env` doesn't implement `std::fmt::Display` [INFO] [stdout] --> src/eval.rs:40:38 [INFO] [stdout] | [INFO] [stdout] 40 | println!("Environment:\n{}", self.env); [INFO] [stdout] | ^^^^^^^^ `Env` cannot be formatted with the default formatter [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Display` is not implemented for `Env` [INFO] [stdout] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Stm` doesn't implement `std::fmt::Display` [INFO] [stdout] --> src/eval.rs:50:52 [INFO] [stdout] | [INFO] [stdout] 50 | _ => panic!("Unknown stm: {} in exec", stm) [INFO] [stdout] | ^^^ `Stm` cannot be formatted with the default formatter [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Display` is not implemented for `Stm` [INFO] [stdout] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stdout] = note: this error originates in the macro `$crate::const_format_args` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Vec` doesn't implement `std::fmt::Display` [INFO] [stdout] --> src/main.rs:28:31 [INFO] [stdout] | [INFO] [stdout] 28 | println!("Parsed:\n{}\n", stms); [INFO] [stdout] | ^^^^ `Vec` cannot be formatted with the default formatter [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Display` is not implemented for `Vec` [INFO] [stdout] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&'a String` in the current scope [INFO] [stdout] --> src/main.rs:41:19 [INFO] [stdout] | [INFO] [stdout] 41 | for line in s.as_slice().lines_any() { [INFO] [stdout] | ^^^^^^^^ method not found in `&'a String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 51 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0412, E0425, E0432, E0433, E0463, E0599, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `Hut` due to 52 previous errors [INFO] running `Command { std: "docker" "inspect" "67a78714b522d115142ad0fe5daf34488ff4f54c756a747bde547d082f701d5f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "67a78714b522d115142ad0fe5daf34488ff4f54c756a747bde547d082f701d5f", kill_on_drop: false }` [INFO] [stdout] 67a78714b522d115142ad0fe5daf34488ff4f54c756a747bde547d082f701d5f