[INFO] cloning repository https://github.com/KHN190/Starling
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KHN190/Starling" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKHN190%2FStarling", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKHN190%2FStarling'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 053b4dddeee4000a940dea7c98ae9a5bb194123e
[INFO] checking KHN190/Starling against try#163937523761cc0def32f1ba9ed63fdf65ad3478 for pr-156749
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKHN190%2FStarling" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/KHN190/Starling
[INFO] finished tweaking git repo https://github.com/KHN190/Starling
[INFO] tweaked toml for git repo https://github.com/KHN190/Starling written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KHN190/Starling on toolchain 163937523761cc0def32f1ba9ed63fdf65ad3478
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KHN190/Starling 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" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "fetch" "--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-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e8ed69e05247d8bdd2daed8a7d6cf737b95f33821c66a250a4980dda15ce55a2
[INFO] running `Command { std: "docker" "start" "e8ed69e05247d8bdd2daed8a7d6cf737b95f33821c66a250a4980dda15ce55a2", 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" "e8ed69e05247d8bdd2daed8a7d6cf737b95f33821c66a250a4980dda15ce55a2" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e8ed69e05247d8bdd2daed8a7d6cf737b95f33821c66a250a4980dda15ce55a2", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e8ed69e05247d8bdd2daed8a7d6cf737b95f33821c66a250a4980dda15ce55a2" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking starling v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> src/compile.rs:256:27
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn print_error(&self, line: usize, label: &str, format: &str) {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]    --> src/compile.rs:256:40
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn print_error(&self, line: usize, label: &str, format: &str) {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/compile.rs:256:53
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn print_error(&self, line: usize, label: &str, format: &str) {
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/compile.rs:301:26
[INFO] [stdout]     |
[INFO] [stdout] 301 |     fn make_token(&self, ty: TokenType) {
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/compile.rs:307:30
[INFO] [stdout]     |
[INFO] [stdout] 307 |     fn two_char_token(&self, c: char, two: Token, one: Token) {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `two`
[INFO] [stdout]    --> src/compile.rs:307:39
[INFO] [stdout]     |
[INFO] [stdout] 307 |     fn two_char_token(&self, c: char, two: Token, one: Token) {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `one`
[INFO] [stdout]    --> src/compile.rs:307:51
[INFO] [stdout]     |
[INFO] [stdout] 307 |     fn two_char_token(&self, c: char, two: Token, one: Token) {
[INFO] [stdout]     |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_hex`
[INFO] [stdout]    --> src/compile.rs:367:27
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn make_number(&self, is_hex: bool) {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_hex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `token_ty` is assigned to, but never used
[INFO] [stdout]    --> src/compile.rs:422:13
[INFO] [stdout]     |
[INFO] [stdout] 422 |         let mut token_ty = ty.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_token_ty` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `token_ty` is never read
[INFO] [stdout]    --> src/compile.rs:426:17
[INFO] [stdout]     |
[INFO] [stdout] 426 |                 token_ty = &kw.token_type;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `digits`
[INFO] [stdout]    --> src/compile.rs:440:31
[INFO] [stdout]     |
[INFO] [stdout] 440 |     fn read_hex_escape(&self, digits: i32, description: &str) {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_digits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `description`
[INFO] [stdout]    --> src/compile.rs:440:44
[INFO] [stdout]     |
[INFO] [stdout] 440 |     fn read_hex_escape(&self, digits: i32, description: &str) {
[INFO] [stdout]     |                                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte_buffer`
[INFO] [stdout]    --> src/compile.rs:445:35
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn read_unicode_escape(&self, byte_buffer: &[i32], length: usize) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_byte_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]    --> src/compile.rs:445:56
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn read_unicode_escape(&self, byte_buffer: &[i32], length: usize) {
[INFO] [stdout]     |                                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compile.rs:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let mut ty = TokenType::STRING;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/compile.rs:533:13
[INFO] [stdout]     |
[INFO] [stdout] 533 |             count -= offset;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/compile.rs:531:13
[INFO] [stdout]     |
[INFO] [stdout] 531 |             count = 0;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_DEBUG_GC_STRESS` is never used
[INFO] [stdout]  --> src/common.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) const WREN_DEBUG_GC_STRESS: i32 = 0;
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_DEBUG_TRACE_MEMORY` is never used
[INFO] [stdout]   --> src/common.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) const WREN_DEBUG_TRACE_MEMORY: i32 = 0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_DEBUG_TRACE_GC` is never used
[INFO] [stdout]   --> src/common.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(crate) const WREN_DEBUG_TRACE_GC: i32 = 0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_DEBUG_DUMP_COMPILED_CODE` is never used
[INFO] [stdout]   --> src/common.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) const WREN_DEBUG_DUMP_COMPILED_CODE: i32 = 0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_DEBUG_TRACE_INSTRUCTIONS` is never used
[INFO] [stdout]   --> src/common.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) const WREN_DEBUG_TRACE_INSTRUCTIONS: i32 = 0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MODULE_VARS` is never used
[INFO] [stdout]   --> src/common.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) const MAX_MODULE_VARS: i32 = 65536;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PARAMETERS` is never used
[INFO] [stdout]   --> src/common.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) const MAX_PARAMETERS: i32 = 16;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_METHOD_NAME` is never used
[INFO] [stdout]   --> src/common.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) const MAX_METHOD_NAME: i32 = 64;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_METHOD_SIGNATURE` is never used
[INFO] [stdout]   --> src/common.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) const MAX_METHOD_SIGNATURE: i32 = MAX_METHOD_NAME + (MAX_PARAMETERS * 2) + 6;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_VARIABLE_NAME` is never used
[INFO] [stdout]   --> src/common.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) const MAX_VARIABLE_NAME: i32 = 64;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FIELDS` is never used
[INFO] [stdout]   --> src/common.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) const MAX_FIELDS: i32 = 255;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LOCALS` is never used
[INFO] [stdout]   --> src/compile.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) const MAX_LOCALS: usize = 256;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_UPVALUES` is never used
[INFO] [stdout]   --> src/compile.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const MAX_UPVALUES: usize = 256;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_CONSTANTS` is never used
[INFO] [stdout]   --> src/compile.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) const MAX_CONSTANTS: i32 = 1 << 16;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_JUMP` is never used
[INFO] [stdout]   --> src/compile.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) const MAX_JUMP: i32 = 1 << 16;
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_INTERPOLATION_NESTING` is never used
[INFO] [stdout]   --> src/compile.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) const MAX_INTERPOLATION_NESTING: usize = 8;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ERROR_MESSAGE_SIZE` is never used
[INFO] [stdout]   --> src/compile.rs:42:18
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) const ERROR_MESSAGE_SIZE: i32 = 80 + MAX_VARIABLE_NAME + 15;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier` and `token_type` are never read
[INFO] [stdout]    --> src/compile.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct Keyword {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 133 |     identifier: &'static str,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 134 |     token_type: TokenType,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/compile.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl Keyword {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 138 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]    --> src/compile.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | struct Token {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]    --> src/compile.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | struct Parser {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_name` is never used
[INFO] [stdout]    --> src/compile.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn is_name(c: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_digit` is never used
[INFO] [stdout]    --> src/compile.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn is_digit(c: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/compile.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 256 |     fn print_error(&self, line: usize, label: &str, format: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     fn lex_error(&self, format: &str) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn read_token_str(&self, length: usize) -> &str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn peek_char(&self) -> char {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     fn peek_next_char(&self) -> char {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     fn next_char(&mut self) -> char {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     fn match_char(&mut self, c: char) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     fn make_token(&self, ty: TokenType) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn two_char_token(&self, c: char, two: Token, one: Token) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     fn skip_line_comment(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     fn skip_block_comment(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     fn read_hex_digit(&mut self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     fn make_number(&self, is_hex: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     fn read_hex_number(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     fn read_number(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     fn read_name(&mut self, ty: &TokenType, first_char: char) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     fn read_hex_escape(&self, digits: i32, description: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 445 |     fn read_unicode_escape(&self, byte_buffer: &[i32], length: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     fn read_raw_string(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ObjModule` is never constructed
[INFO] [stdout]  --> src/value.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct ObjModule {
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ObjMap` is never constructed
[INFO] [stdout]   --> src/value.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct ObjMap {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ObjFn` is never constructed
[INFO] [stdout]   --> src/value.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) struct ObjFn {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ObjString` is never constructed
[INFO] [stdout]   --> src/value.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) struct ObjString {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_VERSION_NUMBER` is never used
[INFO] [stdout]  --> src/vm.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const WREN_VERSION_NUMBER: &'static str = env!("CARGO_PKG_VERSION");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wren_get_version_number` is never used
[INFO] [stdout]  --> src/vm.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn wren_get_version_number() -> &'static str {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WrenVM` is never constructed
[INFO] [stdout]  --> src/vm.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct WrenVM;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> src/compile.rs:256:27
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn print_error(&self, line: usize, label: &str, format: &str) {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]    --> src/compile.rs:256:40
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn print_error(&self, line: usize, label: &str, format: &str) {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/compile.rs:256:53
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn print_error(&self, line: usize, label: &str, format: &str) {
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile.rs:422:30
[INFO] [stdout]     |
[INFO] [stdout] 422 |         let mut token_ty = ty.clone();
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `TokenType` does not implement `Clone`, so calling `clone` on `&TokenType` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 422 -         let mut token_ty = ty.clone();
[INFO] [stdout] 422 +         let mut token_ty = ty;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `TokenType`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  45 + #[derive(Clone)]
[INFO] [stdout]  46 | enum TokenType {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/compile.rs:301:26
[INFO] [stdout]     |
[INFO] [stdout] 301 |     fn make_token(&self, ty: TokenType) {
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/compile.rs:307:30
[INFO] [stdout]     |
[INFO] [stdout] 307 |     fn two_char_token(&self, c: char, two: Token, one: Token) {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `two`
[INFO] [stdout]    --> src/compile.rs:307:39
[INFO] [stdout]     |
[INFO] [stdout] 307 |     fn two_char_token(&self, c: char, two: Token, one: Token) {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `one`
[INFO] [stdout]    --> src/compile.rs:307:51
[INFO] [stdout]     |
[INFO] [stdout] 307 |     fn two_char_token(&self, c: char, two: Token, one: Token) {
[INFO] [stdout]     |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_hex`
[INFO] [stdout]    --> src/compile.rs:367:27
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn make_number(&self, is_hex: bool) {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_hex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `token_ty` is assigned to, but never used
[INFO] [stdout]    --> src/compile.rs:422:13
[INFO] [stdout]     |
[INFO] [stdout] 422 |         let mut token_ty = ty.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_token_ty` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `token_ty` is never read
[INFO] [stdout]    --> src/compile.rs:426:17
[INFO] [stdout]     |
[INFO] [stdout] 426 |                 token_ty = &kw.token_type;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `digits`
[INFO] [stdout]    --> src/compile.rs:440:31
[INFO] [stdout]     |
[INFO] [stdout] 440 |     fn read_hex_escape(&self, digits: i32, description: &str) {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_digits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `description`
[INFO] [stdout]    --> src/compile.rs:440:44
[INFO] [stdout]     |
[INFO] [stdout] 440 |     fn read_hex_escape(&self, digits: i32, description: &str) {
[INFO] [stdout]     |                                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte_buffer`
[INFO] [stdout]    --> src/compile.rs:445:35
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn read_unicode_escape(&self, byte_buffer: &[i32], length: usize) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_byte_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]    --> src/compile.rs:445:56
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn read_unicode_escape(&self, byte_buffer: &[i32], length: usize) {
[INFO] [stdout]     |                                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compile.rs:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let mut ty = TokenType::STRING;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/compile.rs:533:13
[INFO] [stdout]     |
[INFO] [stdout] 533 |             count -= offset;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/compile.rs:531:13
[INFO] [stdout]     |
[INFO] [stdout] 531 |             count = 0;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_DEBUG_GC_STRESS` is never used
[INFO] [stdout]  --> src/common.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) const WREN_DEBUG_GC_STRESS: i32 = 0;
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_DEBUG_TRACE_MEMORY` is never used
[INFO] [stdout]   --> src/common.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) const WREN_DEBUG_TRACE_MEMORY: i32 = 0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_DEBUG_TRACE_GC` is never used
[INFO] [stdout]   --> src/common.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(crate) const WREN_DEBUG_TRACE_GC: i32 = 0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_DEBUG_DUMP_COMPILED_CODE` is never used
[INFO] [stdout]   --> src/common.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) const WREN_DEBUG_DUMP_COMPILED_CODE: i32 = 0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_DEBUG_TRACE_INSTRUCTIONS` is never used
[INFO] [stdout]   --> src/common.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) const WREN_DEBUG_TRACE_INSTRUCTIONS: i32 = 0;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MODULE_VARS` is never used
[INFO] [stdout]   --> src/common.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) const MAX_MODULE_VARS: i32 = 65536;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PARAMETERS` is never used
[INFO] [stdout]   --> src/common.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) const MAX_PARAMETERS: i32 = 16;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_METHOD_NAME` is never used
[INFO] [stdout]   --> src/common.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) const MAX_METHOD_NAME: i32 = 64;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_METHOD_SIGNATURE` is never used
[INFO] [stdout]   --> src/common.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) const MAX_METHOD_SIGNATURE: i32 = MAX_METHOD_NAME + (MAX_PARAMETERS * 2) + 6;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_VARIABLE_NAME` is never used
[INFO] [stdout]   --> src/common.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) const MAX_VARIABLE_NAME: i32 = 64;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FIELDS` is never used
[INFO] [stdout]   --> src/common.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) const MAX_FIELDS: i32 = 255;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LOCALS` is never used
[INFO] [stdout]   --> src/compile.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) const MAX_LOCALS: usize = 256;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_UPVALUES` is never used
[INFO] [stdout]   --> src/compile.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const MAX_UPVALUES: usize = 256;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_CONSTANTS` is never used
[INFO] [stdout]   --> src/compile.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) const MAX_CONSTANTS: i32 = 1 << 16;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_JUMP` is never used
[INFO] [stdout]   --> src/compile.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) const MAX_JUMP: i32 = 1 << 16;
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_INTERPOLATION_NESTING` is never used
[INFO] [stdout]   --> src/compile.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) const MAX_INTERPOLATION_NESTING: usize = 8;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ERROR_MESSAGE_SIZE` is never used
[INFO] [stdout]   --> src/compile.rs:42:18
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) const ERROR_MESSAGE_SIZE: i32 = 80 + MAX_VARIABLE_NAME + 15;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier` and `token_type` are never read
[INFO] [stdout]    --> src/compile.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct Keyword {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 133 |     identifier: &'static str,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 134 |     token_type: TokenType,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/compile.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl Keyword {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 138 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]    --> src/compile.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | struct Token {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]    --> src/compile.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | struct Parser {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_name` is never used
[INFO] [stdout]    --> src/compile.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn is_name(c: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_digit` is never used
[INFO] [stdout]    --> src/compile.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn is_digit(c: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/compile.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 256 |     fn print_error(&self, line: usize, label: &str, format: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     fn lex_error(&self, format: &str) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn read_token_str(&self, length: usize) -> &str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn peek_char(&self) -> char {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     fn peek_next_char(&self) -> char {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     fn next_char(&mut self) -> char {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     fn match_char(&mut self, c: char) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     fn make_token(&self, ty: TokenType) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn two_char_token(&self, c: char, two: Token, one: Token) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     fn skip_line_comment(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     fn skip_block_comment(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     fn read_hex_digit(&mut self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     fn make_number(&self, is_hex: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     fn read_hex_number(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     fn read_number(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     fn read_name(&mut self, ty: &TokenType, first_char: char) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     fn read_hex_escape(&self, digits: i32, description: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 445 |     fn read_unicode_escape(&self, byte_buffer: &[i32], length: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     fn read_raw_string(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ObjModule` is never constructed
[INFO] [stdout]  --> src/value.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct ObjModule {
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ObjMap` is never constructed
[INFO] [stdout]   --> src/value.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct ObjMap {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ObjFn` is never constructed
[INFO] [stdout]   --> src/value.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) struct ObjFn {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ObjString` is never constructed
[INFO] [stdout]   --> src/value.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) struct ObjString {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WREN_VERSION_NUMBER` is never used
[INFO] [stdout]  --> src/vm.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const WREN_VERSION_NUMBER: &'static str = env!("CARGO_PKG_VERSION");
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wren_get_version_number` is never used
[INFO] [stdout]  --> src/vm.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn wren_get_version_number() -> &'static str {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WrenVM` is never constructed
[INFO] [stdout]  --> src/vm.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct WrenVM;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/compile.rs:422:30
[INFO] [stdout]     |
[INFO] [stdout] 422 |         let mut token_ty = ty.clone();
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `TokenType` does not implement `Clone`, so calling `clone` on `&TokenType` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 422 -         let mut token_ty = ty.clone();
[INFO] [stdout] 422 +         let mut token_ty = ty;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `TokenType`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  45 + #[derive(Clone)]
[INFO] [stdout]  46 | enum TokenType {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] running `Command { std: "docker" "inspect" "e8ed69e05247d8bdd2daed8a7d6cf737b95f33821c66a250a4980dda15ce55a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8ed69e05247d8bdd2daed8a7d6cf737b95f33821c66a250a4980dda15ce55a2", kill_on_drop: false }`
[INFO] [stdout] e8ed69e05247d8bdd2daed8a7d6cf737b95f33821c66a250a4980dda15ce55a2
