[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] testing candtechsoftware/jsrs against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcandtechsoftware%2Fjsrs" "/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/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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/candtechsoftware/jsrs on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sourcemap v6.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] db8ed9efa2be2b7fb02d0772bc698c9a96c4ea3210bebb96656c37cb9f64ede4
[INFO] running `Command { std: "docker" "start" "-a" "db8ed9efa2be2b7fb02d0772bc698c9a96c4ea3210bebb96656c37cb9f64ede4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db8ed9efa2be2b7fb02d0772bc698c9a96c4ea3210bebb96656c37cb9f64ede4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db8ed9efa2be2b7fb02d0772bc698c9a96c4ea3210bebb96656c37cb9f64ede4", kill_on_drop: false }`
[INFO] [stdout] db8ed9efa2be2b7fb02d0772bc698c9a96c4ea3210bebb96656c37cb9f64ede4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 43b774ff1f05b7efa3a13a37b6018db59e5e315ad651e9c5e029152a45da196d
[INFO] running `Command { std: "docker" "start" "-a" "43b774ff1f05b7efa3a13a37b6018db59e5e315ad651e9c5e029152a45da196d", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]    Compiling base64 v0.11.0
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling sourcemap v6.0.1
[INFO] [stderr]    Compiling 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]    |                       ^^^^^^^^^^^^^^
[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: 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 10.11s
[INFO] running `Command { std: "docker" "inspect" "43b774ff1f05b7efa3a13a37b6018db59e5e315ad651e9c5e029152a45da196d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43b774ff1f05b7efa3a13a37b6018db59e5e315ad651e9c5e029152a45da196d", kill_on_drop: false }`
[INFO] [stdout] 43b774ff1f05b7efa3a13a37b6018db59e5e315ad651e9c5e029152a45da196d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5ace318cb41044fb9dd26ce0a4b6d74a0e9ee375f3c4cb2b40d15eb9e8191278
[INFO] running `Command { std: "docker" "start" "-a" "5ace318cb41044fb9dd26ce0a4b6d74a0e9ee375f3c4cb2b40d15eb9e8191278", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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]    |                       ^^^^^^^^^^^^^^
[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: 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 `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] running `Command { std: "docker" "inspect" "5ace318cb41044fb9dd26ce0a4b6d74a0e9ee375f3c4cb2b40d15eb9e8191278", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ace318cb41044fb9dd26ce0a4b6d74a0e9ee375f3c4cb2b40d15eb9e8191278", kill_on_drop: false }`
[INFO] [stdout] 5ace318cb41044fb9dd26ce0a4b6d74a0e9ee375f3c4cb2b40d15eb9e8191278
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e8c1d6184efd28dfc58c8e0bcb1927367ad1697e71b2de88e6ccbc6af9b6cc07
[INFO] running `Command { std: "docker" "start" "-a" "e8c1d6184efd28dfc58c8e0bcb1927367ad1697e71b2de88e6ccbc6af9b6cc07", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `sourcemap::SourceMap`
[INFO] [stderr]  --> src/utils/sourcemap/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use sourcemap::SourceMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/file/mod.rs:95:13
[INFO] [stderr]    |
[INFO] [stderr] 95 |         let mut line: usize;
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `offset`
[INFO] [stderr]    --> src/file/mod.rs:130:23
[INFO] [stderr]     |
[INFO] [stderr] 130 |     fn scan_to(&self, offset: usize) -> usize {
[INFO] [stderr]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `map`
[INFO] [stderr]    --> src/file/mod.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 |     map: &mut SourceMap,
[INFO] [stderr]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `row`
[INFO] [stderr]    --> src/file/mod.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 137 |     row: usize,
[INFO] [stderr]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `col`
[INFO] [stderr]    --> src/file/mod.rs:138:5
[INFO] [stderr]     |
[INFO] [stderr] 138 |     col: usize,
[INFO] [stderr]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/file/mod.rs:142:22
[INFO] [stderr]     |
[INFO] [stderr] 142 | fn resolve_file_name(name: String, source: String) -> String {
[INFO] [stderr]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/file/mod.rs:142:36
[INFO] [stderr]     |
[INFO] [stderr] 142 | fn resolve_file_name(name: String, source: String) -> String {
[INFO] [stderr]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chr`
[INFO] [stderr]   --> src/parser/lexer.rs:38:23
[INFO] [stderr]    |
[INFO] [stderr] 38 | fn is_identifier_part(chr: char) -> bool {
[INFO] [stderr]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_chr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chr`
[INFO] [stderr]   --> src/parser/lexer.rs:42:24
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn is_id_start_unicode(chr: char) -> bool {
[INFO] [stderr]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_chr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/parser/parser.rs:51:42
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub fn error_unexpected_token(&self, value: &Token) {}
[INFO] [stderr]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parser/parser.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let mut literal: String;
[INFO] [stderr]    |             ----^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parser/parser.rs:61:13
[INFO] [stderr]    |
[INFO] [stderr] 61 |         let mut parsed_literal: String;
[INFO] [stderr]    |             ----^^^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parser/parser.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let mut idx = 0;
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parser/parser.rs:72:25
[INFO] [stderr]    |
[INFO] [stderr] 72 |                     let mut has_escaped: bool;
[INFO] [stderr]    |                         ----^^^^^^^^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parser/parser.rs:77:33
[INFO] [stderr]    |
[INFO] [stderr] 77 | ...                   let mut strict: bool;
[INFO] [stderr]    |                           ----^^^^^^
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]   --> src/parser/parser.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let mut idx = 0;
[INFO] [stderr]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `insert_semicolon`
[INFO] [stderr]   --> src/parser/parser.rs:68:17
[INFO] [stderr]    |
[INFO] [stderr] 68 |             let insert_semicolon = false;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insert_semicolon`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `tkn` is never read
[INFO] [stderr]   --> src/parser/parser.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 |         let mut tkn = Token::Illegal;
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `tkn` is never read
[INFO] [stderr]    --> src/parser/parser.rs:121:21
[INFO] [stderr]     |
[INFO] [stderr] 121 |                     tkn = Token::Illegal;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser/parser.rs:190:19
[INFO] [stderr]     |
[INFO] [stderr] 190 | pub fn is_keyword(token: &String) -> (Token, bool) {
[INFO] [stderr]     |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FileSet` is never constructed
[INFO] [stderr]  --> src/file/mod.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct FileSet {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `add_file`, `next_base`, `file`, and `postion` are never used
[INFO] [stderr]   --> src/file/mod.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl FileSet {
[INFO] [stderr]    | ------------ associated items in this implementation
[INFO] [stderr] 14 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     pub fn add_file(&mut self, filename: &str, src: String) -> usize {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     fn next_base(&self) -> usize {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |     fn file(self, idx: usize) -> Option<File> {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51 |     fn postion(&mut self, idx: usize) -> Option<InFilePosition> {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `File` is never constructed
[INFO] [stderr]   --> src/file/mod.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub struct File {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `set_sourcemap`, `postion`, and `scan_to` are never used
[INFO] [stderr]    --> src/file/mod.rs:73:12
[INFO] [stderr]     |
[INFO] [stderr]  72 | impl<'a> File {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr]  73 |     pub fn new(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  90 |     pub fn set_sourcemap(&mut self, map: Option<SourceMap>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  94 |     pub fn postion(&mut self, offset: usize) -> InFilePosition {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 130 |     fn scan_to(&self, offset: usize) -> usize {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_orginal_source` is never used
[INFO] [stderr]    --> src/file/mod.rs:135:4
[INFO] [stderr]     |
[INFO] [stderr] 135 | fn get_orginal_source(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `resolve_file_name` is never used
[INFO] [stderr]    --> src/file/mod.rs:142:4
[INFO] [stderr]     |
[INFO] [stderr] 142 | fn resolve_file_name(name: String, source: String) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_decimal_digit` is never used
[INFO] [stderr]  --> src/parser/lexer.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub fn is_decimal_digit(chr: char) -> bool {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_identifier` is never used
[INFO] [stderr]  --> src/parser/lexer.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn is_identifier(s: char) -> bool {
[INFO] [stderr]   |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_identifier_start` is never used
[INFO] [stderr]   --> src/parser/lexer.rs:28:4
[INFO] [stderr]    |
[INFO] [stderr] 28 | fn is_identifier_start(chr: char) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_identifier_part` is never used
[INFO] [stderr]   --> src/parser/lexer.rs:38:4
[INFO] [stderr]    |
[INFO] [stderr] 38 | fn is_identifier_part(chr: char) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_id_start_unicode` is never used
[INFO] [stderr]   --> src/parser/lexer.rs:42:4
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn is_id_start_unicode(chr: char) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Parser` is never constructed
[INFO] [stderr]  --> src/parser/parser.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct Parser {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/parser/parser.rs:39:12
[INFO] [stderr]     |
[INFO] [stderr]  38 | impl Parser {
[INFO] [stderr]     | ----------- associated items in this implementation
[INFO] [stderr]  39 |     pub fn new(filename: &str, src: &str, base: usize, opts: Option<Options>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  51 |     pub fn error_unexpected_token(&self, value: &Token) {}
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]  52 |
[INFO] [stderr]  53 |     pub fn skip_white_space(&self) {}
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr]  54 |     pub fn scan_identifier(&mut self) -> Result<(String, String, bool), String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  57 |     pub fn scan(&mut self) -> (Token, String, String, usize) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 128 |     pub fn next(self) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     pub fn optional_semicolon(mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 147 |     pub fn semicolon(mut self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 160 |     pub fn idx_of(&mut self, offset: usize) -> usize {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 163 |     pub fn expect(self, value: Token) -> usize {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub fn position(self, idx: usize) -> InFilePosition {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Options` is never constructed
[INFO] [stderr]    --> src/parser/parser.rs:179:12
[INFO] [stderr]     |
[INFO] [stderr] 179 | pub struct Options {}
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Mode` is never constructed
[INFO] [stderr]    --> src/parser/parser.rs:181:12
[INFO] [stderr]     |
[INFO] [stderr] 181 | pub struct Mode {}
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Recover` is never constructed
[INFO] [stderr]    --> src/parser/parser.rs:184:12
[INFO] [stderr]     |
[INFO] [stderr] 184 | pub struct Recover {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_keyword` is never used
[INFO] [stderr]    --> src/parser/parser.rs:190:8
[INFO] [stderr]     |
[INFO] [stderr] 190 | pub fn is_keyword(token: &String) -> (Token, bool) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Scope` is never constructed
[INFO] [stderr]  --> src/parser/scope.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Scope {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Token` is never used
[INFO] [stderr]  --> src/parser/token_types.rs:2:10
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum Token {
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/file/mod.rs:103:12
[INFO] [stderr]     |
[INFO] [stderr] 103 |         if line >= 0 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rustjs` (bin "rustjs" test) generated 41 warnings (run `cargo fix --bin "rustjs" -p rustjs --tests` to apply 19 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustjs-e8e5919fc478763f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e8c1d6184efd28dfc58c8e0bcb1927367ad1697e71b2de88e6ccbc6af9b6cc07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8c1d6184efd28dfc58c8e0bcb1927367ad1697e71b2de88e6ccbc6af9b6cc07", kill_on_drop: false }`
[INFO] [stdout] e8c1d6184efd28dfc58c8e0bcb1927367ad1697e71b2de88e6ccbc6af9b6cc07
