[INFO] cloning repository https://github.com/esapyr/rusty-lisp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/esapyr/rusty-lisp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fesapyr%2Frusty-lisp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fesapyr%2Frusty-lisp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b69f6ac038b8702c1e4e0139dff378e7b6cd9b38 [INFO] checking esapyr/rusty-lisp against master#b2728d5426bab1d8c39709768c7e22b7f66dde5d for pr-135852 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fesapyr%2Frusty-lisp" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/esapyr/rusty-lisp on toolchain b2728d5426bab1d8c39709768c7e22b7f66dde5d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b2728d5426bab1d8c39709768c7e22b7f66dde5d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/esapyr/rusty-lisp [INFO] finished tweaking git repo https://github.com/esapyr/rusty-lisp [INFO] tweaked toml for git repo https://github.com/esapyr/rusty-lisp written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/esapyr/rusty-lisp 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" "+b2728d5426bab1d8c39709768c7e22b7f66dde5d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+b2728d5426bab1d8c39709768c7e22b7f66dde5d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2a417e35dd6b461946db2d4910b8bc84b1097f7a40f9498e36956b16c9bd1954 [INFO] running `Command { std: "docker" "start" "-a" "2a417e35dd6b461946db2d4910b8bc84b1097f7a40f9498e36956b16c9bd1954", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2a417e35dd6b461946db2d4910b8bc84b1097f7a40f9498e36956b16c9bd1954", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a417e35dd6b461946db2d4910b8bc84b1097f7a40f9498e36956b16c9bd1954", kill_on_drop: false }` [INFO] [stdout] 2a417e35dd6b461946db2d4910b8bc84b1097f7a40f9498e36956b16c9bd1954 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+b2728d5426bab1d8c39709768c7e22b7f66dde5d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0b1bd81ba9391e411ddf07de881bcabb01121b35ed26c2cc521f2524ecfa8a97 [INFO] running `Command { std: "docker" "start" "-a" "0b1bd81ba9391e411ddf07de881bcabb01121b35ed26c2cc521f2524ecfa8a97", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Checking rusty-lisp v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] error: `--crate-name` and `#[crate_name]` are required to match, but `rusty_lisp` != `rusty-lisp` [INFO] [stdout] --> src/main.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #![crate_name = "rusty-lisp"] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `--crate-name` and `#[crate_name]` are required to match, but `rusty_lisp` != `rusty-lisp` [INFO] [stdout] --> src/main.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #![crate_name = "rusty-lisp"] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `deriving` in this scope [INFO] [stdout] --> src/cons_cell.rs:27:3 [INFO] [stdout] | [INFO] [stdout] 27 | #[deriving (PartialEq, Show)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/cons_cell.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: invalid suffix `i` for number literal [INFO] [stdout] --> src/parser.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | let mut count = 0i; [INFO] [stdout] | ^^ invalid suffix `i` [INFO] [stdout] | [INFO] [stdout] = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `globs` has been stable since 1.0.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(globs)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `cons_cell::Pair` [INFO] [stdout] --> src/cons_cell.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | if *x == *y { [INFO] [stdout] | -- ^^ -- cons_cell::Pair [INFO] [stdout] | | [INFO] [stdout] | cons_cell::Pair [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `cons_cell::Pair` [INFO] [stdout] --> src/cons_cell.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | pub enum Pair { [INFO] [stdout] | ^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `cons_cell::Pair` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 28 + #[derive(PartialEq)] [INFO] [stdout] 29 | pub enum Pair { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `deriving` in this scope [INFO] [stdout] --> src/cons_cell.rs:27:3 [INFO] [stdout] | [INFO] [stdout] 27 | #[deriving (PartialEq, Show)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/cons_cell.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: invalid suffix `i` for number literal [INFO] [stdout] --> src/parser.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | let mut count = 0i; [INFO] [stdout] | ^^ invalid suffix `i` [INFO] [stdout] | [INFO] [stdout] = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `globs` has been stable since 1.0.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(globs)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/cons_cell.rs:92:32 [INFO] [stdout] | [INFO] [stdout] 92 | Pair::Atom(ref a) if a.as_slice() == "NIL" => Rc::new(Pair::Atom("NIL".to_string())), [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `cons_cell::Pair` [INFO] [stdout] --> src/cons_cell.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | if *x == *y { [INFO] [stdout] | -- ^^ -- cons_cell::Pair [INFO] [stdout] | | [INFO] [stdout] | cons_cell::Pair [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `cons_cell::Pair` [INFO] [stdout] --> src/cons_cell.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | pub enum Pair { [INFO] [stdout] | ^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `cons_cell::Pair` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 28 + #[derive(PartialEq)] [INFO] [stdout] 29 | pub enum Pair { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/cons_cell.rs:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | Pair::Atom(ref a) if a.as_slice() == "NIL" => Rc::new(Pair::Atom("NIL".to_string())), [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: a value of type `String` cannot be built from an iterator over elements of type `ToUppercase` [INFO] [stdout] --> src/parser.rs:10:59 [INFO] [stdout] | [INFO] [stdout] 10 | .chars().map(|c| c.to_uppercase()).collect::() [INFO] [stdout] | ------- ^^^^^^ value of type `String` cannot be built from `std::iter::Iterator` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromIterator` is not implemented for `String` [INFO] [stdout] = help: the following other types implement trait `FromIterator`: [INFO] [stdout] `String` implements `FromIterator<&char>` [INFO] [stdout] `String` implements `FromIterator<&str>` [INFO] [stdout] `String` implements `FromIterator>` [INFO] [stdout] `String` implements `FromIterator>` [INFO] [stdout] `String` implements `FromIterator` [INFO] [stdout] `String` implements `FromIterator` [INFO] [stdout] note: the method call chain might not have had the expected associated types [INFO] [stdout] --> src/parser.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 5 | raw_input.trim() [INFO] [stdout] | --------- this expression has type `String` [INFO] [stdout] ... [INFO] [stdout] 10 | .chars().map(|c| c.to_uppercase()).collect::() [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^ `Iterator::Item` changed to `ToUppercase` here [INFO] [stdout] | | [INFO] [stdout] | `Iterator::Item` is `char` here [INFO] [stdout] note: required by a bound in `collect` [INFO] [stdout] --> /rustc/b2728d5426bab1d8c39709768c7e22b7f66dde5d/library/core/src/iter/traits/iterator.rs:1967:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/cons_cell.rs:92:32 [INFO] [stdout] | [INFO] [stdout] 92 | Pair::Atom(ref a) if a.as_slice() == "NIL" => Rc::new(Pair::Atom("NIL".to_string())), [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/parser.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | if token.as_slice() == "(" { count += 1 } [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/cons_cell.rs:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | Pair::Atom(ref a) if a.as_slice() == "NIL" => Rc::new(Pair::Atom("NIL".to_string())), [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: a value of type `String` cannot be built from an iterator over elements of type `ToUppercase` [INFO] [stdout] --> src/parser.rs:10:59 [INFO] [stdout] | [INFO] [stdout] 10 | .chars().map(|c| c.to_uppercase()).collect::() [INFO] [stdout] | ------- ^^^^^^ value of type `String` cannot be built from `std::iter::Iterator` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromIterator` is not implemented for `String` [INFO] [stdout] = help: the following other types implement trait `FromIterator`: [INFO] [stdout] `String` implements `FromIterator<&char>` [INFO] [stdout] `String` implements `FromIterator<&str>` [INFO] [stdout] `String` implements `FromIterator>` [INFO] [stdout] `String` implements `FromIterator>` [INFO] [stdout] `String` implements `FromIterator` [INFO] [stdout] `String` implements `FromIterator` [INFO] [stdout] note: the method call chain might not have had the expected associated types [INFO] [stdout] --> src/parser.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 5 | raw_input.trim() [INFO] [stdout] | --------- this expression has type `String` [INFO] [stdout] ... [INFO] [stdout] 10 | .chars().map(|c| c.to_uppercase()).collect::() [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^ `Iterator::Item` changed to `ToUppercase` here [INFO] [stdout] | | [INFO] [stdout] | `Iterator::Item` is `char` here [INFO] [stdout] note: required by a bound in `collect` [INFO] [stdout] --> /rustc/b2728d5426bab1d8c39709768c7e22b7f66dde5d/library/core/src/iter/traits/iterator.rs:1967:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/parser.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | else if token.as_slice() == ")" { [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/parser.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | if token.as_slice() == "(" { count += 1 } [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `expect` found for struct `String` in the current scope [INFO] [stdout] --> src/parser.rs:55:46 [INFO] [stdout] | [INFO] [stdout] 55 | let token: String = tokens.remove(0).expect("Failed getting next token in parser"); [INFO] [stdout] | ^^^^^^ method not found in `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/parser.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | else if token.as_slice() == ")" { [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/parser.rs:67:45 [INFO] [stdout] | [INFO] [stdout] 67 | ... if (&tokens[0]).as_slice() == "(" || (&tokens[0]).as_slice() == "QUOTE" { [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/parser.rs:67:79 [INFO] [stdout] | [INFO] [stdout] 67 | ... if (&tokens[0]).as_slice() == "(" || (&tokens[0]).as_slice() == "QUOTE" { [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `expect` found for struct `String` in the current scope [INFO] [stdout] --> src/parser.rs:55:46 [INFO] [stdout] | [INFO] [stdout] 55 | let token: String = tokens.remove(0).expect("Failed getting next token in parser"); [INFO] [stdout] | ^^^^^^ method not found in `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `expect` found for struct `String` in the current scope [INFO] [stdout] --> src/parser.rs:70:93 [INFO] [stdout] | [INFO] [stdout] 70 | ... cons(cons(make_atom(token), cons(make_atom(tokens.remove(0).expect("")), make_atom("NIL"))), build_sexpr(tokens)) [INFO] [stdout] | ^^^^^^ method not found in `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/parser.rs:67:45 [INFO] [stdout] | [INFO] [stdout] 67 | ... if (&tokens[0]).as_slice() == "(" || (&tokens[0]).as_slice() == "QUOTE" { [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/parser.rs:67:79 [INFO] [stdout] | [INFO] [stdout] 67 | ... if (&tokens[0]).as_slice() == "(" || (&tokens[0]).as_slice() == "QUOTE" { [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `expect` found for struct `String` in the current scope [INFO] [stdout] --> src/parser.rs:70:93 [INFO] [stdout] | [INFO] [stdout] 70 | ... cons(cons(make_atom(token), cons(make_atom(tokens.remove(0).expect("")), make_atom("NIL"))), build_sexpr(tokens)) [INFO] [stdout] | ^^^^^^ method not found in `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/main.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | .read_line() [INFO] [stdout] | ^^^^^^^^^-- argument #1 of type `&mut String` is missing [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/b2728d5426bab1d8c39709768c7e22b7f66dde5d/library/std/src/io/stdio.rs:403:12 [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 34 | .read_line(/* &mut String */) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 31 | fn read() -> String { [INFO] [stdout] | ------ expected `String` because of return type [INFO] [stdout] 32 | print!(">"); [INFO] [stdout] 33 | / io::stdin() [INFO] [stdout] 34 | | .read_line() [INFO] [stdout] 35 | | .ok() [INFO] [stdout] 36 | | .expect("Couldn't read line") [INFO] [stdout] | | ^- help: try using a conversion method: `.to_string()` [INFO] [stdout] | |_____________________________________| [INFO] [stdout] | expected `String`, found `usize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/main.rs:47:36 [INFO] [stdout] | [INFO] [stdout] 47 | Pair::Atom(ref a) if a.as_slice() == "NIL" => { print!("NIL"); break }, [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/main.rs:54:30 [INFO] [stdout] | [INFO] [stdout] 54 | if a.as_slice() != "NIL" { [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/main.rs:62:30 [INFO] [stdout] | [INFO] [stdout] 62 | if n.as_slice() == "NIL" { [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/main.rs:197:32 [INFO] [stdout] | [INFO] [stdout] 197 | Pair::Atom(ref a) if a.as_slice() == "NIL" => true, [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/main.rs:206:46 [INFO] [stdout] | [INFO] [stdout] 206 | (_, &Pair::Atom(ref a)) if a.as_slice() != "NIL" => true, [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/main.rs:217:32 [INFO] [stdout] | [INFO] [stdout] 217 | Pair::Atom(ref a) if a.as_slice() == "NIL" => false, [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rusty-lisp` (bin "rusty-lisp") due to 13 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0369, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rusty-lisp` (bin "rusty-lisp" test) due to 21 previous errors; 2 warnings emitted [INFO] running `Command { std: "docker" "inspect" "0b1bd81ba9391e411ddf07de881bcabb01121b35ed26c2cc521f2524ecfa8a97", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b1bd81ba9391e411ddf07de881bcabb01121b35ed26c2cc521f2524ecfa8a97", kill_on_drop: false }` [INFO] [stdout] 0b1bd81ba9391e411ddf07de881bcabb01121b35ed26c2cc521f2524ecfa8a97