[INFO] cloning repository https://github.com/faldez/rust-lox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/faldez/rust-lox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaldez%2Frust-lox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaldez%2Frust-lox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 78513892843a6d31fcb8225a7bcb2803e6f8ae77 [INFO] checking faldez/rust-lox against try#3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f for pr-87248 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaldez%2Frust-lox" "/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/faldez/rust-lox on toolchain 3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/faldez/rust-lox [INFO] finished tweaking git repo https://github.com/faldez/rust-lox [INFO] tweaked toml for git repo https://github.com/faldez/rust-lox written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/faldez/rust-lox already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: lib.src [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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8c4083d0ed69613648fdebbe680eecfaba748a259257d28dba330935cd216e5f [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "8c4083d0ed69613648fdebbe680eecfaba748a259257d28dba330935cd216e5f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8c4083d0ed69613648fdebbe680eecfaba748a259257d28dba330935cd216e5f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8c4083d0ed69613648fdebbe680eecfaba748a259257d28dba330935cd216e5f", kill_on_drop: false }` [INFO] [stdout] 8c4083d0ed69613648fdebbe680eecfaba748a259257d28dba330935cd216e5f [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=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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f19ea0b45cae1a8f04c56b7f2e3856c92fdb32a89218d9893de8407b570288df [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "f19ea0b45cae1a8f04c56b7f2e3856c92fdb32a89218d9893de8407b570288df", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: lib.src [INFO] [stderr] Compiling libc v0.2.95 [INFO] [stderr] Compiling proc-macro2 v1.0.27 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Compiling phf_shared v0.9.0 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling syn v1.0.73 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Compiling phf_generator v0.9.0 [INFO] [stderr] Checking pretty_env_logger v0.4.0 [INFO] [stderr] Compiling phf_macros v0.9.0 [INFO] [stderr] Checking phf v0.9.0 [INFO] [stderr] Checking rust-lox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find value `c` in this scope [INFO] [stdout] --> src/scanner.rs:130:34 [INFO] [stdout] | [INFO] [stdout] 130 | if self.is_digit(c) { [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `c` in this scope [INFO] [stdout] --> src/scanner.rs:132:41 [INFO] [stdout] | [INFO] [stdout] 132 | } else if self.is_alpha(c) { [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `c` in this scope [INFO] [stdout] --> src/scanner.rs:130:34 [INFO] [stdout] | [INFO] [stdout] 130 | if self.is_digit(c) { [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `c` in this scope [INFO] [stdout] --> src/scanner.rs:132:41 [INFO] [stdout] | [INFO] [stdout] 132 | } else if self.is_alpha(c) { [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `start` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | self.start = self.current; [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:50:31 [INFO] [stdout] | [INFO] [stdout] 50 | self.start = self.current; [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `tokens` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | self.tokens [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 2 arguments but 4 arguments were supplied [INFO] [stdout] --> src/scanner.rs:55:19 [INFO] [stdout] | [INFO] [stdout] 55 | .push(Token::new(TokenType::Eof, "".to_string(), None, self.line)); [INFO] [stdout] | ^^^^^^^^^^ -------------- -------------- ---- --------- supplied 4 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 2 arguments [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/token.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] 87 | token_type: TokenType, [INFO] [stdout] | --------------------- [INFO] [stdout] 88 | lexeme: String, [INFO] [stdout] | -------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `tokens` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:56:14 [INFO] [stdout] | [INFO] [stdout] 56 | self.tokens.clone() [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/scanner.rs:121:83 [INFO] [stdout] | [INFO] [stdout] 121 | Token::new_with_literal(TokenType::Comment, "//".to_string(), s) [INFO] [stdout] | ^ expected enum `Option`, found struct `String` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found struct `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/scanner.rs:126:34 [INFO] [stdout] | [INFO] [stdout] 126 | ' ' | '\r' | '\t' => {} [INFO] [stdout] | ^^ expected struct `Token`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/scanner.rs:130:37 [INFO] [stdout] | [INFO] [stdout] 130 | if self.is_digit(c) { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 131 | | self.number(); [INFO] [stdout] 132 | | } else if self.is_alpha(c) { [INFO] [stdout] | |_________________^ expected struct `Token`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/scanner.rs:132:44 [INFO] [stdout] | [INFO] [stdout] 132 | } else if self.is_alpha(c) { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 133 | | self.identifier(); [INFO] [stdout] 134 | | } else { [INFO] [stdout] | |_________________^ expected struct `Token`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/scanner.rs:134:24 [INFO] [stdout] | [INFO] [stdout] 134 | } else { [INFO] [stdout] | ________________________^ [INFO] [stdout] 135 | | // TODO: Log error [INFO] [stdout] 136 | | } [INFO] [stdout] | |_________________^ expected struct `Token`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `source` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:146:27 [INFO] [stdout] | [INFO] [stdout] 146 | let value = &self.source[self.start..self.current]; [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `start` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:146:39 [INFO] [stdout] | [INFO] [stdout] 146 | let value = &self.source[self.start..self.current]; [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:146:51 [INFO] [stdout] | [INFO] [stdout] 146 | let value = &self.source[self.start..self.current]; [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `source` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:168:26 [INFO] [stdout] | [INFO] [stdout] 168 | let value = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `start` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:168:38 [INFO] [stdout] | [INFO] [stdout] 168 | let value = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:168:50 [INFO] [stdout] | [INFO] [stdout] 168 | let value = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `source` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:190:26 [INFO] [stdout] | [INFO] [stdout] 190 | let value = self.source[self.start + 1..self.current + 1].to_string(); [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `start` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:190:38 [INFO] [stdout] | [INFO] [stdout] 190 | let value = self.source[self.start + 1..self.current + 1].to_string(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:190:54 [INFO] [stdout] | [INFO] [stdout] 190 | let value = self.source[self.start + 1..self.current + 1].to_string(); [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `source` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:239:22 [INFO] [stdout] | [INFO] [stdout] 239 | let c = self.source.chars().nth(self.current).unwrap(); [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:239:46 [INFO] [stdout] | [INFO] [stdout] 239 | let c = self.source.chars().nth(self.current).unwrap(); [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:240:14 [INFO] [stdout] | [INFO] [stdout] 240 | self.current += 1; [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `source` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:249:25 [INFO] [stdout] | [INFO] [stdout] 249 | let text = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `start` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:249:37 [INFO] [stdout] | [INFO] [stdout] 249 | let text = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:249:49 [INFO] [stdout] | [INFO] [stdout] 249 | let text = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `tokens` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:250:14 [INFO] [stdout] | [INFO] [stdout] 250 | self.tokens [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 2 arguments but 4 arguments were supplied [INFO] [stdout] --> src/scanner.rs:251:19 [INFO] [stdout] | [INFO] [stdout] 251 | .push(Token::new(token_type, text, literal, self.line)); [INFO] [stdout] | ^^^^^^^^^^ ---------- ---- ------- --------- supplied 4 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 2 arguments [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/token.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] 87 | token_type: TokenType, [INFO] [stdout] | --------------------- [INFO] [stdout] 88 | lexeme: String, [INFO] [stdout] | -------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `start` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | self.start = self.current; [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:50:31 [INFO] [stdout] | [INFO] [stdout] 50 | self.start = self.current; [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `tokens` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | self.tokens [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 2 arguments but 4 arguments were supplied [INFO] [stdout] --> src/scanner.rs:55:19 [INFO] [stdout] | [INFO] [stdout] 55 | .push(Token::new(TokenType::Eof, "".to_string(), None, self.line)); [INFO] [stdout] | ^^^^^^^^^^ -------------- -------------- ---- --------- supplied 4 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 2 arguments [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/token.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] 87 | token_type: TokenType, [INFO] [stdout] | --------------------- [INFO] [stdout] 88 | lexeme: String, [INFO] [stdout] | -------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `tokens` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:56:14 [INFO] [stdout] | [INFO] [stdout] 56 | self.tokens.clone() [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 29 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0425, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rust-lox` due to 30 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/scanner.rs:121:83 [INFO] [stdout] | [INFO] [stdout] 121 | Token::new_with_literal(TokenType::Comment, "//".to_string(), s) [INFO] [stdout] | ^ expected enum `Option`, found struct `String` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found struct `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/scanner.rs:126:34 [INFO] [stdout] | [INFO] [stdout] 126 | ' ' | '\r' | '\t' => {} [INFO] [stdout] | ^^ expected struct `Token`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/scanner.rs:130:37 [INFO] [stdout] | [INFO] [stdout] 130 | if self.is_digit(c) { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 131 | | self.number(); [INFO] [stdout] 132 | | } else if self.is_alpha(c) { [INFO] [stdout] | |_________________^ expected struct `Token`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/scanner.rs:132:44 [INFO] [stdout] | [INFO] [stdout] 132 | } else if self.is_alpha(c) { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 133 | | self.identifier(); [INFO] [stdout] 134 | | } else { [INFO] [stdout] | |_________________^ expected struct `Token`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/scanner.rs:134:24 [INFO] [stdout] | [INFO] [stdout] 134 | } else { [INFO] [stdout] | ________________________^ [INFO] [stdout] 135 | | // TODO: Log error [INFO] [stdout] 136 | | } [INFO] [stdout] | |_________________^ expected struct `Token`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `source` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:146:27 [INFO] [stdout] | [INFO] [stdout] 146 | let value = &self.source[self.start..self.current]; [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `start` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:146:39 [INFO] [stdout] | [INFO] [stdout] 146 | let value = &self.source[self.start..self.current]; [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:146:51 [INFO] [stdout] | [INFO] [stdout] 146 | let value = &self.source[self.start..self.current]; [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `source` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:168:26 [INFO] [stdout] | [INFO] [stdout] 168 | let value = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `start` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:168:38 [INFO] [stdout] | [INFO] [stdout] 168 | let value = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:168:50 [INFO] [stdout] | [INFO] [stdout] 168 | let value = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `source` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:190:26 [INFO] [stdout] | [INFO] [stdout] 190 | let value = self.source[self.start + 1..self.current + 1].to_string(); [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `start` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:190:38 [INFO] [stdout] | [INFO] [stdout] 190 | let value = self.source[self.start + 1..self.current + 1].to_string(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:190:54 [INFO] [stdout] | [INFO] [stdout] 190 | let value = self.source[self.start + 1..self.current + 1].to_string(); [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `source` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:239:22 [INFO] [stdout] | [INFO] [stdout] 239 | let c = self.source.chars().nth(self.current).unwrap(); [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:239:46 [INFO] [stdout] | [INFO] [stdout] 239 | let c = self.source.chars().nth(self.current).unwrap(); [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:240:14 [INFO] [stdout] | [INFO] [stdout] 240 | self.current += 1; [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `source` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:249:25 [INFO] [stdout] | [INFO] [stdout] 249 | let text = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `start` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:249:37 [INFO] [stdout] | [INFO] [stdout] 249 | let text = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:249:49 [INFO] [stdout] | [INFO] [stdout] 249 | let text = self.source[self.start..self.current].to_string(); [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `tokens` on type `&mut Scanner<'a>` [INFO] [stdout] --> src/scanner.rs:250:14 [INFO] [stdout] | [INFO] [stdout] 250 | self.tokens [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `iter`, `ch`, `line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 2 arguments but 4 arguments were supplied [INFO] [stdout] --> src/scanner.rs:251:19 [INFO] [stdout] | [INFO] [stdout] 251 | .push(Token::new(token_type, text, literal, self.line)); [INFO] [stdout] | ^^^^^^^^^^ ---------- ---- ------- --------- supplied 4 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 2 arguments [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/token.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] 87 | token_type: TokenType, [INFO] [stdout] | --------------------- [INFO] [stdout] 88 | lexeme: String, [INFO] [stdout] | -------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 29 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0425, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "f19ea0b45cae1a8f04c56b7f2e3856c92fdb32a89218d9893de8407b570288df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f19ea0b45cae1a8f04c56b7f2e3856c92fdb32a89218d9893de8407b570288df", kill_on_drop: false }` [INFO] [stdout] f19ea0b45cae1a8f04c56b7f2e3856c92fdb32a89218d9893de8407b570288df