[INFO] cloning repository https://github.com/JoshFried/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JoshFried/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshFried%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshFried%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3e3f10f13ace825c1ece3b461c40bafaca4ce433 [INFO] testing JoshFried/rlox against 1.97.0-beta.6 for beta-1.98-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoshFried%2Frlox" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/JoshFried/rlox [INFO] finished tweaking git repo https://github.com/JoshFried/rlox [INFO] tweaked toml for git repo https://github.com/JoshFried/rlox written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/JoshFried/rlox on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/JoshFried/rlox 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded proc-macro2 v1.0.50 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55 [INFO] running `Command { std: "docker" "start" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.50 [INFO] [stderr] Compiling quote v1.0.23 [INFO] [stderr] Compiling unicode-ident v1.0.6 [INFO] [stderr] Compiling syn v1.0.107 [INFO] [stderr] Compiling thiserror v1.0.38 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling thiserror-impl v1.0.38 [INFO] [stderr] Compiling rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/parser/parser.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::format; [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: `std::str` [INFO] [stdout] --> src/scanner/mod.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Parse` [INFO] [stdout] --> src/scanner/scanner.rs:2:32 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::errors::ErrorType::{Parse, Scanner as ScannerError}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error` is never used [INFO] [stdout] --> src/main.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn error(line: usize, message: &str) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `report` is never used [INFO] [stdout] --> src/main.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn report(line: usize, where_err: &str, message: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Interpreter` and `Token` are never constructed [INFO] [stdout] --> src/errors.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum ErrorType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | Interpreter(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | #[error("Token error")] [INFO] [stdout] 15 | Token(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrorType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/expr.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Expr<'expr> { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 6 | Assign(Assign<'expr>), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | Binary(Binary<'expr>), [INFO] [stdout] 8 | Call(Call<'expr>), [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | Get(Get<'expr>), [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | Set(Set<'expr>), [INFO] [stdout] | ^^^ [INFO] [stdout] 13 | Super(Super<'expr>), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | This(This<'expr>), [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | Unary(Unary<'expr>), [INFO] [stdout] 16 | Variable(Variable<'expr>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `parenthesis` is never read [INFO] [stdout] --> src/expr.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct Call<'expr> { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 34 | pub callee: Box>, [INFO] [stdout] 35 | pub parenthesis: Token<'expr>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Call` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Logical` is never constructed [INFO] [stdout] --> src/expr.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct Logical<'expr> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `keyword` is never read [INFO] [stdout] --> src/expr.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct Super<'expr> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 71 | pub keyword: Token<'expr>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Super` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `keyword` is never read [INFO] [stdout] --> src/expr.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct This<'expr> { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 77 | pub keyword: Token<'expr>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `This` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `synchronize` is never used [INFO] [stdout] --> src/parser/parser.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 38 | impl<'parser> Parser<'parser> { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 244 | fn synchronize(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `indent_size` is never read [INFO] [stdout] --> src/scanner/pretty_printer.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct PrettyPrinter { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 5 | inner: String, [INFO] [stdout] 6 | indent_size: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Bool` is never constructed [INFO] [stdout] --> src/scanner/token_type.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 262 | pub enum Keyword { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 283 | Bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Keyword` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:46:23 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn expression(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 46 | pub fn expression(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | fn equality(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 50 | fn equality(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | fn comparison(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 66 | fn comparison(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | fn term(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 83 | fn term(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | fn factor(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 99 | fn factor(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/parser/parser.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | self.advance(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 119 | let _ = self.advance(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:128:14 [INFO] [stdout] | [INFO] [stdout] 128 | fn unary(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 128 | fn unary(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | fn primary(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 149 | fn primary(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:195:16 [INFO] [stdout] | [INFO] [stdout] 195 | fn advance(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 195 | fn advance(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | fn peek(&self) -> Token { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 216 | fn peek(&self) -> Token<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner/scanner.rs:29:24 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn scan_tokens(&mut self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 29 | pub fn scan_tokens(&mut self) -> &Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.08s [INFO] running `Command { std: "docker" "inspect" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/parser/parser.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::format; [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: `std::str` [INFO] [stdout] --> src/scanner/mod.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Parse` [INFO] [stdout] --> src/scanner/scanner.rs:2:32 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::errors::ErrorType::{Parse, Scanner as ScannerError}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error` is never used [INFO] [stdout] --> src/main.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn error(line: usize, message: &str) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `report` is never used [INFO] [stdout] --> src/main.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn report(line: usize, where_err: &str, message: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Interpreter` and `Token` are never constructed [INFO] [stdout] --> src/errors.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum ErrorType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | Interpreter(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | #[error("Token error")] [INFO] [stdout] 15 | Token(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrorType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/expr.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Expr<'expr> { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 6 | Assign(Assign<'expr>), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | Binary(Binary<'expr>), [INFO] [stdout] 8 | Call(Call<'expr>), [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | Get(Get<'expr>), [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | Set(Set<'expr>), [INFO] [stdout] | ^^^ [INFO] [stdout] 13 | Super(Super<'expr>), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | This(This<'expr>), [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | Unary(Unary<'expr>), [INFO] [stdout] 16 | Variable(Variable<'expr>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `parenthesis` is never read [INFO] [stdout] --> src/expr.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct Call<'expr> { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 34 | pub callee: Box>, [INFO] [stdout] 35 | pub parenthesis: Token<'expr>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Call` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Logical` is never constructed [INFO] [stdout] --> src/expr.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct Logical<'expr> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `keyword` is never read [INFO] [stdout] --> src/expr.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct Super<'expr> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 71 | pub keyword: Token<'expr>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Super` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `keyword` is never read [INFO] [stdout] --> src/expr.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct This<'expr> { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 77 | pub keyword: Token<'expr>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `This` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `synchronize` is never used [INFO] [stdout] --> src/parser/parser.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 38 | impl<'parser> Parser<'parser> { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 244 | fn synchronize(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `indent_size` is never read [INFO] [stdout] --> src/scanner/pretty_printer.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct PrettyPrinter { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 5 | inner: String, [INFO] [stdout] 6 | indent_size: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Bool` is never constructed [INFO] [stdout] --> src/scanner/token_type.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 262 | pub enum Keyword { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 283 | Bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Keyword` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:46:23 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn expression(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 46 | pub fn expression(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | fn equality(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 50 | fn equality(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | fn comparison(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 66 | fn comparison(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | fn term(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 83 | fn term(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | fn factor(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 99 | fn factor(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/parser/parser.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | self.advance(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 119 | let _ = self.advance(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:128:14 [INFO] [stdout] | [INFO] [stdout] 128 | fn unary(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 128 | fn unary(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | fn primary(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 149 | fn primary(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:195:16 [INFO] [stdout] | [INFO] [stdout] 195 | fn advance(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 195 | fn advance(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parser/parser.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | fn peek(&self) -> Token { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 216 | fn peek(&self) -> Token<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner/scanner.rs:29:24 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn scan_tokens(&mut self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 29 | pub fn scan_tokens(&mut self) -> &Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s [INFO] running `Command { std: "docker" "inspect" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::fmt::format` [INFO] [stderr] --> src/parser/parser.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt::format; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/scanner/mod.rs:2:9 [INFO] [stderr] | [INFO] [stderr] 2 | pub use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Parse` [INFO] [stderr] --> src/scanner/scanner.rs:2:32 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::errors::ErrorType::{Parse, Scanner as ScannerError}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `error` is never used [INFO] [stderr] --> src/main.rs:113:4 [INFO] [stderr] | [INFO] [stderr] 113 | fn error(line: usize, message: &str) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `report` is never used [INFO] [stderr] --> src/main.rs:117:4 [INFO] [stderr] | [INFO] [stderr] 117 | fn report(line: usize, where_err: &str, message: &str) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Interpreter` and `Token` are never constructed [INFO] [stderr] --> src/errors.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub enum ErrorType { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 13 | Interpreter(String), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 14 | #[error("Token error")] [INFO] [stderr] 15 | Token(String), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ErrorType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/expr.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub enum Expr<'expr> { [INFO] [stderr] | ---- variants in this enum [INFO] [stderr] 6 | Assign(Assign<'expr>), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 7 | Binary(Binary<'expr>), [INFO] [stderr] 8 | Call(Call<'expr>), [INFO] [stderr] | ^^^^ [INFO] [stderr] 9 | Get(Get<'expr>), [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 12 | Set(Set<'expr>), [INFO] [stderr] | ^^^ [INFO] [stderr] 13 | Super(Super<'expr>), [INFO] [stderr] | ^^^^^ [INFO] [stderr] 14 | This(This<'expr>), [INFO] [stderr] | ^^^^ [INFO] [stderr] 15 | Unary(Unary<'expr>), [INFO] [stderr] 16 | Variable(Variable<'expr>), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Expr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `parenthesis` is never read [INFO] [stderr] --> src/expr.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 33 | pub struct Call<'expr> { [INFO] [stderr] | ---- field in this struct [INFO] [stderr] 34 | pub callee: Box>, [INFO] [stderr] 35 | pub parenthesis: Token<'expr>, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Call` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `Logical` is never constructed [INFO] [stderr] --> src/expr.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 56 | pub struct Logical<'expr> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `keyword` is never read [INFO] [stderr] --> src/expr.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 70 | pub struct Super<'expr> { [INFO] [stderr] | ----- field in this struct [INFO] [stderr] 71 | pub keyword: Token<'expr>, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Super` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `keyword` is never read [INFO] [stderr] --> src/expr.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 76 | pub struct This<'expr> { [INFO] [stderr] | ---- field in this struct [INFO] [stderr] 77 | pub keyword: Token<'expr>, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `This` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `synchronize` is never used [INFO] [stderr] --> src/parser/parser.rs:244:8 [INFO] [stderr] | [INFO] [stderr] 38 | impl<'parser> Parser<'parser> { [INFO] [stderr] | ----------------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 244 | fn synchronize(&self) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `indent_size` is never read [INFO] [stderr] --> src/scanner/pretty_printer.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct PrettyPrinter { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 5 | inner: String, [INFO] [stderr] 6 | indent_size: usize, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `Bool` is never constructed [INFO] [stderr] --> src/scanner/token_type.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 262 | pub enum Keyword { [INFO] [stderr] | ------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 283 | Bool, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Keyword` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser/parser.rs:46:23 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn expression(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 46 | pub fn expression(&self) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser/parser.rs:50:17 [INFO] [stderr] | [INFO] [stderr] 50 | fn equality(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 50 | fn equality(&self) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser/parser.rs:66:19 [INFO] [stderr] | [INFO] [stderr] 66 | fn comparison(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] running 0 tests [INFO] [stderr] 66 | fn comparison(&self) -> Result> { [INFO] [stdout] [INFO] [stderr] | ++++ [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser/parser.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | fn term(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 83 | fn term(&self) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser/parser.rs:99:15 [INFO] [stderr] | [INFO] [stderr] 99 | fn factor(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 99 | fn factor(&self) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/parser/parser.rs:119:17 [INFO] [stderr] | [INFO] [stderr] 119 | self.advance(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 119 | let _ = self.advance(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser/parser.rs:128:14 [INFO] [stderr] | [INFO] [stderr] 128 | fn unary(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 128 | fn unary(&self) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser/parser.rs:149:16 [INFO] [stderr] | [INFO] [stderr] 149 | fn primary(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 149 | fn primary(&self) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser/parser.rs:195:16 [INFO] [stderr] | [INFO] [stderr] 195 | fn advance(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 195 | fn advance(&self) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/parser/parser.rs:216:13 [INFO] [stderr] | [INFO] [stderr] 216 | fn peek(&self) -> Token { [INFO] [stderr] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 216 | fn peek(&self) -> Token<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/scanner/scanner.rs:29:24 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn scan_tokens(&mut self) -> &Vec { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] | | | | [INFO] [stderr] | | | the same lifetime is hidden here [INFO] [stderr] | | the same lifetime is elided here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 29 | pub fn scan_tokens(&mut self) -> &Vec> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `rlox` (bin "rlox" test) generated 25 warnings (run `cargo fix --bin "rlox" -p rlox --tests` to apply 13 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rlox-c68cd7b21f954956) [INFO] running `Command { std: "docker" "inspect" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55", kill_on_drop: false }` [INFO] [stdout] c2ffa5c01238391efea9ac990f24bff61143be4b76ee104a7186b8efcaa5ff55