[INFO] cloning repository https://github.com/Jardynq/imaginary-playpen [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jardynq/imaginary-playpen" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJardynq%2Fimaginary-playpen", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJardynq%2Fimaginary-playpen'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 67be93a65516429aa148b8bb9626488afac0486c [INFO] checking Jardynq/imaginary-playpen/67be93a65516429aa148b8bb9626488afac0486c against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJardynq%2Fimaginary-playpen" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Jardynq/imaginary-playpen on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Jardynq/imaginary-playpen [INFO] finished tweaking git repo https://github.com/Jardynq/imaginary-playpen [INFO] tweaked toml for git repo https://github.com/Jardynq/imaginary-playpen written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Jardynq/imaginary-playpen 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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7fc23ada5500057f66f5511640ec26bc310f07f657011ee5ac10d727896408ca [INFO] running `Command { std: "docker" "start" "-a" "7fc23ada5500057f66f5511640ec26bc310f07f657011ee5ac10d727896408ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7fc23ada5500057f66f5511640ec26bc310f07f657011ee5ac10d727896408ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7fc23ada5500057f66f5511640ec26bc310f07f657011ee5ac10d727896408ca", kill_on_drop: false }` [INFO] [stdout] 7fc23ada5500057f66f5511640ec26bc310f07f657011ee5ac10d727896408ca [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 21d103579199929455f3114b2052aacbac2615a94a6361d6a781d2962ceff7da [INFO] running `Command { std: "docker" "start" "-a" "21d103579199929455f3114b2052aacbac2615a94a6361d6a781d2962ceff7da", kill_on_drop: false }` [INFO] [stderr] warning: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling syn v1.0.45 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.68 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling bumpalo v3.4.0 [INFO] [stderr] Compiling wasm-bindgen v0.2.68 [INFO] [stderr] Compiling pin-project-internal v0.4.23 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling proc-macro-nested v0.1.6 [INFO] [stderr] Checking futures-sink v0.3.5 [INFO] [stderr] Checking once_cell v1.4.1 [INFO] [stderr] Checking futures-core v0.3.5 [INFO] [stderr] Compiling proc-macro-hack v0.5.18 [INFO] [stderr] Compiling serde_derive v1.0.117 [INFO] [stderr] Checking futures-io v0.3.5 [INFO] [stderr] Compiling serde v1.0.117 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Checking futures-channel v0.3.5 [INFO] [stderr] Checking futures-task v0.3.5 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.18 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.68 [INFO] [stderr] Compiling futures-macro v0.3.5 [INFO] [stderr] Compiling macro_derive v0.1.0 (/opt/rustwide/workdir/macro_derive) [INFO] [stderr] Compiling derive_more v0.99.11 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.68 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.68 [INFO] [stderr] Checking pin-project v0.4.23 [INFO] [stderr] Checking futures-util v0.3.5 [INFO] [stderr] Checking js-sys v0.3.45 [INFO] [stderr] Checking console_error_panic_hook v0.1.6 [INFO] [stderr] Checking web-sys v0.3.45 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.18 [INFO] [stderr] Checking wasm-bindgen-test v0.3.18 [INFO] [stderr] Checking futures-executor v0.3.5 [INFO] [stderr] Checking futures v0.3.5 [INFO] [stderr] Checking serde_bytes v0.11.5 [INFO] [stderr] Checking gloo-events v0.1.1 [INFO] [stderr] Checking gloo-timers v0.2.1 [INFO] [stderr] Checking gloo-console-timer v0.1.0 [INFO] [stderr] Checking console_log v0.2.0 [INFO] [stderr] Checking gloo-file v0.1.0 [INFO] [stderr] Checking gloo v0.2.1 [INFO] [stderr] Checking imaginary-playpen v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused macro definition: `log_info` [INFO] [stdout] --> src/utils.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | macro_rules! log_info { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `trace` [INFO] [stdout] --> src/input.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use log::{ trace, debug, info, warn, error }; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stdout] --> src/input.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `console` [INFO] [stdout] --> src/input.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | console, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `complex::*` [INFO] [stdout] --> src/math/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use complex::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `interpreter::*` [INFO] [stdout] --> src/math/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use interpreter::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `info`, and `trace` [INFO] [stdout] --> src/javascript.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use log::{ trace, debug, info, warn, error }; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Element`, `HtmlElement`, and `Node` [INFO] [stdout] --> src/javascript.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | Window, Document, Element, HtmlElement, Node, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `macro_derive::*` [INFO] [stdout] --> src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use macro_derive::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::trace` [INFO] [stdout] --> src/lib.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use log::trace; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Document`, `Element`, `HtmlCanvasElement`, `HtmlDivElement`, `HtmlElement`, `HtmlParagraphElement`, `Navigator`, `Node`, and `Window` [INFO] [stdout] --> src/lib.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Window, Document, Element, HtmlElement, Node, [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ [INFO] [stdout] 28 | Navigator, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | HtmlDivElement, HtmlParagraphElement, HtmlImageElement, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | HtmlCanvasElement, HtmlVideoElement, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:289:28 [INFO] [stdout] | [INFO] [stdout] 289 | let time = (js.time_now() / 1000.0); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 289 - let time = (js.time_now() / 1000.0); [INFO] [stdout] 289 + let time = js.time_now() / 1000.0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `log_info` [INFO] [stdout] --> src/utils.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | macro_rules! log_info { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `trace` [INFO] [stdout] --> src/input.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use log::{ trace, debug, info, warn, error }; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stdout] --> src/input.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `console` [INFO] [stdout] --> src/input.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | console, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `complex::*` [INFO] [stdout] --> src/math/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use complex::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `interpreter::*` [INFO] [stdout] --> src/math/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use interpreter::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `info`, and `trace` [INFO] [stdout] --> src/javascript.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use log::{ trace, debug, info, warn, error }; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Element`, `HtmlElement`, and `Node` [INFO] [stdout] --> src/javascript.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | Window, Document, Element, HtmlElement, Node, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `macro_derive::*` [INFO] [stdout] --> src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use macro_derive::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::trace` [INFO] [stdout] --> src/lib.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use log::trace; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Document`, `Element`, `HtmlCanvasElement`, `HtmlDivElement`, `HtmlElement`, `HtmlParagraphElement`, `Navigator`, `Node`, and `Window` [INFO] [stdout] --> src/lib.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Window, Document, Element, HtmlElement, Node, [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ [INFO] [stdout] 28 | Navigator, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | HtmlDivElement, HtmlParagraphElement, HtmlImageElement, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | HtmlCanvasElement, HtmlVideoElement, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:289:28 [INFO] [stdout] | [INFO] [stdout] 289 | let time = (js.time_now() / 1000.0); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 289 - let time = (js.time_now() / 1000.0); [INFO] [stdout] 289 + let time = js.time_now() / 1000.0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/canvas.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn set_size(&self, size: (Option, Option)) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `renderer` [INFO] [stdout] --> src/canvas.rs:22:19 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn render(renderer: Option>) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_renderer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/canvas.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn set_size(&self, size: (Option, Option)) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `renderer` [INFO] [stdout] --> src/canvas.rs:22:19 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn render(renderer: Option>) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_renderer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/math/interpreter.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 151 | _ => Complex::zero(), [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 154 | Syntax::Variable(name) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/math/interpreter.rs:160:13 [INFO] [stdout] | [INFO] [stdout] 151 | _ => Complex::zero(), [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 160 | Syntax::Function(name) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/math/interpreter.rs:160:30 [INFO] [stdout] | [INFO] [stdout] 160 | Syntax::Function(name) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/math/interpreter.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 151 | _ => Complex::zero(), [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 154 | Syntax::Variable(name) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/math/interpreter.rs:160:13 [INFO] [stdout] | [INFO] [stdout] 151 | _ => Complex::zero(), [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 160 | Syntax::Function(name) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/math/interpreter.rs:160:30 [INFO] [stdout] | [INFO] [stdout] 160 | Syntax::Function(name) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut js = Javascript::default(); [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: `print_webgl_error` [INFO] [stdout] --> src/lib.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | let print_webgl_error = |context: &WebGl2| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_webgl_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `video_width` [INFO] [stdout] --> src/lib.rs:191:22 [INFO] [stdout] | [INFO] [stdout] 191 | let (mut video_width, mut video_height) = (0.0, 0.0); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_video_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `video_height` [INFO] [stdout] --> src/lib.rs:191:39 [INFO] [stdout] | [INFO] [stdout] 191 | let (mut video_width, mut video_height) = (0.0, 0.0); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_video_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `freeze_x` [INFO] [stdout] --> src/lib.rs:262:22 [INFO] [stdout] | [INFO] [stdout] 262 | let (mut freeze_x, mut freeze_y) = (0.0, 0.0); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_freeze_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `freeze_y` [INFO] [stdout] --> src/lib.rs:262:36 [INFO] [stdout] | [INFO] [stdout] 262 | let (mut freeze_x, mut freeze_y) = (0.0, 0.0); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_freeze_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `freeze_state` [INFO] [stdout] --> src/lib.rs:263:21 [INFO] [stdout] | [INFO] [stdout] 263 | let mut freeze_state = 0; // 0 none, 1 freeze x, 2 freeze y [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_freeze_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/lib.rs:223:75 [INFO] [stdout] | [INFO] [stdout] 223 | ... let temp_error = Closure::wrap(Box::new(move |error: JsValue| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req_token` [INFO] [stdout] --> src/lib.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | let req_token = req_anim_frame(self_loop.borrow().as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_req_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value captured by `delta_time` is never read [INFO] [stdout] --> src/lib.rs:281:17 [INFO] [stdout] | [INFO] [stdout] 281 | delta_time = (current_frametime - last_frametime) / 1000.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: did you mean to capture by reference instead? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elapsed` [INFO] [stdout] --> src/lib.rs:278:73 [INFO] [stdout] | [INFO] [stdout] 278 | *main_loop.borrow_mut() = Some(Closure::wrap(Box::new(move |elapsed: f64| { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut js = Javascript::default(); [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: `print_webgl_error` [INFO] [stdout] --> src/lib.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | let print_webgl_error = |context: &WebGl2| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_webgl_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `video_width` [INFO] [stdout] --> src/lib.rs:191:22 [INFO] [stdout] | [INFO] [stdout] 191 | let (mut video_width, mut video_height) = (0.0, 0.0); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_video_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `video_height` [INFO] [stdout] --> src/lib.rs:191:39 [INFO] [stdout] | [INFO] [stdout] 191 | let (mut video_width, mut video_height) = (0.0, 0.0); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_video_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `freeze_x` [INFO] [stdout] --> src/lib.rs:262:22 [INFO] [stdout] | [INFO] [stdout] 262 | let (mut freeze_x, mut freeze_y) = (0.0, 0.0); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_freeze_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `freeze_y` [INFO] [stdout] --> src/lib.rs:262:36 [INFO] [stdout] | [INFO] [stdout] 262 | let (mut freeze_x, mut freeze_y) = (0.0, 0.0); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_freeze_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `freeze_state` [INFO] [stdout] --> src/lib.rs:263:21 [INFO] [stdout] | [INFO] [stdout] 263 | let mut freeze_state = 0; // 0 none, 1 freeze x, 2 freeze y [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_freeze_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/lib.rs:223:75 [INFO] [stdout] | [INFO] [stdout] 223 | ... let temp_error = Closure::wrap(Box::new(move |error: JsValue| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req_token` [INFO] [stdout] --> src/lib.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | let req_token = req_anim_frame(self_loop.borrow().as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_req_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value captured by `delta_time` is never read [INFO] [stdout] --> src/lib.rs:281:17 [INFO] [stdout] | [INFO] [stdout] 281 | delta_time = (current_frametime - last_frametime) / 1000.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: did you mean to capture by reference instead? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elapsed` [INFO] [stdout] --> src/lib.rs:278:73 [INFO] [stdout] | [INFO] [stdout] 278 | *main_loop.borrow_mut() = Some(Closure::wrap(Box::new(move |elapsed: f64| { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:191:18 [INFO] [stdout] | [INFO] [stdout] 191 | let (mut video_width, mut video_height) = (0.0, 0.0); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:191:35 [INFO] [stdout] | [INFO] [stdout] 191 | let (mut video_width, mut video_height) = (0.0, 0.0); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:262:18 [INFO] [stdout] | [INFO] [stdout] 262 | let (mut freeze_x, mut freeze_y) = (0.0, 0.0); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:262:32 [INFO] [stdout] | [INFO] [stdout] 262 | let (mut freeze_x, mut freeze_y) = (0.0, 0.0); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:263:17 [INFO] [stdout] | [INFO] [stdout] 263 | let mut freeze_state = 0; // 0 none, 1 freeze x, 2 freeze y [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:553:22 [INFO] [stdout] | [INFO] [stdout] 553 | pub fn terminate(mut self) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/lib.rs:575:23 [INFO] [stdout] | [INFO] [stdout] 575 | Err(error) => unsafe { console::error_1(&JsValue::from_str(&error.to_string())) }, [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/lib.rs:716:22 [INFO] [stdout] | [INFO] [stdout] 716 | Some(error) => error!("{}", expr.pretty_error()), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:722:9 [INFO] [stdout] | [INFO] [stdout] 722 | let mut nodes = expr.serialize::(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `custom_framerate` is never read [INFO] [stdout] --> src/lib.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct Application { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 55 | custom_framerate: (bool, f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Right`, `Middle`, `Back`, and `Forward` are never constructed [INFO] [stdout] --> src/input.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum MouseButton { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 22 | Left = 0, [INFO] [stdout] 23 | Right = 1, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 24 | Middle = 2, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 25 | Back = 3, [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | Forward = 4, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MouseButton` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `temp` is never read [INFO] [stdout] --> src/input.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 81 | pub struct Handler { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 93 | temp: EventHandler, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unhook` is never used [INFO] [stdout] --> src/input.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl Handler { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn unhook(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/input.rs:331:12 [INFO] [stdout] | [INFO] [stdout] 330 | impl Handler { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 331 | pub fn pointer(&self) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn pointer_delta(&self) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn wheel(&self) -> (f64, f64, f64) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 350 | pub fn wheel_delta(&self) -> (f64, f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn key(&self, code: &str) -> State { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | pub fn vkey_active(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 384 | pub fn vkey_inactive(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 387 | pub fn vkey_pressed(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | pub fn vkey_held(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 393 | pub fn vkey_released(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn button(&self, button: MouseButton) -> State { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | pub fn vbutton_active(&self, button: MouseButton) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | pub fn vbutton_inactive(&self, button: MouseButton) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 428 | pub fn vbutton_pressed(&self, button: MouseButton) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub fn vbutton_held(&self, button: MouseButton) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn vbutton_released(&self, button: MouseButton) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target`, `inner`, and `listeners` are never read [INFO] [stdout] --> src/input.rs:444:5 [INFO] [stdout] | [INFO] [stdout] 443 | struct EventHandler { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 444 | target: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 445 | inner: Arc, bool)>>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 446 | listeners: Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EventHandler` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/input.rs:449:8 [INFO] [stdout] | [INFO] [stdout] 448 | impl EventHandler { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 449 | fn new(target: &EventTarget) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 457 | fn hook(&mut self, event_type: &str, forget: bool) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 480 | fn unhook(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 486 | fn unhook_all(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 490 | fn handle(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 493 | fn get + JsCast>(&self) -> (Option, bool) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 503 | fn get_target(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unbind` is never used [INFO] [stdout] --> src/shader.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Shader { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn unbind(&self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unbind` is never used [INFO] [stdout] --> src/shader.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 203 | impl VertexArray { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn unbind(&self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unbind` is never used [INFO] [stdout] --> src/shader.rs:310:12 [INFO] [stdout] | [INFO] [stdout] 290 | impl UniformBufferObject { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 310 | pub fn unbind(&self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MappedBuffer` is never constructed [INFO] [stdout] --> src/shader.rs:339:8 [INFO] [stdout] | [INFO] [stdout] 339 | struct MappedBuffer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Canvas` is never constructed [INFO] [stdout] --> src/canvas.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Canvas { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:191:18 [INFO] [stdout] | [INFO] [stdout] 191 | let (mut video_width, mut video_height) = (0.0, 0.0); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `set_size`, `render`, and `render_post` are never used [INFO] [stdout] --> src/canvas.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Canvas { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 14 | pub fn set_size(&self, size: (Option, Option)) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn render(renderer: Option>) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn render_post() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:191:35 [INFO] [stdout] | [INFO] [stdout] 191 | let (mut video_width, mut video_height) = (0.0, 0.0); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `real`, `imaginary`, `zero`, `infinity`, and `nan` are never used [INFO] [stdout] --> src/math/complex.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Complex { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn real(value: f64) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn imaginary(value: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn zero() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn infinity() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn nan() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:262:18 [INFO] [stdout] | [INFO] [stdout] 262 | let (mut freeze_x, mut freeze_y) = (0.0, 0.0); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/math/complex.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Complex { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 35 | pub fn is_zero(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn is_nan(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn is_infinite(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn is_finite(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn is_normal(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn is_real(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn is_imaginary(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:262:32 [INFO] [stdout] | [INFO] [stdout] 262 | let (mut freeze_x, mut freeze_y) = (0.0, 0.0); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:263:17 [INFO] [stdout] | [INFO] [stdout] 263 | let mut freeze_state = 0; // 0 none, 1 freeze x, 2 freeze y [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/math/complex.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Complex { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 60 | pub fn abs(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn arg(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn fract(self) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn sign(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn dot(self, other: Self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn conjugate(self) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn sqrt(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn exp(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn exp_m1(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn log(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn pow(self, exponent: Self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/math/complex.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 150 | impl Complex { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 151 | pub fn sin(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn asin(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn cos(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn acos(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn tan(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn atan(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn cot(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn acot(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn sec(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | pub fn asec(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn csc(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn acsc(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_string_phasor`, `to_string_polar`, and `to_string_exponential` are never used [INFO] [stdout] --> src/math/complex.rs:400:12 [INFO] [stdout] | [INFO] [stdout] 399 | impl Complex { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 400 | pub fn to_string_phasor(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 405 | pub fn to_string_polar(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | pub fn to_string_exponential(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `cos_m1` and `log_hypot` are never used [INFO] [stdout] --> src/math/extended.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Extended { [INFO] [stdout] | -------- methods in this trait [INFO] [stdout] 2 | fn cos_m1(self) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 3 | fn log_hypot(self, other: Self) -> Self; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sanitize_input` is never used [INFO] [stdout] --> src/math/interpreter.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn sanitize_input(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None`, `Exit`, `Evaluate`, `SetVariable`, and `RemoveVariable` are never constructed [INFO] [stdout] --> src/math/interpreter.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum ReplCommand { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 23 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | Exit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 25 | Evaluate, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 26 | SetVariable(String, Complex), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 27 | RemoveVariable(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ReplCommand` 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 `Intepreter` is never constructed [INFO] [stdout] --> src/math/interpreter.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Intepreter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/math/interpreter.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Intepreter { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 34 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn repl_handler Vec>(&mut self, handler: F) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn repl(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn set_variable(&mut self, name: &str, value: Complex) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn evaluate(&self, expr: &Expression) -> Complex { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn evaluate_node_left(&self, node: &Node) -> Complex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn evaluate_node_right(&self, node: &Node) -> Complex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn evaluate_node(&self, node: &Node) -> Complex { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `empty` is never used [INFO] [stdout] --> src/math/parser.rs:479:12 [INFO] [stdout] | [INFO] [stdout] 451 | impl Node { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_valid` is never used [INFO] [stdout] --> src/math/parser.rs:568:12 [INFO] [stdout] | [INFO] [stdout] 534 | impl Expression { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 568 | pub fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `syntax`, `keyword`, and `value` are never read [INFO] [stdout] --> src/math/serializer.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct NodeData { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | pub syntax: u16, // offset 6, size 2 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 33 | // Pack keyword identifier into hi [INFO] [stdout] 34 | pub keyword: u16, // offset 4, size 2 [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 35 | [INFO] [stdout] 36 | pub value: (f32, f32), // offset 8, size 8 [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeData` 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 `body` is never read [INFO] [stdout] --> src/javascript.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Javascript { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | body: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Javascript` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reset`, `get_canvas_bitmap`, and `get_canvas_webgl` are never used [INFO] [stdout] --> src/javascript.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Javascript { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 29 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_canvas_bitmap(&mut self, query: &str) -> Option<(HtmlCanvasElement, ImageBitmapRenderingContext)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get_canvas_webgl(&mut self, query: &str) -> Option<(HtmlCanvasElement, WebGlRenderingContext)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:553:22 [INFO] [stdout] | [INFO] [stdout] 553 | pub fn terminate(mut self) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/lib.rs:575:23 [INFO] [stdout] | [INFO] [stdout] 575 | Err(error) => unsafe { console::error_1(&JsValue::from_str(&error.to_string())) }, [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `body` is never used [INFO] [stdout] --> src/javascript.rs:175:12 [INFO] [stdout] | [INFO] [stdout] 135 | impl Javascript { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn body(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/lib.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 60 | let mut js = Javascript::default(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | Application { [INFO] [stdout] 62 | js: js.clone(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/lib.rs:65:20 [INFO] [stdout] | [INFO] [stdout] 60 | let mut js = Javascript::default(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 65 | input: Arc::new(Mutex::new(input::Handler::default())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | w_canvas.style().set_property("width", "400"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 83 | let _ = w_canvas.style().set_property("width", "400"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | w_canvas.style().set_property("height", "400"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 84 | let _ = w_canvas.style().set_property("height", "400"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Promise` that must be used [INFO] [stdout] --> src/lib.rs:227:29 [INFO] [stdout] | [INFO] [stdout] 227 | ... media.then(&temp_callback).catch(&temp_error); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 227 | let _ = media.then(&temp_callback).catch(&temp_error); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `global_ubo` should have an upper case name [INFO] [stdout] --> src/lib.rs:702:12 [INFO] [stdout] | [INFO] [stdout] 702 | static mut global_ubo: Option> = None; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `GLOBAL_UBO` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `global_nodes_count` should have an upper case name [INFO] [stdout] --> src/lib.rs:703:12 [INFO] [stdout] | [INFO] [stdout] 703 | static mut global_nodes_count: Option>> = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `GLOBAL_NODES_COUNT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/shader.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 28 | let program = match context.create_program() { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | Some(program) => program, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 35 | Some(Self { [INFO] [stdout] | ______________^ [INFO] [stdout] 36 | | context: context.clone(), [INFO] [stdout] 37 | | program: program, [INFO] [stdout] 38 | | location_cache: HashMap::new(), [INFO] [stdout] 39 | | block_binding: 0, [INFO] [stdout] 40 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/shader.rs:212:14 [INFO] [stdout] | [INFO] [stdout] 205 | let vao = match context.create_vertex_array() { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 206 | Some(vao) => vao, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 212 | Some(Self { [INFO] [stdout] | ______________^ [INFO] [stdout] 213 | | context: context.clone(), [INFO] [stdout] 214 | | internal: vao, [INFO] [stdout] 215 | | buffers: vec!(), [INFO] [stdout] 216 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/shader.rs:299:14 [INFO] [stdout] | [INFO] [stdout] 292 | let ubo = match context.create_buffer() { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 293 | Some(ubo) => ubo, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 299 | Some(Self { [INFO] [stdout] | ______________^ [INFO] [stdout] 300 | | context: context.clone(), [INFO] [stdout] 301 | | internal: ubo, [INFO] [stdout] 302 | | size: 0, [INFO] [stdout] 303 | | name: format!(""), [INFO] [stdout] 304 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/math/parser.rs:454:19 [INFO] [stdout] | [INFO] [stdout] 452 | pub fn new(left: Option, right: Option, syntax: Syntax) -> Self { [INFO] [stdout] | ------------------ ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 453 | Self { [INFO] [stdout] 454 | left: match left { [INFO] [stdout] | ___________________^ [INFO] [stdout] 455 | | Some(node) => Some(Box::new(node)), [INFO] [stdout] 456 | | None => None, [INFO] [stdout] 457 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/lib.rs:716:22 [INFO] [stdout] | [INFO] [stdout] 716 | Some(error) => error!("{}", expr.pretty_error()), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:722:9 [INFO] [stdout] | [INFO] [stdout] 722 | let mut nodes = expr.serialize::(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `custom_framerate` is never read [INFO] [stdout] --> src/lib.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct Application { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 55 | custom_framerate: (bool, f64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/math/parser.rs:458:20 [INFO] [stdout] | [INFO] [stdout] 452 | pub fn new(left: Option, right: Option, syntax: Syntax) -> Self { [INFO] [stdout] | ------------------ ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 458 | right: match right { [INFO] [stdout] | ____________________^ [INFO] [stdout] 459 | | Some(node) => Some(Box::new(node)), [INFO] [stdout] 460 | | None => None, [INFO] [stdout] 461 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/math/parser.rs:467:19 [INFO] [stdout] | [INFO] [stdout] 465 | pub fn from(left: Node, right: Node, syntax: Syntax) -> Self { [INFO] [stdout] | ---------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 466 | Self { [INFO] [stdout] 467 | left: Some(Box::new(left)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/math/parser.rs:468:20 [INFO] [stdout] | [INFO] [stdout] 465 | pub fn from(left: Node, right: Node, syntax: Syntax) -> Self { [INFO] [stdout] | ---------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 468 | right: Some(Box::new(right)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Right`, `Middle`, `Back`, and `Forward` are never constructed [INFO] [stdout] --> src/input.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum MouseButton { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 22 | Left = 0, [INFO] [stdout] 23 | Right = 1, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 24 | Middle = 2, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 25 | Back = 3, [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | Forward = 4, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MouseButton` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/math/parser.rs:696:15 [INFO] [stdout] | [INFO] [stdout] 695 | fn parse_implicit(tokens: &Vec, index: usize, node: Node) -> Result<(Node, usize), SyntaxError> { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 696 | match Self::parse_term(tokens, index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `temp` is never read [INFO] [stdout] --> src/input.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 81 | pub struct Handler { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 93 | temp: EventHandler, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unhook` is never used [INFO] [stdout] --> src/input.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl Handler { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn unhook(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/input.rs:331:12 [INFO] [stdout] | [INFO] [stdout] 330 | impl Handler { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 331 | pub fn pointer(&self) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn pointer_delta(&self) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn wheel(&self) -> (f64, f64, f64) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 350 | pub fn wheel_delta(&self) -> (f64, f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn key(&self, code: &str) -> State { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | pub fn vkey_active(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 384 | pub fn vkey_inactive(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 387 | pub fn vkey_pressed(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | pub fn vkey_held(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 393 | pub fn vkey_released(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn button(&self, button: MouseButton) -> State { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | pub fn vbutton_active(&self, button: MouseButton) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | pub fn vbutton_inactive(&self, button: MouseButton) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 428 | pub fn vbutton_pressed(&self, button: MouseButton) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub fn vbutton_held(&self, button: MouseButton) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn vbutton_released(&self, button: MouseButton) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target`, `inner`, and `listeners` are never read [INFO] [stdout] --> src/input.rs:444:5 [INFO] [stdout] | [INFO] [stdout] 443 | struct EventHandler { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 444 | target: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 445 | inner: Arc, bool)>>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 446 | listeners: Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EventHandler` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/input.rs:449:8 [INFO] [stdout] | [INFO] [stdout] 448 | impl EventHandler { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 449 | fn new(target: &EventTarget) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 457 | fn hook(&mut self, event_type: &str, forget: bool) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 480 | fn unhook(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 486 | fn unhook_all(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 490 | fn handle(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 493 | fn get + JsCast>(&self) -> (Option, bool) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 503 | fn get_target(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unbind` is never used [INFO] [stdout] --> src/shader.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Shader { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn unbind(&self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unbind` is never used [INFO] [stdout] --> src/shader.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 203 | impl VertexArray { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn unbind(&self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unbind` is never used [INFO] [stdout] --> src/shader.rs:310:12 [INFO] [stdout] | [INFO] [stdout] 290 | impl UniformBufferObject { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 310 | pub fn unbind(&self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MappedBuffer` is never constructed [INFO] [stdout] --> src/shader.rs:339:8 [INFO] [stdout] | [INFO] [stdout] 339 | struct MappedBuffer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Canvas` is never constructed [INFO] [stdout] --> src/canvas.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Canvas { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `set_size`, `render`, and `render_post` are never used [INFO] [stdout] --> src/canvas.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Canvas { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 14 | pub fn set_size(&self, size: (Option, Option)) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn render(renderer: Option>) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn render_post() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `real`, `imaginary`, `zero`, `infinity`, and `nan` are never used [INFO] [stdout] --> src/math/complex.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Complex { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn real(value: f64) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn imaginary(value: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn zero() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn infinity() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn nan() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/math/complex.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Complex { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 35 | pub fn is_zero(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn is_nan(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn is_infinite(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn is_finite(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn is_normal(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn is_real(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn is_imaginary(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/math/complex.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Complex { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 60 | pub fn abs(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn arg(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn fract(self) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn sign(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn dot(self, other: Self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn conjugate(self) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn sqrt(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn exp(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn exp_m1(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn log(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn pow(self, exponent: Self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/math/complex.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 150 | impl Complex { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 151 | pub fn sin(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn asin(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn cos(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn acos(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn tan(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn atan(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn cot(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn acot(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn sec(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | pub fn asec(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn csc(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn acsc(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_string_phasor`, `to_string_polar`, and `to_string_exponential` are never used [INFO] [stdout] --> src/math/complex.rs:400:12 [INFO] [stdout] | [INFO] [stdout] 399 | impl Complex { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 400 | pub fn to_string_phasor(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 405 | pub fn to_string_polar(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | pub fn to_string_exponential(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `cos_m1` and `log_hypot` are never used [INFO] [stdout] --> src/math/extended.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Extended { [INFO] [stdout] | -------- methods in this trait [INFO] [stdout] 2 | fn cos_m1(self) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 3 | fn log_hypot(self, other: Self) -> Self; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sanitize_input` is never used [INFO] [stdout] --> src/math/interpreter.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn sanitize_input(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None`, `Exit`, `Evaluate`, `SetVariable`, and `RemoveVariable` are never constructed [INFO] [stdout] --> src/math/interpreter.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum ReplCommand { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 23 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | Exit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 25 | Evaluate, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 26 | SetVariable(String, Complex), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 27 | RemoveVariable(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ReplCommand` 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 `Intepreter` is never constructed [INFO] [stdout] --> src/math/interpreter.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Intepreter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/math/interpreter.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Intepreter { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 34 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn repl_handler Vec>(&mut self, handler: F) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn repl(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn set_variable(&mut self, name: &str, value: Complex) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn evaluate(&self, expr: &Expression) -> Complex { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn evaluate_node_left(&self, node: &Node) -> Complex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn evaluate_node_right(&self, node: &Node) -> Complex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn evaluate_node(&self, node: &Node) -> Complex { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `empty` is never used [INFO] [stdout] --> src/math/parser.rs:479:12 [INFO] [stdout] | [INFO] [stdout] 451 | impl Node { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_valid` is never used [INFO] [stdout] --> src/math/parser.rs:568:12 [INFO] [stdout] | [INFO] [stdout] 534 | impl Expression { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 568 | pub fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `syntax`, `keyword`, and `value` are never read [INFO] [stdout] --> src/math/serializer.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct NodeData { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | pub syntax: u16, // offset 6, size 2 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 33 | // Pack keyword identifier into hi [INFO] [stdout] 34 | pub keyword: u16, // offset 4, size 2 [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 35 | [INFO] [stdout] 36 | pub value: (f32, f32), // offset 8, size 8 [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeData` 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 `body` is never read [INFO] [stdout] --> src/javascript.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Javascript { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | body: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Javascript` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reset`, `get_canvas_bitmap`, and `get_canvas_webgl` are never used [INFO] [stdout] --> src/javascript.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Javascript { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 29 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_canvas_bitmap(&mut self, query: &str) -> Option<(HtmlCanvasElement, ImageBitmapRenderingContext)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get_canvas_webgl(&mut self, query: &str) -> Option<(HtmlCanvasElement, WebGlRenderingContext)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `body` is never used [INFO] [stdout] --> src/javascript.rs:175:12 [INFO] [stdout] | [INFO] [stdout] 135 | impl Javascript { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn body(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/lib.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 60 | let mut js = Javascript::default(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | Application { [INFO] [stdout] 62 | js: js.clone(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/lib.rs:65:20 [INFO] [stdout] | [INFO] [stdout] 60 | let mut js = Javascript::default(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 65 | input: Arc::new(Mutex::new(input::Handler::default())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | w_canvas.style().set_property("width", "400"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 83 | let _ = w_canvas.style().set_property("width", "400"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | w_canvas.style().set_property("height", "400"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 84 | let _ = w_canvas.style().set_property("height", "400"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Promise` that must be used [INFO] [stdout] --> src/lib.rs:227:29 [INFO] [stdout] | [INFO] [stdout] 227 | ... media.then(&temp_callback).catch(&temp_error); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 227 | let _ = media.then(&temp_callback).catch(&temp_error); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `global_ubo` should have an upper case name [INFO] [stdout] --> src/lib.rs:702:12 [INFO] [stdout] | [INFO] [stdout] 702 | static mut global_ubo: Option> = None; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `GLOBAL_UBO` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `global_nodes_count` should have an upper case name [INFO] [stdout] --> src/lib.rs:703:12 [INFO] [stdout] | [INFO] [stdout] 703 | static mut global_nodes_count: Option>> = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `GLOBAL_NODES_COUNT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/shader.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 28 | let program = match context.create_program() { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | Some(program) => program, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 35 | Some(Self { [INFO] [stdout] | ______________^ [INFO] [stdout] 36 | | context: context.clone(), [INFO] [stdout] 37 | | program: program, [INFO] [stdout] 38 | | location_cache: HashMap::new(), [INFO] [stdout] 39 | | block_binding: 0, [INFO] [stdout] 40 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/shader.rs:212:14 [INFO] [stdout] | [INFO] [stdout] 205 | let vao = match context.create_vertex_array() { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 206 | Some(vao) => vao, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 212 | Some(Self { [INFO] [stdout] | ______________^ [INFO] [stdout] 213 | | context: context.clone(), [INFO] [stdout] 214 | | internal: vao, [INFO] [stdout] 215 | | buffers: vec!(), [INFO] [stdout] 216 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/shader.rs:299:14 [INFO] [stdout] | [INFO] [stdout] 292 | let ubo = match context.create_buffer() { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 293 | Some(ubo) => ubo, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 299 | Some(Self { [INFO] [stdout] | ______________^ [INFO] [stdout] 300 | | context: context.clone(), [INFO] [stdout] 301 | | internal: ubo, [INFO] [stdout] 302 | | size: 0, [INFO] [stdout] 303 | | name: format!(""), [INFO] [stdout] 304 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/math/parser.rs:454:19 [INFO] [stdout] | [INFO] [stdout] 452 | pub fn new(left: Option, right: Option, syntax: Syntax) -> Self { [INFO] [stdout] | ------------------ ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 453 | Self { [INFO] [stdout] 454 | left: match left { [INFO] [stdout] | ___________________^ [INFO] [stdout] 455 | | Some(node) => Some(Box::new(node)), [INFO] [stdout] 456 | | None => None, [INFO] [stdout] 457 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/math/parser.rs:458:20 [INFO] [stdout] | [INFO] [stdout] 452 | pub fn new(left: Option, right: Option, syntax: Syntax) -> Self { [INFO] [stdout] | ------------------ ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 458 | right: match right { [INFO] [stdout] | ____________________^ [INFO] [stdout] 459 | | Some(node) => Some(Box::new(node)), [INFO] [stdout] 460 | | None => None, [INFO] [stdout] 461 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/math/parser.rs:467:19 [INFO] [stdout] | [INFO] [stdout] 465 | pub fn from(left: Node, right: Node, syntax: Syntax) -> Self { [INFO] [stdout] | ---------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 466 | Self { [INFO] [stdout] 467 | left: Some(Box::new(left)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/math/parser.rs:468:20 [INFO] [stdout] | [INFO] [stdout] 465 | pub fn from(left: Node, right: Node, syntax: Syntax) -> Self { [INFO] [stdout] | ---------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 468 | right: Some(Box::new(right)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/math/parser.rs:696:15 [INFO] [stdout] | [INFO] [stdout] 695 | fn parse_implicit(tokens: &Vec, index: usize, node: Node) -> Result<(Node, usize), SyntaxError> { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 696 | match Self::parse_term(tokens, index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 10 previous errors; 72 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `imaginary-playpen` (lib test) due to 11 previous errors; 72 warnings emitted [INFO] [stdout] error: aborting due to 10 previous errors; 72 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `imaginary-playpen` (lib) due to 11 previous errors; 72 warnings emitted [INFO] running `Command { std: "docker" "inspect" "21d103579199929455f3114b2052aacbac2615a94a6361d6a781d2962ceff7da", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "21d103579199929455f3114b2052aacbac2615a94a6361d6a781d2962ceff7da", kill_on_drop: false }` [INFO] [stdout] 21d103579199929455f3114b2052aacbac2615a94a6361d6a781d2962ceff7da