[INFO] cloning repository https://github.com/ArturKovacs/jsrs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ArturKovacs/jsrs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArturKovacs%2Fjsrs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArturKovacs%2Fjsrs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dc2b0e4c2a07af2cf1553afd62ee1ea2cd2020c3
[INFO] testing ArturKovacs/jsrs against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArturKovacs%2Fjsrs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ArturKovacs/jsrs
[INFO] finished tweaking git repo https://github.com/ArturKovacs/jsrs
[INFO] tweaked toml for git repo https://github.com/ArturKovacs/jsrs written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ArturKovacs/jsrs on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ArturKovacs/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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded oxc_ast_macros v0.34.0
[INFO] [stderr]   Downloaded oxc_estree v0.34.0
[INFO] [stderr]   Downloaded oxc_span v0.34.0
[INFO] [stderr]   Downloaded seq-macro v0.3.5
[INFO] [stderr]   Downloaded oxc_regular_expression v0.34.0
[INFO] [stderr]   Downloaded compact_str v0.8.0
[INFO] [stderr]   Downloaded oxc_ast v0.34.0
[INFO] [stderr]   Downloaded unicode-id-start v1.3.1
[INFO] [stderr]   Downloaded oxc_ecmascript v0.34.0
[INFO] [stderr]   Downloaded miette-derive v7.2.0
[INFO] [stderr]   Downloaded thiserror-impl v1.0.66
[INFO] [stderr]   Downloaded thiserror v1.0.66
[INFO] [stderr]   Downloaded miette v7.2.0
[INFO] [stderr]   Downloaded ryu-js v1.0.1
[INFO] [stderr]   Downloaded oxc_syntax v0.34.0
[INFO] [stderr]   Downloaded oxc v0.34.0
[INFO] [stderr]   Downloaded oxc_diagnostics v0.34.0
[INFO] [stderr]   Downloaded assert-unchecked v0.1.2
[INFO] [stderr]   Downloaded oxc_allocator v0.34.0
[INFO] [stderr]   Downloaded oxc_index v0.34.0
[INFO] [stderr]   Downloaded oxc_cfg v0.34.0
[INFO] [stderr]   Downloaded oxc_parser v0.34.0
[INFO] [stderr]   Downloaded oxc_semantic v0.34.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dc8238857a2796a054bcdef2d85c387d7c59cb1ba33ef2af1a861803b1b4a7cc
[INFO] running `Command { std: "docker" "start" "-a" "dc8238857a2796a054bcdef2d85c387d7c59cb1ba33ef2af1a861803b1b4a7cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dc8238857a2796a054bcdef2d85c387d7c59cb1ba33ef2af1a861803b1b4a7cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dc8238857a2796a054bcdef2d85c387d7c59cb1ba33ef2af1a861803b1b4a7cc", kill_on_drop: false }`
[INFO] [stdout] dc8238857a2796a054bcdef2d85c387d7c59cb1ba33ef2af1a861803b1b4a7cc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3dc9d2f17786304d47842f7b1f5655d5eceab9cce05265354bad4e994171e883
[INFO] running `Command { std: "docker" "start" "-a" "3dc9d2f17786304d47842f7b1f5655d5eceab9cce05265354bad4e994171e883", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]    Compiling thiserror v1.0.66
[INFO] [stderr]    Compiling owo-colors v4.1.0
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling allocator-api2 v0.2.18
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling rustc-hash v2.0.0
[INFO] [stderr]    Compiling oxc_estree v0.34.0
[INFO] [stderr]    Compiling unicode-id-start v1.3.1
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling oxc_index v0.34.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ryu-js v1.0.1
[INFO] [stderr]    Compiling nonmax v0.5.5
[INFO] [stderr]    Compiling assert-unchecked v0.1.2
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling hashbrown v0.15.0
[INFO] [stderr]    Compiling textwrap v0.16.1
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling seq-macro v0.3.5
[INFO] [stderr]    Compiling cow-utils v0.1.3
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]    Compiling oxc_allocator v0.34.0
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling castaway v0.2.3
[INFO] [stderr]    Compiling compact_str v0.8.0
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.66
[INFO] [stderr]    Compiling miette-derive v7.2.0
[INFO] [stderr]    Compiling oxc_ast_macros v0.34.0
[INFO] [stderr]    Compiling phf_macros v0.11.2
[INFO] [stderr]    Compiling phf v0.11.2
[INFO] [stderr]    Compiling miette v7.2.0
[INFO] [stderr]    Compiling oxc_span v0.34.0
[INFO] [stderr]    Compiling oxc_diagnostics v0.34.0
[INFO] [stderr]    Compiling oxc_syntax v0.34.0
[INFO] [stderr]    Compiling oxc_regular_expression v0.34.0
[INFO] [stderr]    Compiling oxc_ast v0.34.0
[INFO] [stderr]    Compiling oxc_cfg v0.34.0
[INFO] [stderr]    Compiling oxc_ecmascript v0.34.0
[INFO] [stderr]    Compiling oxc_parser v0.34.0
[INFO] [stderr]    Compiling oxc_semantic v0.34.0
[INFO] [stderr]    Compiling oxc v0.34.0
[INFO] [stderr]    Compiling jsrs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Argument`, `AstNode`, `Program`, and `syntax::node`
[INFO] [stdout]   --> src/rust/mod.rs:6:13
[INFO] [stdout]    |
[INFO] [stdout] 6  |             Argument, AssignmentExpression, AssignmentOperator, AssignmentTarget, BinaryOperator,
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 7  |             BindingPattern, ComputedMemberExpression, Expression, ForStatementInit,
[INFO] [stdout] 8  |             ObjectPropertyKind, Program, PropertyKey, SimpleAssignmentTarget, Statement,
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     semantic::{AstNode, AstNodes},
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 15 |     syntax::node,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variables`
[INFO] [stdout]   --> src/rust/mod.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let variables = nodes
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variables`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_nodes` is never used
[INFO] [stdout]   --> src/main.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn print_nodes(ast_nodes: &AstNodes) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_variable_modificiations` is never used
[INFO] [stdout]   --> src/rust/mod.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn count_variable_modificiations(nodes: &AstNodes) -> HashMap<String, usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assignment_operator_to_rust_text` is never used
[INFO] [stdout]    --> src/rust/mod.rs:446:4
[INFO] [stdout]     |
[INFO] [stdout] 446 | fn assignment_operator_to_rust_text(operator: AssignmentOperator) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConsoleStruct` is never constructed
[INFO] [stdout]   --> src/rust/output_prelude.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct ConsoleStruct {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessStruct` is never constructed
[INFO] [stdout]   --> src/rust/output_prelude.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct ProcessStruct {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MathStruct` is never constructed
[INFO] [stdout]   --> src/rust/output_prelude.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct MathStruct {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `console` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn console() -> ConsoleStruct {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn process() -> ProcessStruct {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `math` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn math() -> MathStruct {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsString` is never constructed
[INFO] [stdout]    --> src/rust/output_prelude.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct JsString {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl JsString {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 159 |     pub fn as_str(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ObjectSubtype` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:164:6
[INFO] [stdout]     |
[INFO] [stdout] 164 | enum ObjectSubtype {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsObjectContents` is never constructed
[INFO] [stdout]    --> src/rust/output_prelude.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub struct JsObjectContents {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `JsObject` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:185:10
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub type JsObject = Rc<JsCell<JsObjectContents>>;
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `JsValue` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:188:10
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub enum JsValue {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | impl JsValue {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 210 |     fn from_entries<const N: usize>(entries: [(JsString, JsValue); N]) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn new_array(elements: Vec<JsValue>) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn new_function(func: Box<dyn Fn(&[JsValue]) -> JsValue>) -> JsValue {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn add(&self, other: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn sub(&self, other: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn mult(&self, other: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn divide(&self, other: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn do_binary_operation_nums(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn less(&self, other: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn get_prop(&self, name: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn set_prop(&self, name: JsValue, value: JsValue) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub fn to_js_string(&self) -> JsString {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn falsy(&self) -> bool {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn truthy(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn to_number(&self) -> JsValue {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     pub fn call(&self, args: &[JsValue]) -> JsValue {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `negate` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:417:4
[INFO] [stdout]     |
[INFO] [stdout] 417 | fn negate(value: JsValue) -> JsValue {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plus` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:426:4
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn plus(value: JsValue) -> JsValue {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsCell` is never constructed
[INFO] [stdout]   --> src/rust/output_prelude.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub struct JsCell<T> {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `borrow`, and `borrow_mut` are never used
[INFO] [stdout]   --> src/rust/output_prelude.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |     impl<T> JsCell<T> {
[INFO] [stdout]    |     ----------------- associated items in this implementation
[INFO] [stdout] 21 |         pub fn new(value: T) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |         pub fn borrow(&self) -> &T {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |         pub fn borrow_mut<'a>(&'a self) -> RefMut<'a, T> {
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefMut` is never constructed
[INFO] [stdout]   --> src/rust/output_prelude.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub struct RefMut<'a, T: ?Sized> {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PI` should have a snake case name
[INFO] [stdout]   --> src/rust/output_prelude.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub PI: JsValue,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `pi`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 38s
[INFO] running `Command { std: "docker" "inspect" "3dc9d2f17786304d47842f7b1f5655d5eceab9cce05265354bad4e994171e883", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3dc9d2f17786304d47842f7b1f5655d5eceab9cce05265354bad4e994171e883", kill_on_drop: false }`
[INFO] [stdout] 3dc9d2f17786304d47842f7b1f5655d5eceab9cce05265354bad4e994171e883
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 86e7c16dfd1b5733e46b6253224db2d4e063fa5ad7adaac6260a3f5746ff79e2
[INFO] running `Command { std: "docker" "start" "-a" "86e7c16dfd1b5733e46b6253224db2d4e063fa5ad7adaac6260a3f5746ff79e2", kill_on_drop: false }`
[INFO] [stderr]    Compiling jsrs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Argument`, `AstNode`, `Program`, and `syntax::node`
[INFO] [stdout]   --> src/rust/mod.rs:6:13
[INFO] [stdout]    |
[INFO] [stdout] 6  |             Argument, AssignmentExpression, AssignmentOperator, AssignmentTarget, BinaryOperator,
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 7  |             BindingPattern, ComputedMemberExpression, Expression, ForStatementInit,
[INFO] [stdout] 8  |             ObjectPropertyKind, Program, PropertyKey, SimpleAssignmentTarget, Statement,
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     semantic::{AstNode, AstNodes},
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 15 |     syntax::node,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variables`
[INFO] [stdout]   --> src/rust/mod.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let variables = nodes
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variables`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_nodes` is never used
[INFO] [stdout]   --> src/main.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn print_nodes(ast_nodes: &AstNodes) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_variable_modificiations` is never used
[INFO] [stdout]   --> src/rust/mod.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn count_variable_modificiations(nodes: &AstNodes) -> HashMap<String, usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assignment_operator_to_rust_text` is never used
[INFO] [stdout]    --> src/rust/mod.rs:446:4
[INFO] [stdout]     |
[INFO] [stdout] 446 | fn assignment_operator_to_rust_text(operator: AssignmentOperator) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConsoleStruct` is never constructed
[INFO] [stdout]   --> src/rust/output_prelude.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct ConsoleStruct {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessStruct` is never constructed
[INFO] [stdout]   --> src/rust/output_prelude.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct ProcessStruct {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MathStruct` is never constructed
[INFO] [stdout]   --> src/rust/output_prelude.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct MathStruct {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `console` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn console() -> ConsoleStruct {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn process() -> ProcessStruct {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `math` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn math() -> MathStruct {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsString` is never constructed
[INFO] [stdout]    --> src/rust/output_prelude.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct JsString {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl JsString {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 159 |     pub fn as_str(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ObjectSubtype` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:164:6
[INFO] [stdout]     |
[INFO] [stdout] 164 | enum ObjectSubtype {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsObjectContents` is never constructed
[INFO] [stdout]    --> src/rust/output_prelude.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub struct JsObjectContents {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `JsObject` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:185:10
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub type JsObject = Rc<JsCell<JsObjectContents>>;
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `JsValue` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:188:10
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub enum JsValue {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | impl JsValue {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 210 |     fn from_entries<const N: usize>(entries: [(JsString, JsValue); N]) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn new_array(elements: Vec<JsValue>) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn new_function(func: Box<dyn Fn(&[JsValue]) -> JsValue>) -> JsValue {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn add(&self, other: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn sub(&self, other: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn mult(&self, other: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn divide(&self, other: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn do_binary_operation_nums(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn less(&self, other: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn get_prop(&self, name: JsValue) -> JsValue {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn set_prop(&self, name: JsValue, value: JsValue) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub fn to_js_string(&self) -> JsString {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn falsy(&self) -> bool {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn truthy(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn to_number(&self) -> JsValue {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     pub fn call(&self, args: &[JsValue]) -> JsValue {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `negate` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:417:4
[INFO] [stdout]     |
[INFO] [stdout] 417 | fn negate(value: JsValue) -> JsValue {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plus` is never used
[INFO] [stdout]    --> src/rust/output_prelude.rs:426:4
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn plus(value: JsValue) -> JsValue {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsCell` is never constructed
[INFO] [stdout]   --> src/rust/output_prelude.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub struct JsCell<T> {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `borrow`, and `borrow_mut` are never used
[INFO] [stdout]   --> src/rust/output_prelude.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |     impl<T> JsCell<T> {
[INFO] [stdout]    |     ----------------- associated items in this implementation
[INFO] [stdout] 21 |         pub fn new(value: T) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |         pub fn borrow(&self) -> &T {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |         pub fn borrow_mut<'a>(&'a self) -> RefMut<'a, T> {
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefMut` is never constructed
[INFO] [stdout]   --> src/rust/output_prelude.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub struct RefMut<'a, T: ?Sized> {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PI` should have a snake case name
[INFO] [stdout]   --> src/rust/output_prelude.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub PI: JsValue,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `pi`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s
[INFO] running `Command { std: "docker" "inspect" "86e7c16dfd1b5733e46b6253224db2d4e063fa5ad7adaac6260a3f5746ff79e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86e7c16dfd1b5733e46b6253224db2d4e063fa5ad7adaac6260a3f5746ff79e2", kill_on_drop: false }`
[INFO] [stdout] 86e7c16dfd1b5733e46b6253224db2d4e063fa5ad7adaac6260a3f5746ff79e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4e95d32c5df90bbb12ac020301ebdf67d150b6c3366457e946c1527aa9593bdb
[INFO] running `Command { std: "docker" "start" "-a" "4e95d32c5df90bbb12ac020301ebdf67d150b6c3366457e946c1527aa9593bdb", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Argument`, `AstNode`, `Program`, and `syntax::node`
[INFO] [stderr]   --> src/rust/mod.rs:6:13
[INFO] [stderr]    |
[INFO] [stderr] 6  |             Argument, AssignmentExpression, AssignmentOperator, AssignmentTarget, BinaryOperator,
[INFO] [stderr]    |             ^^^^^^^^
[INFO] [stderr] 7  |             BindingPattern, ComputedMemberExpression, Expression, ForStatementInit,
[INFO] [stderr] 8  |             ObjectPropertyKind, Program, PropertyKey, SimpleAssignmentTarget, Statement,
[INFO] [stderr]    |                                 ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 14 |     semantic::{AstNode, AstNodes},
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr] 15 |     syntax::node,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `variables`
[INFO] [stderr]   --> src/rust/mod.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |     let variables = nodes
[INFO] [stderr]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variables`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_nodes` is never used
[INFO] [stderr]   --> src/main.rs:79:4
[INFO] [stderr]    |
[INFO] [stderr] 79 | fn print_nodes(ast_nodes: &AstNodes) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `count_variable_modificiations` is never used
[INFO] [stderr]   --> src/rust/mod.rs:37:8
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub fn count_variable_modificiations(nodes: &AstNodes) -> HashMap<String, usize> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assignment_operator_to_rust_text` is never used
[INFO] [stderr]    --> src/rust/mod.rs:446:4
[INFO] [stderr]     |
[INFO] [stderr] 446 | fn assignment_operator_to_rust_text(operator: AssignmentOperator) -> &'static str {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConsoleStruct` is never constructed
[INFO] [stderr]   --> src/rust/output_prelude.rs:69:8
[INFO] [stderr]    |
[INFO] [stderr] 69 | struct ConsoleStruct {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProcessStruct` is never constructed
[INFO] [stderr]   --> src/rust/output_prelude.rs:74:8
[INFO] [stderr]    |
[INFO] [stderr] 74 | struct ProcessStruct {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MathStruct` is never constructed
[INFO] [stderr]   --> src/rust/output_prelude.rs:79:8
[INFO] [stderr]    |
[INFO] [stderr] 79 | struct MathStruct {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `console` is never used
[INFO] [stderr]    --> src/rust/output_prelude.rs:115:4
[INFO] [stderr]     |
[INFO] [stderr] 115 | fn console() -> ConsoleStruct {
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `process` is never used
[INFO] [stderr]    --> src/rust/output_prelude.rs:119:4
[INFO] [stderr]     |
[INFO] [stderr] 119 | fn process() -> ProcessStruct {
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `math` is never used
[INFO] [stderr]    --> src/rust/output_prelude.rs:123:4
[INFO] [stderr]     |
[INFO] [stderr] 123 | fn math() -> MathStruct {
[INFO] [stderr]     |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `JsString` is never constructed
[INFO] [stderr]    --> src/rust/output_prelude.rs:128:12
[INFO] [stderr]     |
[INFO] [stderr] 128 | pub struct JsString {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_str` is never used
[INFO] [stderr]    --> src/rust/output_prelude.rs:159:12
[INFO] [stderr]     |
[INFO] [stderr] 158 | impl JsString {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] 159 |     pub fn as_str(&self) -> &str {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ObjectSubtype` is never used
[INFO] [stderr]    --> src/rust/output_prelude.rs:164:6
[INFO] [stderr]     |
[INFO] [stderr] 164 | enum ObjectSubtype {
[INFO] [stderr]     |      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `JsObjectContents` is never constructed
[INFO] [stderr]    --> src/rust/output_prelude.rs:170:12
[INFO] [stderr]     |
[INFO] [stderr] 170 | pub struct JsObjectContents {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `JsObject` is never used
[INFO] [stderr]    --> src/rust/output_prelude.rs:185:10
[INFO] [stderr]     |
[INFO] [stderr] 185 | pub type JsObject = Rc<JsCell<JsObjectContents>>;
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `JsValue` is never used
[INFO] [stderr]    --> src/rust/output_prelude.rs:188:10
[INFO] [stderr]     |
[INFO] [stderr] 188 | pub enum JsValue {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/rust/output_prelude.rs:210:8
[INFO] [stderr]     |
[INFO] [stderr] 209 | impl JsValue {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] 210 |     fn from_entries<const N: usize>(entries: [(JsString, JsValue); N]) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 217 |     fn new_array(elements: Vec<JsValue>) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 224 |     fn new_function(func: Box<dyn Fn(&[JsValue]) -> JsValue>) -> JsValue {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 |     pub fn add(&self, other: JsValue) -> JsValue {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 235 |     pub fn sub(&self, other: JsValue) -> JsValue {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 239 |     pub fn mult(&self, other: JsValue) -> JsValue {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 243 |     pub fn divide(&self, other: JsValue) -> JsValue {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     fn do_binary_operation_nums(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 262 |     pub fn less(&self, other: JsValue) -> JsValue {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 270 |     pub fn get_prop(&self, name: JsValue) -> JsValue {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 325 |     pub fn set_prop(&self, name: JsValue, value: JsValue) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 347 |     pub fn to_js_string(&self) -> JsString {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 362 |     pub fn falsy(&self) -> bool {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 366 |     pub fn truthy(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 377 |     pub fn to_number(&self) -> JsValue {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 395 |     pub fn call(&self, args: &[JsValue]) -> JsValue {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `negate` is never used
[INFO] [stderr]    --> src/rust/output_prelude.rs:417:4
[INFO] [stderr]     |
[INFO] [stderr] 417 | fn negate(value: JsValue) -> JsValue {
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `plus` is never used
[INFO] [stderr]    --> src/rust/output_prelude.rs:426:4
[INFO] [stderr]     |
[INFO] [stderr] 426 | fn plus(value: JsValue) -> JsValue {
[INFO] [stderr]     |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `JsCell` is never constructed
[INFO] [stderr]   --> src/rust/output_prelude.rs:17:16
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub struct JsCell<T> {
[INFO] [stderr]    |                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `borrow`, and `borrow_mut` are never used
[INFO] [stderr]   --> src/rust/output_prelude.rs:21:16
[INFO] [stderr]    |
[INFO] [stderr] 20 |     impl<T> JsCell<T> {
[INFO] [stderr]    |     ----------------- associated items in this implementation
[INFO] [stderr] 21 |         pub fn new(value: T) -> Self {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |         pub fn borrow(&self) -> &T {
[INFO] [stderr]    |                ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |         pub fn borrow_mut<'a>(&'a self) -> RefMut<'a, T> {
[INFO] [stderr]    |                ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RefMut` is never constructed
[INFO] [stderr]   --> src/rust/output_prelude.rs:42:16
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub struct RefMut<'a, T: ?Sized> {
[INFO] [stderr]    |                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `PI` should have a snake case name
[INFO] [stderr]   --> src/rust/output_prelude.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub PI: JsValue,
[INFO] [stderr]    |         ^^ help: convert the identifier to snake case: `pi`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `jsrs` (bin "jsrs" test) generated 24 warnings (run `cargo fix --bin "jsrs" --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/jsrs-8b0a990cf929f90a)
[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" "4e95d32c5df90bbb12ac020301ebdf67d150b6c3366457e946c1527aa9593bdb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e95d32c5df90bbb12ac020301ebdf67d150b6c3366457e946c1527aa9593bdb", kill_on_drop: false }`
[INFO] [stdout] 4e95d32c5df90bbb12ac020301ebdf67d150b6c3366457e946c1527aa9593bdb
