[INFO] cloning repository https://github.com/1uf3/cdecl
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/1uf3/cdecl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1uf3%2Fcdecl", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1uf3%2Fcdecl'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 621841d4c35f9a7769da5dfa1803e9a614a1adac
[INFO] checking 1uf3/cdecl against master#36b21637e93b038453924d3c66821089e71d8baa for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1uf3%2Fcdecl" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/1uf3/cdecl
[INFO] finished tweaking git repo https://github.com/1uf3/cdecl
[INFO] tweaked toml for git repo https://github.com/1uf3/cdecl written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/1uf3/cdecl on toolchain 36b21637e93b038453924d3c66821089e71d8baa
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/1uf3/cdecl 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" "+36b21637e93b038453924d3c66821089e71d8baa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ef655ee95307f58fe2884766b7c684c8f67768ad3b084dcb24b3c6fb3ce97d5f
[INFO] running `Command { std: "docker" "start" "-a" "ef655ee95307f58fe2884766b7c684c8f67768ad3b084dcb24b3c6fb3ce97d5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ef655ee95307f58fe2884766b7c684c8f67768ad3b084dcb24b3c6fb3ce97d5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef655ee95307f58fe2884766b7c684c8f67768ad3b084dcb24b3c6fb3ce97d5f", kill_on_drop: false }`
[INFO] [stdout] ef655ee95307f58fe2884766b7c684c8f67768ad3b084dcb24b3c6fb3ce97d5f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 851aac39bf349ea2fea38e54960adb088f056621efeaa82e8f9c48dc0361f06f
[INFO] running `Command { std: "docker" "start" "-a" "851aac39bf349ea2fea38e54960adb088f056621efeaa82e8f9c48dc0361f06f", kill_on_drop: false }`
[INFO] [stderr]     Checking cdecl v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/tokenizer.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |             TokenKind::Number(s) => {
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tokenizer.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut size: i64 = i64::MAX;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TokenKind` is never used
[INFO] [stdout]  --> src/lexer.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum TokenKind {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lexer` is never constructed
[INFO] [stdout]   --> src/lexer.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Lexer<'a> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LexerError` is never constructed
[INFO] [stdout]   --> src/lexer.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct LexerError {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lexer.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl LexerError {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 25 |     fn new(msg: &str) -> LexerError {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `tokenize`, `next_return_token`, `next_token`, `parse_number_token`, and `parse_string_token` are never used
[INFO] [stdout]   --> src/lexer.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a> Lexer<'a> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 33 |     pub fn new(input: &str) -> Lexer {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn tokenize(&mut self) -> Result<Vec<TokenKind>, LexerError> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn next_return_token(&mut self, token: TokenKind) -> Option<TokenKind> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn next_token(&mut self) -> Result<Option<TokenKind>, LexerError> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn parse_number_token(&mut self) -> Result<Option<TokenKind>, LexerError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn parse_string_token(&mut self) -> Result<Option<TokenKind>, LexerError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/tokenizer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParserError` is never constructed
[INFO] [stdout]   --> src/tokenizer.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ParserError {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tokenizer.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl ParserError {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 24 |     pub fn new(msg: &str) -> ParserError {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/tokenizer.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Parser {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tokenizer.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout] 35  | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 36  |     pub fn new(kinds: Vec<TokenKind>) -> Parser {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40  |     fn parse_array(&mut self) -> Result<Token, ParserError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72  |     fn parse_function(&mut self) -> Result<Token, ParserError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn parse(&mut self) -> Result<Vec<Token>, ParserError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     fn peek(&self) -> Option<&TokenKind> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn peek_expect(&self) -> Result<&TokenKind, ParserError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     fn next(&mut self) -> Option<&TokenKind> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn next_expect(&mut self) -> Result<&TokenKind, ParserError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_string` is never used
[INFO] [stdout]    --> src/tokenizer.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 | fn classify_string(s: &str) -> Token {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/lexer.rs:33:23
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn new(input: &str) -> Lexer {
[INFO] [stdout]    |                       ^^^^     ----- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn new(input: &str) -> Lexer<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/tokenizer.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |             TokenKind::Number(s) => {
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tokenizer.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut size: i64 = i64::MAX;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `msg` is never read
[INFO] [stdout]   --> src/lexer.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct LexerError {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 21 |     pub msg: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LexerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `msg` is never read
[INFO] [stdout]   --> src/tokenizer.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ParserError {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 20 |     pub msg: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/lexer.rs:33:23
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn new(input: &str) -> Lexer {
[INFO] [stdout]    |                       ^^^^     ----- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn new(input: &str) -> Lexer<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] running `Command { std: "docker" "inspect" "851aac39bf349ea2fea38e54960adb088f056621efeaa82e8f9c48dc0361f06f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "851aac39bf349ea2fea38e54960adb088f056621efeaa82e8f9c48dc0361f06f", kill_on_drop: false }`
[INFO] [stdout] 851aac39bf349ea2fea38e54960adb088f056621efeaa82e8f9c48dc0361f06f
