[INFO] cloning repository https://github.com/jack-t/contracts [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jack-t/contracts" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjack-t%2Fcontracts", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjack-t%2Fcontracts'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 04dad6684fe0f26bf352a77ed4b7c2fd1846c0ed [INFO] checking jack-t/contracts against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjack-t%2Fcontracts" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jack-t/contracts on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jack-t/contracts [INFO] finished tweaking git repo https://github.com/jack-t/contracts [INFO] tweaked toml for git repo https://github.com/jack-t/contracts written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/jack-t/contracts already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4586fb92f819f587e4882cf747fe4767150ed002ad0a3d8a58aa0bca04752d56 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "4586fb92f819f587e4882cf747fe4767150ed002ad0a3d8a58aa0bca04752d56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4586fb92f819f587e4882cf747fe4767150ed002ad0a3d8a58aa0bca04752d56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4586fb92f819f587e4882cf747fe4767150ed002ad0a3d8a58aa0bca04752d56", kill_on_drop: false }` [INFO] [stdout] 4586fb92f819f587e4882cf747fe4767150ed002ad0a3d8a58aa0bca04752d56 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0582dcb06f496c033107cd7bc676540bca2027812a2259838896bc040f6836c9 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "0582dcb06f496c033107cd7bc676540bca2027812a2259838896bc040f6836c9", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.45 [INFO] [stderr] Compiling memchr v2.1.2 [INFO] [stderr] Checking regex-syntax v0.6.4 [INFO] [stderr] Checking aho-corasick v0.6.9 [INFO] [stderr] Checking regex v1.1.0 [INFO] [stderr] Checking contracts v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `regex` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use regex; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lex/mod.rs:47:22 [INFO] [stdout] | [INFO] [stdout] 47 | type TokenProducer = Fn(&str) -> Option<(Token, usize)>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&str) -> Option<(Token, usize)>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/parse/tree.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parse/mod.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | if (is_bin_op(tokens.front())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parse/mod.rs:183:20 [INFO] [stdout] | [INFO] [stdout] 183 | if (expect_expr) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::result` [INFO] [stdout] --> src/run/types.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::result; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/run/types.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | constraints: Vec>, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Constraint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use regex; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lex/mod.rs:47:22 [INFO] [stdout] | [INFO] [stdout] 47 | type TokenProducer = Fn(&str) -> Option<(Token, usize)>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&str) -> Option<(Token, usize)>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/parse/tree.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parse/mod.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | if (is_bin_op(tokens.front())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/parse/mod.rs:183:20 [INFO] [stdout] | [INFO] [stdout] 183 | if (expect_expr) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::result` [INFO] [stdout] --> src/run/types.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::result; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/run/types.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | constraints: Vec>, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Constraint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/run/types.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | fn assign(t: Type) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Type` [INFO] [stdout] --> src/lex/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | Type, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Fn` [INFO] [stdout] --> src/lex/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | Fn, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Float` [INFO] [stdout] --> src/lex/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | Float, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Int` [INFO] [stdout] --> src/lex/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | Int, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Char` [INFO] [stdout] --> src/lex/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Char, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Array` [INFO] [stdout] --> src/lex/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | Array, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Struct` [INFO] [stdout] --> src/lex/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | Struct, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Contract` [INFO] [stdout] --> src/lex/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | Contract, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Return` [INFO] [stdout] --> src/lex/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | Return, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `While` [INFO] [stdout] --> src/lex/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | While, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `If` [INFO] [stdout] --> src/lex/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | If, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Else` [INFO] [stdout] --> src/lex/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | Else, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Id` [INFO] [stdout] --> src/lex/mod.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Id(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `FloatLiteral` [INFO] [stdout] --> src/lex/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | FloatLiteral(f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `IntLiteral` [INFO] [stdout] --> src/lex/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | IntLiteral(u64), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `StringLiteral` [INFO] [stdout] --> src/lex/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | StringLiteral(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `CharLiteral` [INFO] [stdout] --> src/lex/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | CharLiteral(char), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Plus` [INFO] [stdout] --> src/lex/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Minus` [INFO] [stdout] --> src/lex/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Star` [INFO] [stdout] --> src/lex/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Star, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Slash` [INFO] [stdout] --> src/lex/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Slash, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Percent` [INFO] [stdout] --> src/lex/mod.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | Percent, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Equality` [INFO] [stdout] --> src/lex/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | Equality, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Equals` [INFO] [stdout] --> src/lex/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | Equals, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Inequality` [INFO] [stdout] --> src/lex/mod.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | Inequality, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Less` [INFO] [stdout] --> src/lex/mod.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | Less, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LessOrEqual` [INFO] [stdout] --> src/lex/mod.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | LessOrEqual, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Greater` [INFO] [stdout] --> src/lex/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | Greater, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `GreaterOrEqual` [INFO] [stdout] --> src/lex/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | GreaterOrEqual, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LeftParen` [INFO] [stdout] --> src/lex/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | LeftParen, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RightParen` [INFO] [stdout] --> src/lex/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | RightParen, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Semicolon` [INFO] [stdout] --> src/lex/mod.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | Semicolon, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Comma` [INFO] [stdout] --> src/lex/mod.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | Comma, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Pipe` [INFO] [stdout] --> src/lex/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | Pipe, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LeftBracket` [INFO] [stdout] --> src/lex/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | LeftBracket, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RightBracket` [INFO] [stdout] --> src/lex/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | RightBracket, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LeftBrace` [INFO] [stdout] --> src/lex/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | LeftBrace, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RightBrace` [INFO] [stdout] --> src/lex/mod.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | RightBrace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `TokenProducer` [INFO] [stdout] --> src/lex/mod.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | type TokenProducer = Fn(&str) -> Option<(Token, usize)>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Lexer` [INFO] [stdout] --> src/lex/mod.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct Lexer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/lex/mod.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn new() -> Lexer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `lex` [INFO] [stdout] --> src/lex/mod.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn lex(&self, code: &str) -> VecDeque { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `tokenize` [INFO] [stdout] --> src/lex/mod.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | fn tokenize(&self, code: &str) -> Option<(Token, usize)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lex_exactly` [INFO] [stdout] --> src/lex/mod.rs:126:4 [INFO] [stdout] | [INFO] [stdout] 126 | fn lex_exactly(lit: &'static str, tok: Token) -> Box { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lex_id` [INFO] [stdout] --> src/lex/mod.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | fn lex_id(code: &str) -> Option<(Token, usize)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lex_int_lit` [INFO] [stdout] --> src/lex/mod.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn lex_int_lit(code: &str) -> Option<(Token, usize)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lex_float_lit` [INFO] [stdout] --> src/lex/mod.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn lex_float_lit(code: &str) -> Option<(Token, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lex_string_lit` [INFO] [stdout] --> src/lex/mod.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn lex_string_lit(code: &str) -> Option<(Token, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lex_char` [INFO] [stdout] --> src/lex/mod.rs:210:4 [INFO] [stdout] | [INFO] [stdout] 210 | fn lex_char(code: &str) -> Option<(Token, usize)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Assignment` [INFO] [stdout] --> src/parse/tree.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | / Assignment { [INFO] [stdout] 7 | | lvalue: Box, [INFO] [stdout] 8 | | rvalue: Box, [INFO] [stdout] 9 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Variable` [INFO] [stdout] --> src/parse/tree.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | / Variable { [INFO] [stdout] 11 | | name: String, [INFO] [stdout] 12 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Int` [INFO] [stdout] --> src/parse/tree.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | / Int { [INFO] [stdout] 14 | | value: u64, [INFO] [stdout] 15 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Str` [INFO] [stdout] --> src/parse/tree.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | / Str { [INFO] [stdout] 17 | | value: String, [INFO] [stdout] 18 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Dec` [INFO] [stdout] --> src/parse/tree.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | / Dec { [INFO] [stdout] 20 | | value: f64, [INFO] [stdout] 21 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Char` [INFO] [stdout] --> src/parse/tree.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / Char { [INFO] [stdout] 23 | | value: char, [INFO] [stdout] 24 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `FunctionCall` [INFO] [stdout] --> src/parse/tree.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | / FunctionCall { [INFO] [stdout] 26 | | func: String, [INFO] [stdout] 27 | | params: Vec>, [INFO] [stdout] 28 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Binary` [INFO] [stdout] --> src/parse/tree.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / Binary { [INFO] [stdout] 30 | | op: Token, [INFO] [stdout] 31 | | lhs: Box, [INFO] [stdout] 32 | | rhs: Box, [INFO] [stdout] 33 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Expression` [INFO] [stdout] --> src/parse/tree.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | / Expression { [INFO] [stdout] 39 | | expression: Box, [INFO] [stdout] 40 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Conditional` [INFO] [stdout] --> src/parse/tree.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | / Conditional { [INFO] [stdout] 42 | | condition: Box, [INFO] [stdout] 43 | | true_statement: Box, [INFO] [stdout] 44 | | false_statement: Option>, [INFO] [stdout] 45 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Block` [INFO] [stdout] --> src/parse/tree.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | / Block { [INFO] [stdout] 47 | | code: Vec, [INFO] [stdout] 48 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `FuncDecl` [INFO] [stdout] --> src/parse/tree.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | / FuncDecl { [INFO] [stdout] 50 | | name: String, [INFO] [stdout] 51 | | params: Vec, [INFO] [stdout] 52 | | block: Box, [INFO] [stdout] 53 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NoOp` [INFO] [stdout] --> src/parse/tree.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | NoOp, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse` [INFO] [stdout] --> src/parse/mod.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn parse(mut tokens: VecDeque) -> Statement { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_statement` [INFO] [stdout] --> src/parse/mod.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn parse_statement(tokens: &mut VecDeque) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_statement_expr` [INFO] [stdout] --> src/parse/mod.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn parse_statement_expr(tokens: &mut VecDeque) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_block` [INFO] [stdout] --> src/parse/mod.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn parse_block(tokens: &mut VecDeque) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_series` [INFO] [stdout] --> src/parse/mod.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn parse_series(tokens: &mut VecDeque) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_fn_decl` [INFO] [stdout] --> src/parse/mod.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn parse_fn_decl(tokens: &mut VecDeque) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_if` [INFO] [stdout] --> src/parse/mod.rs:102:4 [INFO] [stdout] | [INFO] [stdout] 102 | fn parse_if(tokens: &mut VecDeque) -> Statement { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_expression` [INFO] [stdout] --> src/parse/mod.rs:127:4 [INFO] [stdout] | [INFO] [stdout] 127 | fn parse_expression(tokens: &mut VecDeque) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_assignment` [INFO] [stdout] --> src/parse/mod.rs:137:4 [INFO] [stdout] | [INFO] [stdout] 137 | fn parse_assignment(tokens: &mut VecDeque) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_rvalue` [INFO] [stdout] --> src/parse/mod.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn parse_rvalue(tokens: &mut VecDeque) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_id_expr` [INFO] [stdout] --> src/parse/mod.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn parse_id_expr(name: String, tokens: &mut VecDeque) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `build_var_ref` [INFO] [stdout] --> src/parse/mod.rs:214:4 [INFO] [stdout] | [INFO] [stdout] 214 | fn build_var_ref(tok: Token) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_bin_op` [INFO] [stdout] --> src/parse/mod.rs:221:4 [INFO] [stdout] | [INFO] [stdout] 221 | fn is_bin_op(tok: Option<&Token>) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `next_tok_is` [INFO] [stdout] --> src/parse/mod.rs:232:4 [INFO] [stdout] | [INFO] [stdout] 232 | fn next_tok_is(tokens: &mut VecDeque, tok: Token) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Value` [INFO] [stdout] --> src/run/types.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | enum Value { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Type` [INFO] [stdout] --> src/run/types.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `assign` [INFO] [stdout] --> src/run/types.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | fn assign(t: Type) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `TypeError` [INFO] [stdout] --> src/run/types.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | struct TypeError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Result` [INFO] [stdout] --> src/run/types.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | type Result = std::result::Result; // have to fully spec name to avoid circular reference [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 89 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/run/types.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | fn assign(t: Type) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [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/parse/mod.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 262 | let mut toks = VecDeque::from(vec![ [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: variable does not need to be mutable [INFO] [stdout] --> src/parse/mod.rs:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | let mut toks = VecDeque::from(vec![]); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse/mod.rs:491:13 [INFO] [stdout] | [INFO] [stdout] 491 | let mut toks = VecDeque::from(vec![Token::Semicolon]); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse/mod.rs:609:13 [INFO] [stdout] | [INFO] [stdout] 609 | let mut toks = VecDeque::from(vec![ [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse/mod.rs:633:13 [INFO] [stdout] | [INFO] [stdout] 633 | let mut toks = VecDeque::from(vec![ [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Str` [INFO] [stdout] --> src/parse/tree.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | / Str { [INFO] [stdout] 17 | | value: String, [INFO] [stdout] 18 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Dec` [INFO] [stdout] --> src/parse/tree.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | / Dec { [INFO] [stdout] 20 | | value: f64, [INFO] [stdout] 21 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Char` [INFO] [stdout] --> src/parse/tree.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / Char { [INFO] [stdout] 23 | | value: char, [INFO] [stdout] 24 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Value` [INFO] [stdout] --> src/run/types.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | enum Value { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Type` [INFO] [stdout] --> src/run/types.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `assign` [INFO] [stdout] --> src/run/types.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | fn assign(t: Type) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `TypeError` [INFO] [stdout] --> src/run/types.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | struct TypeError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Result` [INFO] [stdout] --> src/run/types.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | type Result = std::result::Result; // have to fully spec name to avoid circular reference [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 8.24s [INFO] running `Command { std: "docker" "inspect" "0582dcb06f496c033107cd7bc676540bca2027812a2259838896bc040f6836c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0582dcb06f496c033107cd7bc676540bca2027812a2259838896bc040f6836c9", kill_on_drop: false }` [INFO] [stdout] 0582dcb06f496c033107cd7bc676540bca2027812a2259838896bc040f6836c9