[INFO] cloning repository https://github.com/J45k4/donitsi
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/J45k4/donitsi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ45k4%2Fdonitsi", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ45k4%2Fdonitsi'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d48ff2d2f9762f968a50f70060096600f14a65bf
[INFO] testing J45k4/donitsi against 1.76.0 for beta-1.77-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ45k4%2Fdonitsi" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/J45k4/donitsi on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/J45k4/donitsi
[INFO] finished tweaking git repo https://github.com/J45k4/donitsi
[INFO] tweaked toml for git repo https://github.com/J45k4/donitsi written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/J45k4/donitsi 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" "+1.76.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap_lex v0.4.1
[INFO] [stderr]   Downloaded concolor-override v1.0.0
[INFO] [stderr]   Downloaded beef v0.5.2
[INFO] [stderr]   Downloaded anstyle-parse v0.1.1
[INFO] [stderr]   Downloaded anstyle v0.3.5
[INFO] [stderr]   Downloaded logos v0.12.1
[INFO] [stderr]   Downloaded logos-derive v0.12.1
[INFO] [stderr]   Downloaded clap_derive v4.2.0
[INFO] [stderr]   Downloaded glow v0.12.1
[INFO] [stderr]   Downloaded rustix v0.37.9
[INFO] [stderr]   Downloaded libc v0.2.141
[INFO] [stderr]   Downloaded tokio v1.28.2
[INFO] [stderr]   Downloaded clap_builder v4.2.1
[INFO] [stderr]   Downloaded clap v4.2.1
[INFO] [stderr]   Downloaded wgpu v0.16.2
[INFO] [stderr]   Downloaded pin-project-lite v0.2.10
[INFO] [stderr]   Downloaded concolor-query v0.3.3
[INFO] [stderr]   Downloaded is-terminal v0.4.7
[INFO] [stderr]   Downloaded anstream v0.2.6
[INFO] [stderr]   Downloaded anstyle-wincon v0.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2e669693459339bcad89eb00cb629a3706d54632d112bdc88f39b92e919c6464
[INFO] running `Command { std: "docker" "start" "-a" "2e669693459339bcad89eb00cb629a3706d54632d112bdc88f39b92e919c6464", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2e669693459339bcad89eb00cb629a3706d54632d112bdc88f39b92e919c6464", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e669693459339bcad89eb00cb629a3706d54632d112bdc88f39b92e919c6464", kill_on_drop: false }`
[INFO] [stdout] 2e669693459339bcad89eb00cb629a3706d54632d112bdc88f39b92e919c6464
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3204cf5098976ed2bb397377fcec31da18309cb5f86e9a9c4fbe9297aacf2b0e
[INFO] running `Command { std: "docker" "start" "-a" "3204cf5098976ed2bb397377fcec31da18309cb5f86e9a9c4fbe9297aacf2b0e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.141
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling thiserror v1.0.40
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling rustix v0.37.9
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]    Compiling dlib v0.5.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling linux-raw-sys v0.3.1
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling termcolor v1.2.0
[INFO] [stderr]    Compiling miniz_oxide v0.6.2
[INFO] [stderr]    Compiling bytemuck v1.13.1
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling ash v0.37.2+1.3.238
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]    Compiling gpu-alloc-types v0.2.0
[INFO] [stderr]    Compiling gpu-descriptor-types v0.1.1
[INFO] [stderr]    Compiling freetype-sys v0.13.1
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling expat-sys v2.1.6
[INFO] [stderr]    Compiling servo-fontconfig-sys v5.1.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.0
[INFO] [stderr]    Compiling crossfont v0.5.1
[INFO] [stderr]    Compiling flate2 v1.0.25
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]    Compiling hexf-parse v0.2.1
[INFO] [stderr]    Compiling syn v2.0.13
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling foreign-types-shared v0.3.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling utf8parse v0.2.1
[INFO] [stderr]    Compiling raw-window-handle v0.5.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling arrayref v0.3.7
[INFO] [stderr]    Compiling bitflags v2.3.3
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling tiny-skia-path v0.7.0
[INFO] [stderr]    Compiling anstyle-parse v0.1.1
[INFO] [stderr]    Compiling wgpu-types v0.16.1
[INFO] [stderr]    Compiling png v0.17.7
[INFO] [stderr]    Compiling gpu-alloc v0.5.3
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling safe_arch v0.5.2
[INFO] [stderr]    Compiling libloading v0.8.0
[INFO] [stderr]    Compiling concolor-query v0.3.3
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling glow v0.12.1
[INFO] [stderr]    Compiling spirv v0.2.0+1.5.4
[INFO] [stderr]    Compiling renderdoc-sys v1.0.0
[INFO] [stderr]    Compiling profiling v1.0.7
[INFO] [stderr]    Compiling anstyle v0.3.5
[INFO] [stderr]    Compiling concolor-override v1.0.0
[INFO] [stderr]    Compiling arrayvec v0.7.2
[INFO] [stderr]    Compiling getrandom v0.2.9
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.7
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling servo-fontconfig v0.5.1
[INFO] [stderr]    Compiling freetype-rs v0.26.0
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling xcursor v0.3.4
[INFO] [stderr]    Compiling memmap2 v0.5.10
[INFO] [stderr]    Compiling tiny-skia v0.7.0
[INFO] [stderr]    Compiling gpu-descriptor v0.2.3
[INFO] [stderr]    Compiling mio v0.8.6
[INFO] [stderr]    Compiling aho-corasick v0.7.20
[INFO] [stderr]    Compiling tokio v1.28.2
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling is-terminal v0.4.7
[INFO] [stderr]    Compiling anstream v0.2.6
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling clap_lex v0.4.1
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling clap_builder v4.2.1
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling pin-project-lite v0.2.10
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling regex v1.7.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.40
[INFO] [stderr]    Compiling foreign-types-macros v0.2.3
[INFO] [stderr]    Compiling clap_derive v4.2.0
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling env_logger v0.10.0
[INFO] [stderr]    Compiling foreign-types v0.5.0
[INFO] [stderr]    Compiling logos-derive v0.12.1
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling naga v0.12.3
[INFO] [stderr]    Compiling calloop v0.10.5
[INFO] [stderr]    Compiling clap v4.2.1
[INFO] [stderr]    Compiling logos v0.12.1
[INFO] [stderr]    Compiling wgpu-hal v0.16.2
[INFO] [stderr]    Compiling wgpu-core v0.16.1
[INFO] [stderr]    Compiling wgpu v0.16.2
[INFO] [stderr]    Compiling sctk-adwaita v0.4.3
[INFO] [stderr]    Compiling winit v0.27.5
[INFO] [stderr]    Compiling donitsi v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::pretty::ast_pretty_string`
[INFO] [stdout]  --> src/commands/ast.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::pretty::ast_pretty_string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::ElementState`
[INFO] [stdout]  --> src/commands/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use winit::event::ElementState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::Event`
[INFO] [stdout]  --> src/commands/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use winit::event::Event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::KeyboardInput`
[INFO] [stdout]  --> src/commands/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use winit::event::KeyboardInput;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::VirtualKeyCode`
[INFO] [stdout]  --> src/commands/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use winit::event::VirtualKeyCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::WindowEvent`
[INFO] [stdout]   --> src/commands/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use winit::event::WindowEvent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event_loop::ControlFlow`
[INFO] [stdout]   --> src/commands/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use winit::event_loop::ControlFlow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event_loop::EventLoop`
[INFO] [stdout]   --> src/commands/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use winit::event_loop::EventLoop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::window::WindowBuilder`
[INFO] [stdout]   --> src/commands/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use winit::window::WindowBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::component::Object`
[INFO] [stdout]  --> src/vm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::component::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::Call`
[INFO] [stdout]  --> src/vm.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser::Call;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> src/donitsi.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let window = WindowBuilder::new()
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]  --> src/commands/ast.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let buffer = read_to_string(args.path).expect("Error reading file");
[INFO] [stdout]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_name`
[INFO] [stdout]   --> src/component.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn call_method(&self, method_name: &str, args: Value) {}
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/component.rs:14:46
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn call_method(&self, method_name: &str, args: Value) {}
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/component.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn call(&self, args: Value) {}
[INFO] [stdout]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:190:32
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 ByteCode::Load(id) => {
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:196:40
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 ByteCode::CreateStruct(id) => {
[INFO] [stdout]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:201:36
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 ByteCode::AddField(id) => {
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:206:38
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 ByteCode::LoadStruct(id) => {
[INFO] [stdout]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:211:38
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 ByteCode::StoreField(id) => {
[INFO] [stdout]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:216:42
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 ByteCode::InstanceStruct(id) => {
[INFO] [stdout]     |                                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:239:37
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 ByteCode::MakeArray(id) => {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:244:34
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 ByteCode::MakeFn(id) => {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:249:32
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 ByteCode::Call(id) => {
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let mut item = match self.call_stack.last_mut() {
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tensors`
[INFO] [stdout]   --> src/components.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn concat(tensors: &[Tensor]) -> Tensor {
[INFO] [stdout]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tensors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/components.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn xrot(x: f32) -> Rotation {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/compiler.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |             ASTNode::StructIns(obj) => todo!(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]   --> src/compiler.rs:92:32
[INFO] [stdout]    |
[INFO] [stdout] 92 |             ASTNode::StructIns(obj) => todo!(),
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def`
[INFO] [stdout]    --> src/compiler.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |             ASTNode::Var(def) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prob`
[INFO] [stdout]    --> src/compiler.rs:121:33
[INFO] [stdout]     |
[INFO] [stdout] 121 |             ASTNode::ProbAccess(prob) => {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_prob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]    --> src/compiler.rs:124:26
[INFO] [stdout]     |
[INFO] [stdout] 124 |             ASTNode::Obj(obj) => todo!("Object literals are not supported yet"),
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/compiler.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |             ASTNode::Ret(ret) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/parser.rs:112:2
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub enum VarType {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] 112 |     Int,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 113 |     Float,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 114 |     String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 115 |     Var(String),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 116 |     StrLit(String),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 117 |     FnDef(Fun),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 118 |     Ident(String),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VarType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ForLoop`, `Property`, `LiteralPercent`, `StructDef`, `TypeDef`, and `Obj` are never constructed
[INFO] [stdout]    --> src/parser.rs:177:2
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub enum ASTNode {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 177 |     ForLoop(ForLoop),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     Property(String, Box<ASTNode>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 181 |     Lit(Value),
[INFO] [stdout] 182 |     LiteralPercent(f64),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     Fun(Fun),
[INFO] [stdout] 184 |     StructDef(StructDef),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 185 |     TypeDef(TypeDef),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     Obj(Obj),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ASTNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_loglevel` is never used
[INFO] [stdout]    --> src/parser.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl Parser {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn set_loglevel(mut self, level: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_window` is never used
[INFO] [stdout]   --> src/window.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn run_window(title: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/window.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Window {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 49 |     pub async fn new(event_loop: &EventLoop<()>, instance: &Instance) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComponentProperty` is never constructed
[INFO] [stdout]  --> src/component.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ComponentProperty {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StructField` is never constructed
[INFO] [stdout]   --> src/vm.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct StructField {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StructDef` is never constructed
[INFO] [stdout]   --> src/vm.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct StructDef {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LoadStruct` and `InstanceStruct` are never constructed
[INFO] [stdout]   --> src/vm.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ByteCode {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     LoadStruct(usize),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 28 |     StoreField(usize),
[INFO] [stdout] 29 |     InstanceStruct(usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ByteCode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scopes` is never read
[INFO] [stdout]   --> src/vm.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Scope {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 42 |     scopes: Vec<HashMap<usize, Value>>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Scope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_scope`, `pop_scope`, `insert`, and `get` are never used
[INFO] [stdout]   --> src/vm.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Scope {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn push_scope(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn pop_scope(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn insert(&mut self, id: usize, val: Value) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn get(&self, var: &usize) -> Option<&Value> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IdentMap` is never constructed
[INFO] [stdout]   --> src/vm.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | struct IdentMap {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, and `insert` are never used
[INFO] [stdout]   --> src/vm.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl IdentMap {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 81 |     pub fn new() -> IdentMap {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn get(&self, ident: &str) -> Option<usize> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn insert(&mut self, ident: String, id: usize) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path`, `bytecode`, `pc`, and `ast` are never read
[INFO] [stdout]    --> src/vm.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout] 97  | struct CodeFile {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 98  |     path: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 99  |     bytecode: Vec<ByteCode>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 100 |     pc: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 101 |     ast: Vec<ASTNode>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CodeFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ast_to_pretty_string` and `to_pretty_string` are never used
[INFO] [stdout]    --> src/vm.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl CodeFile {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 105 |     pub fn ast_to_pretty_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn to_pretty_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `str_to_id`, `id_to_str`, `float_map`, and `scope` are never read
[INFO] [stdout]    --> src/vm.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Vm {
[INFO] [stdout]     |            -- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     str_to_id: HashMap<String, usize>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 141 |     id_to_str: HashMap<usize, String>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 142 |     float_map: HashMap<f64, usize>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 143 |     scope: Scope,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `store_const` and `get_str` are never used
[INFO] [stdout]    --> src/vm.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl Vm {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub fn store_const(&mut self, c: Const) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     fn get_str(&mut self, ident: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bool`, `Array`, and `None` are never constructed
[INFO] [stdout]  --> src/types.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Value {
[INFO] [stdout]   |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 6 |     Bool(bool),
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Array(Vec<Value>),
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 8 |     None,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Value` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Callback` is never constructed
[INFO] [stdout]   --> src/types.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Callback<T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `call` is never used
[INFO] [stdout]   --> src/types.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<T> Callback<T> {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 16 |     fn call(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Construct`, `Destruct`, `LoadField`, `StoreField`, `Call`, and `Import` are never constructed
[INFO] [stdout]   --> src/types.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Action {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] 22 |     Construct{ id: usize },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 23 |     Destruct{ id: usize },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 24 |     LoadField{ id: usize, field: usize },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 25 |     StoreField{ id: usize, field: usize, val: Value },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     Call{ id: usize, args: Vec<Value> },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 27 |     Import{ path: String },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Row` is never constructed
[INFO] [stdout]  --> src/ui.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum FlexDir {
[INFO] [stdout]   |          ------- variant in this enum
[INFO] [stdout] 5 |     Col,
[INFO] [stdout] 6 |     Row
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Div` and `Text` are never constructed
[INFO] [stdout]   --> src/ui.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum DivChild {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 16 |     Div(Div),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 17 |     Text(Text)
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Clickable` is never constructed
[INFO] [stdout]   --> src/ui.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Clickable {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Keyboard` is never constructed
[INFO] [stdout]   --> src/ui.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Keyboard {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ast_pretty_string` is never used
[INFO] [stdout]  --> src/pretty.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn ast_pretty_string(node: &ASTNode) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_window` is never used
[INFO] [stdout]   --> src/donitsi.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Donitsi {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     async fn create_window(&self, title: &str) -> Window {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tringle` is never constructed
[INFO] [stdout]  --> src/components.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Tringle {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Child` is never used
[INFO] [stdout]  --> src/components.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Child {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Container` is never constructed
[INFO] [stdout]   --> src/components.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Container {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Text` is never constructed
[INFO] [stdout]   --> src/components.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Text {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]   --> src/components.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Shape {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 38 |     vertices: Vec<Vertex>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     indices: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Shape` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]   --> src/components.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Rectangle {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tensor` is never constructed
[INFO] [stdout]   --> src/components.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Tensor {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `concat` is never used
[INFO] [stdout]   --> src/components.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl Tensor {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 55 |     pub fn concat(tensors: &[Tensor]) -> Tensor {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Light` is never constructed
[INFO] [stdout]   --> src/components.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Light {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Translation` is never constructed
[INFO] [stdout]   --> src/components.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Translation {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rotation` is never constructed
[INFO] [stdout]   --> src/components.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct Rotation {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `xrot` is never used
[INFO] [stdout]   --> src/components.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl Rotation {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn xrot(x: f32) -> Rotation {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 73 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 54.11s
[INFO] running `Command { std: "docker" "inspect" "3204cf5098976ed2bb397377fcec31da18309cb5f86e9a9c4fbe9297aacf2b0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3204cf5098976ed2bb397377fcec31da18309cb5f86e9a9c4fbe9297aacf2b0e", kill_on_drop: false }`
[INFO] [stdout] 3204cf5098976ed2bb397377fcec31da18309cb5f86e9a9c4fbe9297aacf2b0e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 29dc40ed5fededc25df0bcd0b3160b6cd1dae1ae33ac7bc549d4a2f93279ee4b
[INFO] running `Command { std: "docker" "start" "-a" "29dc40ed5fededc25df0bcd0b3160b6cd1dae1ae33ac7bc549d4a2f93279ee4b", kill_on_drop: false }`
[INFO] [stderr]    Compiling donitsi v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::pretty::ast_pretty_string`
[INFO] [stdout]  --> src/commands/ast.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::pretty::ast_pretty_string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::ElementState`
[INFO] [stdout]  --> src/commands/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use winit::event::ElementState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::Event`
[INFO] [stdout]  --> src/commands/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use winit::event::Event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::KeyboardInput`
[INFO] [stdout]  --> src/commands/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use winit::event::KeyboardInput;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::VirtualKeyCode`
[INFO] [stdout]  --> src/commands/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use winit::event::VirtualKeyCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::WindowEvent`
[INFO] [stdout]   --> src/commands/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use winit::event::WindowEvent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event_loop::ControlFlow`
[INFO] [stdout]   --> src/commands/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use winit::event_loop::ControlFlow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event_loop::EventLoop`
[INFO] [stdout]   --> src/commands/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use winit::event_loop::EventLoop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::window::WindowBuilder`
[INFO] [stdout]   --> src/commands/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use winit::window::WindowBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::component::Object`
[INFO] [stdout]  --> src/vm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::component::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::Call`
[INFO] [stdout]  --> src/vm.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser::Call;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/vm.rs:446:9
[INFO] [stdout]     |
[INFO] [stdout] 446 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> src/donitsi.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let window = WindowBuilder::new()
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]  --> src/commands/ast.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let buffer = read_to_string(args.path).expect("Error reading file");
[INFO] [stdout]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_name`
[INFO] [stdout]   --> src/component.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn call_method(&self, method_name: &str, args: Value) {}
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/component.rs:14:46
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn call_method(&self, method_name: &str, args: Value) {}
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/component.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn call(&self, args: Value) {}
[INFO] [stdout]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:190:32
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 ByteCode::Load(id) => {
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:196:40
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 ByteCode::CreateStruct(id) => {
[INFO] [stdout]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:201:36
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 ByteCode::AddField(id) => {
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:206:38
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 ByteCode::LoadStruct(id) => {
[INFO] [stdout]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:211:38
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 ByteCode::StoreField(id) => {
[INFO] [stdout]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:216:42
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 ByteCode::InstanceStruct(id) => {
[INFO] [stdout]     |                                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:239:37
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 ByteCode::MakeArray(id) => {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:244:34
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 ByteCode::MakeFn(id) => {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/vm.rs:249:32
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 ByteCode::Call(id) => {
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let mut item = match self.call_stack.last_mut() {
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tensors`
[INFO] [stdout]   --> src/components.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn concat(tensors: &[Tensor]) -> Tensor {
[INFO] [stdout]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tensors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/components.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn xrot(x: f32) -> Rotation {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/compiler.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |             ASTNode::StructIns(obj) => todo!(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]   --> src/compiler.rs:92:32
[INFO] [stdout]    |
[INFO] [stdout] 92 |             ASTNode::StructIns(obj) => todo!(),
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def`
[INFO] [stdout]    --> src/compiler.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |             ASTNode::Var(def) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prob`
[INFO] [stdout]    --> src/compiler.rs:121:33
[INFO] [stdout]     |
[INFO] [stdout] 121 |             ASTNode::ProbAccess(prob) => {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_prob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]    --> src/compiler.rs:124:26
[INFO] [stdout]     |
[INFO] [stdout] 124 |             ASTNode::Obj(obj) => todo!("Object literals are not supported yet"),
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/compiler.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |             ASTNode::Ret(ret) => {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/parser.rs:112:2
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub enum VarType {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] 112 |     Int,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 113 |     Float,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 114 |     String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 115 |     Var(String),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 116 |     StrLit(String),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 117 |     FnDef(Fun),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 118 |     Ident(String),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VarType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ForLoop`, `Property`, `LiteralPercent`, `StructDef`, `TypeDef`, and `Obj` are never constructed
[INFO] [stdout]    --> src/parser.rs:177:2
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub enum ASTNode {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 177 |     ForLoop(ForLoop),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     Property(String, Box<ASTNode>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 181 |     Lit(Value),
[INFO] [stdout] 182 |     LiteralPercent(f64),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     Fun(Fun),
[INFO] [stdout] 184 |     StructDef(StructDef),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 185 |     TypeDef(TypeDef),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     Obj(Obj),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ASTNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_loglevel` is never used
[INFO] [stdout]    --> src/parser.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl Parser {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn set_loglevel(mut self, level: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_window` is never used
[INFO] [stdout]   --> src/window.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn run_window(title: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/window.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Window {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 49 |     pub async fn new(event_loop: &EventLoop<()>, instance: &Instance) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComponentProperty` is never constructed
[INFO] [stdout]  --> src/component.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ComponentProperty {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StructField` is never constructed
[INFO] [stdout]   --> src/vm.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct StructField {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StructDef` is never constructed
[INFO] [stdout]   --> src/vm.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct StructDef {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LoadStruct` and `InstanceStruct` are never constructed
[INFO] [stdout]   --> src/vm.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ByteCode {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     LoadStruct(usize),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 28 |     StoreField(usize),
[INFO] [stdout] 29 |     InstanceStruct(usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ByteCode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scopes` is never read
[INFO] [stdout]   --> src/vm.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Scope {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 42 |     scopes: Vec<HashMap<usize, Value>>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Scope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_scope`, `pop_scope`, `insert`, and `get` are never used
[INFO] [stdout]   --> src/vm.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Scope {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn push_scope(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn pop_scope(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn insert(&mut self, id: usize, val: Value) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn get(&self, var: &usize) -> Option<&Value> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IdentMap` is never constructed
[INFO] [stdout]   --> src/vm.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | struct IdentMap {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, and `insert` are never used
[INFO] [stdout]   --> src/vm.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl IdentMap {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 81 |     pub fn new() -> IdentMap {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn get(&self, ident: &str) -> Option<usize> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn insert(&mut self, ident: String, id: usize) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path`, `bytecode`, `pc`, and `ast` are never read
[INFO] [stdout]    --> src/vm.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout] 97  | struct CodeFile {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 98  |     path: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 99  |     bytecode: Vec<ByteCode>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 100 |     pc: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 101 |     ast: Vec<ASTNode>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CodeFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ast_to_pretty_string` and `to_pretty_string` are never used
[INFO] [stdout]    --> src/vm.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl CodeFile {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 105 |     pub fn ast_to_pretty_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn to_pretty_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `str_to_id`, `id_to_str`, `float_map`, and `scope` are never read
[INFO] [stdout]    --> src/vm.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Vm {
[INFO] [stdout]     |            -- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     str_to_id: HashMap<String, usize>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 141 |     id_to_str: HashMap<usize, String>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 142 |     float_map: HashMap<f64, usize>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 143 |     scope: Scope,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `store_const` and `get_str` are never used
[INFO] [stdout]    --> src/vm.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl Vm {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub fn store_const(&mut self, c: Const) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     fn get_str(&mut self, ident: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bool`, `Array`, and `None` are never constructed
[INFO] [stdout]  --> src/types.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Value {
[INFO] [stdout]   |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 6 |     Bool(bool),
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Array(Vec<Value>),
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 8 |     None,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Value` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Callback` is never constructed
[INFO] [stdout]   --> src/types.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Callback<T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `call` is never used
[INFO] [stdout]   --> src/types.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<T> Callback<T> {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 16 |     fn call(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Construct`, `Destruct`, `LoadField`, `StoreField`, `Call`, and `Import` are never constructed
[INFO] [stdout]   --> src/types.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Action {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] 22 |     Construct{ id: usize },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 23 |     Destruct{ id: usize },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 24 |     LoadField{ id: usize, field: usize },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 25 |     StoreField{ id: usize, field: usize, val: Value },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     Call{ id: usize, args: Vec<Value> },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 27 |     Import{ path: String },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Row` is never constructed
[INFO] [stdout]  --> src/ui.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum FlexDir {
[INFO] [stdout]   |          ------- variant in this enum
[INFO] [stdout] 5 |     Col,
[INFO] [stdout] 6 |     Row
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Div` and `Text` are never constructed
[INFO] [stdout]   --> src/ui.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum DivChild {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 16 |     Div(Div),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 17 |     Text(Text)
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Clickable` is never constructed
[INFO] [stdout]   --> src/ui.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Clickable {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Keyboard` is never constructed
[INFO] [stdout]   --> src/ui.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Keyboard {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ast_pretty_string` is never used
[INFO] [stdout]  --> src/pretty.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn ast_pretty_string(node: &ASTNode) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_window` is never used
[INFO] [stdout]   --> src/donitsi.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Donitsi {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     async fn create_window(&self, title: &str) -> Window {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tringle` is never constructed
[INFO] [stdout]  --> src/components.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Tringle {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Child` is never used
[INFO] [stdout]  --> src/components.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Child {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Container` is never constructed
[INFO] [stdout]   --> src/components.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Container {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Text` is never constructed
[INFO] [stdout]   --> src/components.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Text {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]   --> src/components.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Shape {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 38 |     vertices: Vec<Vertex>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     indices: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Shape` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]   --> src/components.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Rectangle {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tensor` is never constructed
[INFO] [stdout]   --> src/components.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Tensor {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `concat` is never used
[INFO] [stdout]   --> src/components.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl Tensor {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 55 |     pub fn concat(tensors: &[Tensor]) -> Tensor {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Light` is never constructed
[INFO] [stdout]   --> src/components.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Light {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Translation` is never constructed
[INFO] [stdout]   --> src/components.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Translation {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rotation` is never constructed
[INFO] [stdout]   --> src/components.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct Rotation {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `xrot` is never used
[INFO] [stdout]   --> src/components.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl Rotation {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn xrot(x: f32) -> Rotation {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 74 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.51s
[INFO] running `Command { std: "docker" "inspect" "29dc40ed5fededc25df0bcd0b3160b6cd1dae1ae33ac7bc549d4a2f93279ee4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29dc40ed5fededc25df0bcd0b3160b6cd1dae1ae33ac7bc549d4a2f93279ee4b", kill_on_drop: false }`
[INFO] [stdout] 29dc40ed5fededc25df0bcd0b3160b6cd1dae1ae33ac7bc549d4a2f93279ee4b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 40450a881dd3485860db10c97dc3bfb19ad24cb6a9e05c882386bd0449cd41f0
[INFO] running `Command { std: "docker" "start" "-a" "40450a881dd3485860db10c97dc3bfb19ad24cb6a9e05c882386bd0449cd41f0", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::pretty::ast_pretty_string`
[INFO] [stderr]  --> src/commands/ast.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::pretty::ast_pretty_string;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `winit::event::ElementState`
[INFO] [stderr]  --> src/commands/mod.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use winit::event::ElementState;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `winit::event::Event`
[INFO] [stderr]  --> src/commands/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use winit::event::Event;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `winit::event::KeyboardInput`
[INFO] [stderr]  --> src/commands/mod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use winit::event::KeyboardInput;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `winit::event::VirtualKeyCode`
[INFO] [stderr]  --> src/commands/mod.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use winit::event::VirtualKeyCode;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `winit::event::WindowEvent`
[INFO] [stderr]   --> src/commands/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use winit::event::WindowEvent;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `winit::event_loop::ControlFlow`
[INFO] [stderr]   --> src/commands/mod.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use winit::event_loop::ControlFlow;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `winit::event_loop::EventLoop`
[INFO] [stderr]   --> src/commands/mod.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use winit::event_loop::EventLoop;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `winit::window::WindowBuilder`
[INFO] [stderr]   --> src/commands/mod.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use winit::window::WindowBuilder;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::component::Object`
[INFO] [stderr]  --> src/vm.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::component::Object;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::parser::Call`
[INFO] [stderr]  --> src/vm.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::parser::Call;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/vm.rs:446:9
[INFO] [stderr]     |
[INFO] [stderr] 446 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `window`
[INFO] [stderr]   --> src/donitsi.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let window = WindowBuilder::new()
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buffer`
[INFO] [stderr]  --> src/commands/ast.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |     let buffer = read_to_string(args.path).expect("Error reading file");
[INFO] [stderr]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `method_name`
[INFO] [stderr]   --> src/component.rs:14:27
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn call_method(&self, method_name: &str, args: Value) {}
[INFO] [stderr]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]   --> src/component.rs:14:46
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn call_method(&self, method_name: &str, args: Value) {}
[INFO] [stderr]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]   --> src/component.rs:16:20
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn call(&self, args: Value) {}
[INFO] [stderr]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/vm.rs:190:32
[INFO] [stderr]     |
[INFO] [stderr] 190 |                 ByteCode::Load(id) => {
[INFO] [stderr]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/vm.rs:196:40
[INFO] [stderr]     |
[INFO] [stderr] 196 |                 ByteCode::CreateStruct(id) => {
[INFO] [stderr]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/vm.rs:201:36
[INFO] [stderr]     |
[INFO] [stderr] 201 |                 ByteCode::AddField(id) => {
[INFO] [stderr]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/vm.rs:206:38
[INFO] [stderr]     |
[INFO] [stderr] 206 |                 ByteCode::LoadStruct(id) => {
[INFO] [stderr]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/vm.rs:211:38
[INFO] [stderr]     |
[INFO] [stderr] 211 |                 ByteCode::StoreField(id) => {
[INFO] [stderr]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/vm.rs:216:42
[INFO] [stderr]     |
[INFO] [stderr] 216 |                 ByteCode::InstanceStruct(id) => {
[INFO] [stderr]     |                                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/vm.rs:239:37
[INFO] [stderr]     |
[INFO] [stderr] 239 |                 ByteCode::MakeArray(id) => {
[INFO] [stderr]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/vm.rs:244:34
[INFO] [stderr]     |
[INFO] [stderr] 244 |                 ByteCode::MakeFn(id) => {
[INFO] [stderr]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/vm.rs:249:32
[INFO] [stderr]     |
[INFO] [stderr] 249 |                 ByteCode::Call(id) => {
[INFO] [stderr]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm.rs:165:13
[INFO] [stderr]     |
[INFO] [stderr] 165 |         let mut item = match self.call_stack.last_mut() {
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tensors`
[INFO] [stderr]   --> src/components.rs:55:19
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn concat(tensors: &[Tensor]) -> Tensor {
[INFO] [stderr]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tensors`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/components.rs:80:17
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn xrot(x: f32) -> Rotation {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/compiler.rs:92:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |             ASTNode::StructIns(obj) => todo!(),
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `obj`
[INFO] [stderr]   --> src/compiler.rs:92:32
[INFO] [stderr]    |
[INFO] [stderr] 92 |             ASTNode::StructIns(obj) => todo!(),
[INFO] [stderr]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `def`
[INFO] [stderr]    --> src/compiler.rs:118:26
[INFO] [stderr]     |
[INFO] [stderr] 118 |             ASTNode::Var(def) => {
[INFO] [stderr]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_def`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prob`
[INFO] [stderr]    --> src/compiler.rs:121:33
[INFO] [stderr]     |
[INFO] [stderr] 121 |             ASTNode::ProbAccess(prob) => {
[INFO] [stderr]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_prob`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `obj`
[INFO] [stderr]    --> src/compiler.rs:124:26
[INFO] [stderr]     |
[INFO] [stderr] 124 |             ASTNode::Obj(obj) => todo!("Object literals are not supported yet"),
[INFO] [stderr]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ret`
[INFO] [stderr]    --> src/compiler.rs:125:26
[INFO] [stderr]     |
[INFO] [stderr] 125 |             ASTNode::Ret(ret) => {
[INFO] [stderr]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]    --> src/parser.rs:112:2
[INFO] [stderr]     |
[INFO] [stderr] 111 | pub enum VarType {
[INFO] [stderr]     |          ------- variants in this enum
[INFO] [stderr] 112 |     Int,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 113 |     Float,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 114 |     String,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 115 |     Var(String),
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 116 |     StrLit(String),
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 117 |     FnDef(Fun),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 118 |     Ident(String),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `VarType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `ForLoop`, `Property`, `LiteralPercent`, `StructDef`, `TypeDef`, and `Obj` are never constructed
[INFO] [stderr]    --> src/parser.rs:177:2
[INFO] [stderr]     |
[INFO] [stderr] 173 | pub enum ASTNode {
[INFO] [stderr]     |          ------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 177 |     ForLoop(ForLoop),
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     Property(String, Box<ASTNode>),
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 181 |     Lit(Value),
[INFO] [stderr] 182 |     LiteralPercent(f64),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 183 |     Fun(Fun),
[INFO] [stderr] 184 |     StructDef(StructDef),
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 185 |     TypeDef(TypeDef),
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 188 |     Obj(Obj),
[INFO] [stderr]     |     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ASTNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_loglevel` is never used
[INFO] [stderr]    --> src/parser.rs:219:9
[INFO] [stderr]     |
[INFO] [stderr] 206 | impl Parser {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 219 |     pub fn set_loglevel(mut self, level: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_window` is never used
[INFO] [stderr]   --> src/window.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn run_window(title: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/window.rs:49:18
[INFO] [stderr]    |
[INFO] [stderr] 48 | impl Window {
[INFO] [stderr]    | ----------- associated function in this implementation
[INFO] [stderr] 49 |     pub async fn new(event_loop: &EventLoop<()>, instance: &Instance) -> Self {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ComponentProperty` is never constructed
[INFO] [stderr]  --> src/component.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct ComponentProperty {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `StructField` is never constructed
[INFO] [stderr]   --> src/vm.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | struct StructField {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `StructDef` is never constructed
[INFO] [stderr]   --> src/vm.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | struct StructDef {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `LoadStruct` and `InstanceStruct` are never constructed
[INFO] [stderr]   --> src/vm.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub enum ByteCode {
[INFO] [stderr]    |          -------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 27 |     LoadStruct(usize),
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 28 |     StoreField(usize),
[INFO] [stderr] 29 |     InstanceStruct(usize),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ByteCode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `scopes` is never read
[INFO] [stderr]   --> src/vm.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 41 | struct Scope {
[INFO] [stderr]    |        ----- field in this struct
[INFO] [stderr] 42 |     scopes: Vec<HashMap<usize, Value>>
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Scope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `push_scope`, `pop_scope`, `insert`, and `get` are never used
[INFO] [stderr]   --> src/vm.rs:52:8
[INFO] [stderr]    |
[INFO] [stderr] 45 | impl Scope {
[INFO] [stderr]    | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 52 |     fn push_scope(&mut self) {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     fn pop_scope(&mut self) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |     fn insert(&mut self, id: usize, val: Value) {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     fn get(&self, var: &usize) -> Option<&Value> {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `IdentMap` is never constructed
[INFO] [stderr]   --> src/vm.rs:76:8
[INFO] [stderr]    |
[INFO] [stderr] 76 | struct IdentMap {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `get`, and `insert` are never used
[INFO] [stderr]   --> src/vm.rs:81:12
[INFO] [stderr]    |
[INFO] [stderr] 80 | impl IdentMap {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] 81 |     pub fn new() -> IdentMap {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 87 |     pub fn get(&self, ident: &str) -> Option<usize> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 91 |     pub fn insert(&mut self, ident: String, id: usize) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `path`, `bytecode`, `pc`, and `ast` are never read
[INFO] [stderr]    --> src/vm.rs:98:5
[INFO] [stderr]     |
[INFO] [stderr] 97  | struct CodeFile {
[INFO] [stderr]     |        -------- fields in this struct
[INFO] [stderr] 98  |     path: String,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 99  |     bytecode: Vec<ByteCode>,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 100 |     pc: usize,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 101 |     ast: Vec<ASTNode>,
[INFO] [stderr]     |     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CodeFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `ast_to_pretty_string` and `to_pretty_string` are never used
[INFO] [stderr]    --> src/vm.rs:105:12
[INFO] [stderr]     |
[INFO] [stderr] 104 | impl CodeFile {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] 105 |     pub fn ast_to_pretty_string(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 114 |     pub fn to_pretty_string(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `str_to_id`, `id_to_str`, `float_map`, and `scope` are never read
[INFO] [stderr]    --> src/vm.rs:140:5
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub struct Vm {
[INFO] [stderr]     |            -- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 140 |     str_to_id: HashMap<String, usize>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 141 |     id_to_str: HashMap<usize, String>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 142 |     float_map: HashMap<f64, usize>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 143 |     scope: Scope,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `store_const` and `get_str` are never used
[INFO] [stderr]    --> src/vm.rs:273:12
[INFO] [stderr]     |
[INFO] [stderr] 149 | impl Vm {
[INFO] [stderr]     | ------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 273 |     pub fn store_const(&mut self, c: Const) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 301 |     fn get_str(&mut self, ident: &str) -> usize {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Bool`, `Array`, and `None` are never constructed
[INFO] [stderr]  --> src/types.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum Value {
[INFO] [stderr]   |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 6 |     Bool(bool),
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 7 |     Array(Vec<Value>),
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 8 |     None,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Value` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Callback` is never constructed
[INFO] [stderr]   --> src/types.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct Callback<T> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `call` is never used
[INFO] [stderr]   --> src/types.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl<T> Callback<T> {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] 16 |     fn call(&self) {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Construct`, `Destruct`, `LoadField`, `StoreField`, `Call`, and `Import` are never constructed
[INFO] [stderr]   --> src/types.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub enum Action {
[INFO] [stderr]    |          ------ variants in this enum
[INFO] [stderr] 22 |     Construct{ id: usize },
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 23 |     Destruct{ id: usize },
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 24 |     LoadField{ id: usize, field: usize },
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 25 |     StoreField{ id: usize, field: usize, val: Value },
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 26 |     Call{ id: usize, args: Vec<Value> },
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 27 |     Import{ path: String },
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Row` is never constructed
[INFO] [stderr]  --> src/ui.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub enum FlexDir {
[INFO] [stderr]   |          ------- variant in this enum
[INFO] [stderr] 5 |     Col,
[INFO] [stderr] 6 |     Row
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Div` and `Text` are never constructed
[INFO] [stderr]   --> src/ui.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum DivChild {
[INFO] [stderr]    |          -------- variants in this enum
[INFO] [stderr] 16 |     Div(Div),
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 17 |     Text(Text)
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Clickable` is never constructed
[INFO] [stderr]   --> src/ui.rs:55:12
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub struct Clickable {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Keyboard` is never constructed
[INFO] [stderr]   --> src/ui.rs:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub struct Keyboard {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ast_pretty_string` is never used
[INFO] [stderr]  --> src/pretty.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn ast_pretty_string(node: &ASTNode) -> String {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `create_window` is never used
[INFO] [stderr]   --> src/donitsi.rs:34:14
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl Donitsi {
[INFO] [stderr]    | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 34 |     async fn create_window(&self, title: &str) -> Window {
[INFO] [stderr]    |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Tringle` is never constructed
[INFO] [stderr]  --> src/components.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Tringle {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Child` is never used
[INFO] [stderr]  --> src/components.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub enum Child {
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Container` is never constructed
[INFO] [stderr]   --> src/components.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct Container {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Text` is never constructed
[INFO] [stderr]   --> src/components.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct Text {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `vertices` and `indices` are never read
[INFO] [stderr]   --> src/components.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub struct Shape {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] 38 |     vertices: Vec<Vertex>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 39 |     indices: Vec<u32>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Shape` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Rectangle` is never constructed
[INFO] [stderr]   --> src/components.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct Rectangle {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Tensor` is never constructed
[INFO] [stderr]   --> src/components.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct Tensor {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `concat` is never used
[INFO] [stderr]   --> src/components.rs:55:12
[INFO] [stderr]    |
[INFO] [stderr] 54 | impl Tensor {
[INFO] [stderr]    | ----------- associated function in this implementation
[INFO] [stderr] 55 |     pub fn concat(tensors: &[Tensor]) -> Tensor {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Light` is never constructed
[INFO] [stderr]   --> src/components.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub struct Light {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Translation` is never constructed
[INFO] [stderr]   --> src/components.rs:69:12
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub struct Translation {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Rotation` is never constructed
[INFO] [stderr]   --> src/components.rs:75:12
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub struct Rotation {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `xrot` is never used
[INFO] [stderr]   --> src/components.rs:80:12
[INFO] [stderr]    |
[INFO] [stderr] 79 | impl Rotation {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 80 |     pub fn xrot(x: f32) -> Rotation {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `donitsi` (bin "donitsi" test) generated 74 warnings (run `cargo fix --bin "donitsi" --tests` to apply 34 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/donitsi-3db1122f03f6ef18)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test compiler::tests::test_assign_num_lit ... ok
[INFO] [stdout] test compiler::tests::test_assign_str_lit ... ok
[INFO] [stdout] test compiler::tests::test_more_complicated_binop ... ok
[INFO] [stdout] test compiler::tests::test_simple_binop ... ok
[INFO] [stdout] test parser::tests::test_array_with_many_numbers ... ok
[INFO] [stdout] test parser::tests::test_call_with_callback ... ok
[INFO] [stdout] test parser::tests::test_call_with_num_arg ... ok
[INFO] [stdout] test parser::tests::test_call_without_args ... ok
[INFO] [stdout] test parser::tests::test_double_call ... ok
[INFO] [stdout] test parser::tests::test_empty_array ... ok
[INFO] [stdout] test parser::tests::test_empty_named_instance ... ok
[INFO] [stdout] test parser::tests::test_empty_return ... ok
[INFO] [stdout] test parser::tests::test_expr_ordering ... ok
[INFO] [stdout] test parser::tests::test_fun_empty_param_and_body ... ok
[INFO] [stdout] test parser::tests::test_fun_without_block ... ok
[INFO] [stdout] test parser::tests::test_fun_without_paren ... ok
[INFO] [stdout] test parser::tests::test_method_call ... ok
[INFO] [stdout] test parser::tests::test_named_instance_fields ... ok
[INFO] [stdout] test parser::tests::test_obj_field_fun ... ok
[INFO] [stdout] test parser::tests::test_parse_obj_instance_in_array ... ok
[INFO] [stdout] test parser::tests::test_parse_vertex ... ok
[INFO] [stdout] test parser::tests::test_paren_expr ... ok
[INFO] [stdout] test parser::tests::test_return_expr ... ok
[INFO] [stdout] test parser::tests::test_prob_access ... ok
[INFO] [stdout] test parser::tests::test_simple_div_expr ... ok
[INFO] [stdout] test parser::tests::test_simple_plus_expr ... ok
[INFO] [stdout] test parser::tests::test_simple_mul_expr ... ok
[INFO] [stdout] test parser::tests::test_simple_minus_expr ... ok
[INFO] [stdout] test parser::tests::test_simple_fun ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "40450a881dd3485860db10c97dc3bfb19ad24cb6a9e05c882386bd0449cd41f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40450a881dd3485860db10c97dc3bfb19ad24cb6a9e05c882386bd0449cd41f0", kill_on_drop: false }`
[INFO] [stdout] 40450a881dd3485860db10c97dc3bfb19ad24cb6a9e05c882386bd0449cd41f0
