[INFO] cloning repository https://github.com/candtechsoftware/jsrs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/candtechsoftware/jsrs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcandtechsoftware%2Fjsrs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcandtechsoftware%2Fjsrs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1cfc81a5c9a6251fec7fd885677077973b42e4ea
[INFO] checking candtechsoftware/jsrs against df1ae0f7dd168513de2d89beb2cb7a95d4fdc118 for pr-159343-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcandtechsoftware%2Fjsrs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/candtechsoftware/jsrs
[INFO] finished tweaking git repo https://github.com/candtechsoftware/jsrs
[INFO] tweaked toml for git repo https://github.com/candtechsoftware/jsrs written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/candtechsoftware/jsrs on toolchain df1ae0f7dd168513de2d89beb2cb7a95d4fdc118
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+df1ae0f7dd168513de2d89beb2cb7a95d4fdc118" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/candtechsoftware/jsrs 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" "+df1ae0f7dd168513de2d89beb2cb7a95d4fdc118" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tinyvec v1.5.1
[INFO] [stderr]   Downloaded percent-encoding v2.1.0
[INFO] [stderr]   Downloaded sourcemap v6.0.1
[INFO] [stderr]   Downloaded url v2.2.2
[INFO] [stderr]   Downloaded unicode-normalization v0.1.19
[INFO] [stderr]   Downloaded if_chain v1.0.2
[INFO] [stderr]   Downloaded form_urlencoded v1.0.1
[INFO] [stderr]   Downloaded itoa v1.0.1
[INFO] [stderr]   Downloaded unicode-xid v0.2.2
[INFO] [stderr]   Downloaded quote v1.0.15
[INFO] [stderr]   Downloaded unicode-bidi v0.3.7
[INFO] [stderr]   Downloaded base64 v0.11.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.36
[INFO] [stderr]   Downloaded serde_derive v1.0.136
[INFO] [stderr]   Downloaded ryu v1.0.9
[INFO] [stderr]   Downloaded memchr v2.4.1
[INFO] [stderr]   Downloaded serde v1.0.136
[INFO] [stderr]   Downloaded aho-corasick v0.7.18
[INFO] [stderr]   Downloaded serde_json v1.0.79
[INFO] [stderr]   Downloaded syn v1.0.86
[INFO] [stderr]   Downloaded regex v1.5.5
[INFO] [stderr]   Downloaded regex-syntax v0.6.25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] a09b8f18126daf40c2203c671c510e559efa8d48caa8b3dc4a03b052c2e37fca
[INFO] running `Command { std: "docker" "start" "a09b8f18126daf40c2203c671c510e559efa8d48caa8b3dc4a03b052c2e37fca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a09b8f18126daf40c2203c671c510e559efa8d48caa8b3dc4a03b052c2e37fca", 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" "a09b8f18126daf40c2203c671c510e559efa8d48caa8b3dc4a03b052c2e37fca" "/opt/rustwide/cargo-home/bin/cargo" "+df1ae0f7dd168513de2d89beb2cb7a95d4fdc118" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a09b8f18126daf40c2203c671c510e559efa8d48caa8b3dc4a03b052c2e37fca", 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" "a09b8f18126daf40c2203c671c510e559efa8d48caa8b3dc4a03b052c2e37fca" "/opt/rustwide/cargo-home/bin/cargo" "+df1ae0f7dd168513de2d89beb2cb7a95d4fdc118" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]     Checking unicode-bidi v0.3.7
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking if_chain v1.0.2
[INFO] [stderr]     Checking base64 v0.11.0
[INFO] [stderr]     Checking tinyvec v1.5.1
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking regex v1.5.5
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]     Checking sourcemap v6.0.1
[INFO] [stderr]     Checking rustjs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `sourcemap::SourceMap`
[INFO] [stdout]  --> src/utils/sourcemap/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sourcemap::SourceMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/file/mod.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut line: usize;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/file/mod.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn scan_to(&self, offset: usize) -> usize {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/file/mod.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     map: &mut SourceMap,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/file/mod.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     row: usize,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]    --> src/file/mod.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     col: usize,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/file/mod.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn resolve_file_name(name: String, source: String) -> String {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/file/mod.rs:142:36
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn resolve_file_name(name: String, source: String) -> String {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chr`
[INFO] [stdout]   --> src/parser/lexer.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn is_identifier_part(chr: char) -> bool {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_chr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chr`
[INFO] [stdout]   --> src/parser/lexer.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn is_id_start_unicode(chr: char) -> bool {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_chr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/parser/parser.rs:51:42
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn error_unexpected_token(&self, value: &Token) {}
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/parser.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut literal: String;
[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/parser/parser.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut parsed_literal: String;
[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/parser/parser.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut idx = 0;
[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/parser/parser.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut has_escaped: bool;
[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/parser/parser.rs:77:33
[INFO] [stdout]    |
[INFO] [stdout] 77 | ...                   let mut strict: bool;
[INFO] [stdout]    |                           ----^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]   --> src/parser/parser.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut idx = 0;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `insert_semicolon`
[INFO] [stdout]   --> src/parser/parser.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let insert_semicolon = false;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insert_semicolon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tkn` is never read
[INFO] [stdout]   --> src/parser/parser.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut tkn = Token::Illegal;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 78 |                             (tkn, strict) = is_keyword(&parsed_literal);
[INFO] [stdout]    |                              --- `tkn` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tkn` is never read
[INFO] [stdout]    --> src/parser/parser.rs:121:21
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     tkn = Token::Illegal;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser/parser.rs:190:19
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn is_keyword(token: &String) -> (Token, bool) {
[INFO] [stdout]     |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileSet` is never constructed
[INFO] [stdout]  --> src/file/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct FileSet {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_file`, `next_base`, `file`, and `postion` are never used
[INFO] [stdout]   --> src/file/mod.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl FileSet {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn add_file(&mut self, filename: &str, src: String) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn next_base(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn file(self, idx: usize) -> Option<File> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn postion(&mut self, idx: usize) -> Option<InFilePosition> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]   --> src/file/mod.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct File {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_sourcemap`, `postion`, and `scan_to` are never used
[INFO] [stdout]    --> src/file/mod.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl<'a> File {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  73 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn set_sourcemap(&mut self, map: Option<SourceMap>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn postion(&mut self, offset: usize) -> InFilePosition {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn scan_to(&self, offset: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_orginal_source` is never used
[INFO] [stdout]    --> src/file/mod.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn get_orginal_source(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_file_name` is never used
[INFO] [stdout]    --> src/file/mod.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn resolve_file_name(name: String, source: String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_decimal_digit` is never used
[INFO] [stdout]  --> src/parser/lexer.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn is_decimal_digit(chr: char) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_identifier` is never used
[INFO] [stdout]  --> src/parser/lexer.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn is_identifier(s: char) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_identifier_start` is never used
[INFO] [stdout]   --> src/parser/lexer.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn is_identifier_start(chr: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_identifier_part` is never used
[INFO] [stdout]   --> src/parser/lexer.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn is_identifier_part(chr: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_id_start_unicode` is never used
[INFO] [stdout]   --> src/parser/lexer.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn is_id_start_unicode(chr: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]  --> src/parser/parser.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Parser {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/parser.rs:39:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  39 |     pub fn new(filename: &str, src: &str, base: usize, opts: Option<Options>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn error_unexpected_token(&self, value: &Token) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  52 |
[INFO] [stdout]  53 |     pub fn skip_white_space(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]  54 |     pub fn scan_identifier(&mut self) -> Result<(String, String, bool), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn scan(&mut self) -> (Token, String, String, usize) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn next(self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn optional_semicolon(mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn semicolon(mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn idx_of(&mut self, offset: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn expect(self, value: Token) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn position(self, idx: usize) -> InFilePosition {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]    --> src/parser/parser.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct Options {}
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mode` is never constructed
[INFO] [stdout]    --> src/parser/parser.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Mode {}
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Recover` is never constructed
[INFO] [stdout]    --> src/parser/parser.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct Recover {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_keyword` is never used
[INFO] [stdout]    --> src/parser/parser.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn is_keyword(token: &String) -> (Token, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scope` is never constructed
[INFO] [stdout]  --> src/parser/scope.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Scope {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/parser/token_types.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/file/mod.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |         if line >= 0 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sourcemap::SourceMap`
[INFO] [stdout]  --> src/utils/sourcemap/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sourcemap::SourceMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/file/mod.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut line: usize;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/file/mod.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn scan_to(&self, offset: usize) -> usize {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/file/mod.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     map: &mut SourceMap,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/file/mod.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     row: usize,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]    --> src/file/mod.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     col: usize,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/file/mod.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn resolve_file_name(name: String, source: String) -> String {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/file/mod.rs:142:36
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn resolve_file_name(name: String, source: String) -> String {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chr`
[INFO] [stdout]   --> src/parser/lexer.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn is_identifier_part(chr: char) -> bool {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_chr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chr`
[INFO] [stdout]   --> src/parser/lexer.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn is_id_start_unicode(chr: char) -> bool {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_chr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/parser/parser.rs:51:42
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn error_unexpected_token(&self, value: &Token) {}
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/parser.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut literal: String;
[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/parser/parser.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut parsed_literal: String;
[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/parser/parser.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut idx = 0;
[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/parser/parser.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut has_escaped: bool;
[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/parser/parser.rs:77:33
[INFO] [stdout]    |
[INFO] [stdout] 77 | ...                   let mut strict: bool;
[INFO] [stdout]    |                           ----^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]   --> src/parser/parser.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut idx = 0;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `insert_semicolon`
[INFO] [stdout]   --> src/parser/parser.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let insert_semicolon = false;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insert_semicolon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tkn` is never read
[INFO] [stdout]   --> src/parser/parser.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut tkn = Token::Illegal;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 78 |                             (tkn, strict) = is_keyword(&parsed_literal);
[INFO] [stdout]    |                              --- `tkn` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tkn` is never read
[INFO] [stdout]    --> src/parser/parser.rs:121:21
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     tkn = Token::Illegal;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser/parser.rs:190:19
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn is_keyword(token: &String) -> (Token, bool) {
[INFO] [stdout]     |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileSet` is never constructed
[INFO] [stdout]  --> src/file/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct FileSet {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_file`, `next_base`, `file`, and `postion` are never used
[INFO] [stdout]   --> src/file/mod.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl FileSet {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn add_file(&mut self, filename: &str, src: String) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn next_base(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn file(self, idx: usize) -> Option<File> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn postion(&mut self, idx: usize) -> Option<InFilePosition> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]   --> src/file/mod.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct File {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_sourcemap`, `postion`, and `scan_to` are never used
[INFO] [stdout]    --> src/file/mod.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl<'a> File {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  73 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn set_sourcemap(&mut self, map: Option<SourceMap>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn postion(&mut self, offset: usize) -> InFilePosition {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn scan_to(&self, offset: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_orginal_source` is never used
[INFO] [stdout]    --> src/file/mod.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn get_orginal_source(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_file_name` is never used
[INFO] [stdout]    --> src/file/mod.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn resolve_file_name(name: String, source: String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_decimal_digit` is never used
[INFO] [stdout]  --> src/parser/lexer.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn is_decimal_digit(chr: char) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_identifier` is never used
[INFO] [stdout]  --> src/parser/lexer.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn is_identifier(s: char) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_identifier_start` is never used
[INFO] [stdout]   --> src/parser/lexer.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn is_identifier_start(chr: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_identifier_part` is never used
[INFO] [stdout]   --> src/parser/lexer.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn is_identifier_part(chr: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_id_start_unicode` is never used
[INFO] [stdout]   --> src/parser/lexer.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn is_id_start_unicode(chr: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]  --> src/parser/parser.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Parser {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/parser.rs:39:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  39 |     pub fn new(filename: &str, src: &str, base: usize, opts: Option<Options>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn error_unexpected_token(&self, value: &Token) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  52 |
[INFO] [stdout]  53 |     pub fn skip_white_space(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]  54 |     pub fn scan_identifier(&mut self) -> Result<(String, String, bool), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn scan(&mut self) -> (Token, String, String, usize) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn next(self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn optional_semicolon(mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn semicolon(mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn idx_of(&mut self, offset: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn expect(self, value: Token) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn position(self, idx: usize) -> InFilePosition {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]    --> src/parser/parser.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct Options {}
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mode` is never constructed
[INFO] [stdout]    --> src/parser/parser.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Mode {}
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Recover` is never constructed
[INFO] [stdout]    --> src/parser/parser.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct Recover {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_keyword` is never used
[INFO] [stdout]    --> src/parser/parser.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn is_keyword(token: &String) -> (Token, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scope` is never constructed
[INFO] [stdout]  --> src/parser/scope.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Scope {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/parser/token_types.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/file/mod.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |         if line >= 0 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.45s
[INFO] running `Command { std: "docker" "inspect" "a09b8f18126daf40c2203c671c510e559efa8d48caa8b3dc4a03b052c2e37fca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a09b8f18126daf40c2203c671c510e559efa8d48caa8b3dc4a03b052c2e37fca", kill_on_drop: false }`
[INFO] [stdout] a09b8f18126daf40c2203c671c510e559efa8d48caa8b3dc4a03b052c2e37fca
