[INFO] cloning repository https://github.com/valikminak/lox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/valikminak/lox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvalikminak%2Flox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvalikminak%2Flox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c0f6439ffb0c9559cf4b9c39a22471f0ee55323c [INFO] checking valikminak/lox against try#3fada14ee01d755dc8076e611f11bf65b28ffd21 for pr-154971 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvalikminak%2Flox" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/valikminak/lox [INFO] finished tweaking git repo https://github.com/valikminak/lox [INFO] tweaked toml for git repo https://github.com/valikminak/lox written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/valikminak/lox on toolchain 3fada14ee01d755dc8076e611f11bf65b28ffd21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/valikminak/lox 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" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking valikminak/lox against try#3fada14ee01d755dc8076e611f11bf65b28ffd21 for pr-154971 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvalikminak%2Flox" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/valikminak/lox [INFO] finished tweaking git repo https://github.com/valikminak/lox [INFO] tweaked toml for git repo https://github.com/valikminak/lox written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/valikminak/lox on toolchain 3fada14ee01d755dc8076e611f11bf65b28ffd21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/valikminak/lox 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" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f7a37bedf896b70e0cbd32b903aade4521bdd44278ac95ec3602273ed626fddd [INFO] running `Command { std: "docker" "start" "-a" "f7a37bedf896b70e0cbd32b903aade4521bdd44278ac95ec3602273ed626fddd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f7a37bedf896b70e0cbd32b903aade4521bdd44278ac95ec3602273ed626fddd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f7a37bedf896b70e0cbd32b903aade4521bdd44278ac95ec3602273ed626fddd", kill_on_drop: false }` [INFO] [stdout] f7a37bedf896b70e0cbd32b903aade4521bdd44278ac95ec3602273ed626fddd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] be6480eb9e6ad828e5a65a222532531c71e9efd4dab1c4dac5665c372514512a [INFO] running `Command { std: "docker" "start" "-a" "be6480eb9e6ad828e5a65a222532531c71e9efd4dab1c4dac5665c372514512a", kill_on_drop: false }` [INFO] [stderr] Checking lox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Operator::*` [INFO] [stdout] --> src/evaluate.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | use Operator::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tokenize::ScanError` [INFO] [stdout] --> src/main.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | use crate::tokenize::ScanError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Operator::*` [INFO] [stdout] --> src/evaluate.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | use Operator::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/evaluate.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/parser.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tokenize::ScanError` [INFO] [stdout] --> src/main.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | use crate::tokenize::ScanError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/evaluate.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let mut environ = Environment::new(None); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/evaluate.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let mut environ = Environment::new(None); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ch` [INFO] [stdout] --> src/tokenize2.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | let (n, ch) = chars.next()?; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenize2.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | let mut line = 1; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | Error::Tokenize(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interp` [INFO] [stdout] --> src/main.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | fn run_interp(interp: &mut evaluate::Interpreter, source: reader::Source) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_interp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/main.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | let tokens = tokenize2::tokenize(source); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Output` is never used [INFO] [stdout] --> src/evaluate.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub type Output = (); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `top_level` is never read [INFO] [stdout] --> src/evaluate.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct Interpreter { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 47 | top_level: Rc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `evaluate` is never used [INFO] [stdout] --> src/evaluate.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Interpreter { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn evaluate(&mut self, ast: AST) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate` is never used [INFO] [stdout] --> src/evaluate.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn evaluate(ast: AST) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_statements` is never used [INFO] [stdout] --> src/evaluate.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn execute_statements(statements: &Vec, environ: &Rc) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_statement` is never used [INFO] [stdout] --> src/evaluate.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn execute_statement(stmt: &Stmt, environ: &Rc) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate_expression` is never used [INFO] [stdout] --> src/evaluate.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn evaluate_expression(expr: &Expr, environ: &Rc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/parser.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/parser.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 41 | pub fn new(tokens: Tokens) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn accept(&mut self, toktype: TokenType) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn accepts(&mut self, toktypes: [TokenType; N]) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn consume(&mut self, toktype: TokenType, msg: &str) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn syntax_error(&self, msg: &str) -> Error { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | fn last_token(&self) -> &Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn last_lexeme(&self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn parse_top(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn parse_statements(&mut self) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | fn parse_var_declaration(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn parse_declaration(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn parse_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn parse_print_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | fn parse_expression_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn parse_expression(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn parse_assignment(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn parse_binary(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn parse_unary(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn parse_primary(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/parser.rs:224:8 [INFO] [stdout] | [INFO] [stdout] 224 | pub fn parse(tokens: Tokens) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/reader.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl Source { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 6 | pub fn from(s: impl Into) -> Source { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tokens` is never constructed [INFO] [stdout] --> src/tokenize.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct Tokens { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnexpectedCharacter` and `UnterminatedString` are never constructed [INFO] [stdout] --> src/tokenize.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub enum ScanError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 93 | UnexpectedCharacter { line: usize, ch: char }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 94 | UnterminatedString { line: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScanError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tokenize.rs:97:19 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct Error (Vec); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/tokenize.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | struct Scanner { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tokenize.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 115 | fn new(source: &str) -> Scanner { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn error(&mut self, err: ScanError) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | fn is_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn scan_tokens(mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn advance(&mut self) -> char { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | fn matches(&mut self, expected: char) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | fn lexeme(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | fn add_token(&mut self, toktype: TokenType) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn peek(&self) -> char { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | fn add_token_with_literal(&mut self, toktype: TokenType, literal: Literal) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn scan_token(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | fn string(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | fn number(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | fn identifier(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tokenize` is never used [INFO] [stdout] --> src/tokenize.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | pub fn tokenize(source: Source) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AST` is never constructed [INFO] [stdout] --> src/ast.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct AST { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EString`, `EBool`, `ENil`, `EVariable`, and `EAssign` are never constructed [INFO] [stdout] --> src/ast.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 54 | EString {value: String}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 55 | EBool {value: bool}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 56 | ENil, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | EVariable {name: String}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 62 | EAssign {name: String, value: Box} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `string`, `bool`, `nil`, `variable`, and `assign` are never used [INFO] [stdout] --> src/ast.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl Expr { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn string(value: impl Into) -> Expr { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn bool(value: bool) -> Expr { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn nil() -> Expr { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn variable(name: impl Into) -> Expr { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn assign(name: impl Into, value: Expr) -> Expr { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Stmt` is never used [INFO] [stdout] --> src/ast.rs:108:10 [INFO] [stdout] | [INFO] [stdout] 108 | pub enum Stmt { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `print`, `expression`, and `vardecl` are never used [INFO] [stdout] --> src/ast.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl Stmt { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 117 | pub fn print(expr: Expr) -> Stmt { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn expression(expr: Expr) -> Stmt { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn vardecl(name: impl Into, initializer: Option) -> Stmt { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parent` and `vars` are never read [INFO] [stdout] --> src/environ.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Environment { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 6 | parent: Option>>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | vars: RefCell>, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `declare`, `lookup`, and `assign` are never used [INFO] [stdout] --> src/environ.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Environment { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn declare(&self, name: &str, value: V) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn lookup(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn assign(&self, name: &str, value: V) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/tokenize2.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | TSlash, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | TAnd, [INFO] [stdout] | ^^^^ [INFO] [stdout] 38 | TClass, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 39 | TElse, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 40 | TFalse, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 41 | TFun, [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | TFor, [INFO] [stdout] | ^^^^ [INFO] [stdout] 43 | TIf, [INFO] [stdout] | ^^^ [INFO] [stdout] 44 | TNil, [INFO] [stdout] | ^^^^ [INFO] [stdout] 45 | TOr, [INFO] [stdout] | ^^^ [INFO] [stdout] 46 | TPrint, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 47 | TReturn, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 48 | TSuper, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 49 | TThis, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 50 | TTrue, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | TVar, [INFO] [stdout] | ^^^^ [INFO] [stdout] 52 | TWhile, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tokens` is never read [INFO] [stdout] --> src/tokenize2.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct Tokens { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 79 | pub tokens: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Tokens` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnexpectedCharacter` and `UnterminatedString` are never constructed [INFO] [stdout] --> src/tokenize2.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub enum ScanError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 84 | UnexpectedCharacter { line: usize, ch: char }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | UnterminatedString { line: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScanError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tokenize2.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct Error(Vec); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> src/tokenize2.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 92 | impl Error { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 93 | pub fn iter(&self) -> std::slice::Iter<'_, ScanError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ch` [INFO] [stdout] --> src/tokenize2.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | let (n, ch) = chars.next()?; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenize2.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | let mut line = 1; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | Error::Tokenize(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interp` [INFO] [stdout] --> src/main.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | fn run_interp(interp: &mut evaluate::Interpreter, source: reader::Source) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_interp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/main.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | let tokens = tokenize2::tokenize(source); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Output` is never used [INFO] [stdout] --> src/evaluate.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub type Output = (); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `top_level` is never read [INFO] [stdout] --> src/evaluate.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct Interpreter { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 47 | top_level: Rc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `evaluate` is never used [INFO] [stdout] --> src/evaluate.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Interpreter { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn evaluate(&mut self, ast: AST) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate` is never used [INFO] [stdout] --> src/evaluate.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn evaluate(ast: AST) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_statements` is never used [INFO] [stdout] --> src/evaluate.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn execute_statements(statements: &Vec, environ: &Rc) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_statement` is never used [INFO] [stdout] --> src/evaluate.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn execute_statement(stmt: &Stmt, environ: &Rc) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate_expression` is never used [INFO] [stdout] --> src/evaluate.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn evaluate_expression(expr: &Expr, environ: &Rc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/parser.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 40 | impl Parser { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | fn parse_top(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn parse_statements(&mut self) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | fn parse_var_declaration(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn parse_declaration(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn parse_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn parse_print_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | fn parse_expression_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/parser.rs:224:8 [INFO] [stdout] | [INFO] [stdout] 224 | pub fn parse(tokens: Tokens) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_string` is never used [INFO] [stdout] --> src/reader.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | fn parse_string(s: &str) -> AST { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line` and `ch` are never read [INFO] [stdout] --> src/tokenize.rs:93:27 [INFO] [stdout] | [INFO] [stdout] 93 | UnexpectedCharacter { line: usize, ch: char }, [INFO] [stdout] | ------------------- ^^^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ScanError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnterminatedString` is never constructed [INFO] [stdout] --> src/tokenize.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub enum ScanError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 93 | UnexpectedCharacter { line: usize, ch: char }, [INFO] [stdout] 94 | UnterminatedString { line: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScanError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tokenize.rs:97:19 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct Error (Vec); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `error` is never used [INFO] [stdout] --> src/tokenize.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl Scanner { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | fn error(&mut self, err: ScanError) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AST` is never constructed [INFO] [stdout] --> src/ast.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct AST { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Stmt` is never used [INFO] [stdout] --> src/ast.rs:108:10 [INFO] [stdout] | [INFO] [stdout] 108 | pub enum Stmt { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `print`, `expression`, and `vardecl` are never used [INFO] [stdout] --> src/ast.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl Stmt { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 117 | pub fn print(expr: Expr) -> Stmt { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn expression(expr: Expr) -> Stmt { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn vardecl(name: impl Into, initializer: Option) -> Stmt { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parent` and `vars` are never read [INFO] [stdout] --> src/environ.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Environment { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 6 | parent: Option>>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | vars: RefCell>, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `declare`, `lookup`, and `assign` are never used [INFO] [stdout] --> src/environ.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Environment { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn declare(&self, name: &str, value: V) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn lookup(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn assign(&self, name: &str, value: V) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TSlash` is never constructed [INFO] [stdout] --> src/tokenize2.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum TokenType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | TSlash, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnexpectedCharacter` and `UnterminatedString` are never constructed [INFO] [stdout] --> src/tokenize2.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub enum ScanError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 84 | UnexpectedCharacter { line: usize, ch: char }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | UnterminatedString { line: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScanError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tokenize2.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct Error(Vec); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> src/tokenize2.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 92 | impl Error { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 93 | pub fn iter(&self) -> std::slice::Iter<'_, ScanError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.16s [INFO] running `Command { std: "docker" "inspect" "be6480eb9e6ad828e5a65a222532531c71e9efd4dab1c4dac5665c372514512a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be6480eb9e6ad828e5a65a222532531c71e9efd4dab1c4dac5665c372514512a", kill_on_drop: false }` [INFO] [stdout] be6480eb9e6ad828e5a65a222532531c71e9efd4dab1c4dac5665c372514512a