[INFO] cloning repository https://github.com/TKGgunter/tg_notebook [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TKGgunter/tg_notebook" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTKGgunter%2Ftg_notebook", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTKGgunter%2Ftg_notebook'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fda2d31c13c9c2c1122770908eb908b7e47f6b3d [INFO] checking TKGgunter/tg_notebook/fda2d31c13c9c2c1122770908eb908b7e47f6b3d against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTKGgunter%2Ftg_notebook" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/TKGgunter/tg_notebook on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/TKGgunter/tg_notebook [INFO] finished tweaking git repo https://github.com/TKGgunter/tg_notebook [INFO] tweaked toml for git repo https://github.com/TKGgunter/tg_notebook written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/TKGgunter/tg_notebook 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" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded smallvec v0.6.12 [INFO] [stderr] Downloaded takeable-option v0.4.0 [INFO] [stderr] Downloaded winit v0.19.4 [INFO] [stderr] Downloaded glium v0.25.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a6d6ad33cc1808437024b5cb6e6c9edb8c9eccd4f1799968b9c82b094bbfe720 [INFO] running `Command { std: "docker" "start" "-a" "a6d6ad33cc1808437024b5cb6e6c9edb8c9eccd4f1799968b9c82b094bbfe720", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a6d6ad33cc1808437024b5cb6e6c9edb8c9eccd4f1799968b9c82b094bbfe720", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6d6ad33cc1808437024b5cb6e6c9edb8c9eccd4f1799968b9c82b094bbfe720", kill_on_drop: false }` [INFO] [stdout] a6d6ad33cc1808437024b5cb6e6c9edb8c9eccd4f1799968b9c82b094bbfe720 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0691819250cbb8970ebc7ad62bba6352597ac7e1abbe1895782ac3fd966ebea9 [INFO] running `Command { std: "docker" "start" "-a" "0691819250cbb8970ebc7ad62bba6352597ac7e1abbe1895782ac3fd966ebea9", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling xml-rs v0.8.0 [INFO] [stderr] Compiling cc v1.0.46 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling gl_generator v0.11.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling wayland-scanner v0.21.13 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking arrayvec v0.5.1 [INFO] [stderr] Compiling getrandom v0.1.13 [INFO] [stderr] Checking stb_truetype v0.3.0 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking ordered-float v1.0.2 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Checking wayland-sys v0.21.13 [INFO] [stderr] Checking rusttype v0.8.1 [INFO] [stderr] Compiling x11-dl v2.18.4 [INFO] [stderr] Checking downcast-rs v1.1.1 [INFO] [stderr] Checking same-file v1.0.5 [INFO] [stderr] Checking line_drawing v0.7.0 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking walkdir v2.2.9 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Checking rusttype v0.7.9 [INFO] [stderr] Checking smallvec v0.6.12 [INFO] [stderr] Checking xdg v2.2.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking lock_api v0.3.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Compiling glutin_glx_sys v0.1.5 [INFO] [stderr] Compiling glutin_egl_sys v0.1.3 [INFO] [stderr] Checking c2-chacha v0.2.3 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling num-complex v0.2.3 [INFO] [stderr] Compiling libm v0.1.4 [INFO] [stderr] Compiling typenum v1.11.2 [INFO] [stderr] Compiling wayland-client v0.21.13 [INFO] [stderr] Compiling wayland-protocols v0.21.13 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking raw-window-handle v0.3.1 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Compiling num-rational v0.2.2 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking rand v0.7.2 [INFO] [stderr] Checking wayland-commons v0.21.13 [INFO] [stderr] Compiling glium v0.25.1 [INFO] [stderr] Compiling stb_tt-sys v0.1.0 (/opt/rustwide/workdir/stb_tt-sys) [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking rand_distr v0.2.2 [INFO] [stderr] Checking matrixmultiply v0.2.3 [INFO] [stderr] Checking backtrace v0.3.40 [INFO] [stderr] Checking alga v0.9.2 [INFO] [stderr] Checking generic-array v0.13.2 [INFO] [stderr] Checking takeable-option v0.4.0 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking nalgebra v0.19.0 [INFO] [stderr] Compiling derivative v1.0.3 [INFO] [stderr] Checking smithay-client-toolkit v0.4.6 [INFO] [stderr] Checking winit v0.19.4 [INFO] [stderr] Checking glutin v0.21.1 [INFO] [stderr] Checking screen_capturer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/lib.rs:116:72 [INFO] [stdout] | [INFO] [stdout] 116 | let shared_lib_handle = dlopen(CString::new(lib_path).unwrap().as_ptr(), flag as c_int); [INFO] [stdout] | ------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] = note: `#[warn(temporary_cstring_as_ptr)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/lib.rs:130:74 [INFO] [stdout] | [INFO] [stdout] 130 | let _fn = dlsym(shared_lib_handle.0, CString::new(name).unwrap().as_ptr()); [INFO] [stdout] | --------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:739:13 [INFO] [stdout] | [INFO] [stdout] 739 | let mut a = [10u8; 4]; [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: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:742:9 [INFO] [stdout] | [INFO] [stdout] 742 | let mut b = [10u8; 4]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/lib.rs:782:13 [INFO] [stdout] | [INFO] [stdout] 782 | let mut a = gls.alloc(123.09f32); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/lib.rs:784:13 [INFO] [stdout] | [INFO] [stdout] 784 | let mut b = gls.alloc(123i32); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:782:9 [INFO] [stdout] | [INFO] [stdout] 782 | let mut a = gls.alloc(123.09f32); [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:784:9 [INFO] [stdout] | [INFO] [stdout] 784 | let mut b = gls.alloc(123i32); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:740:9 [INFO] [stdout] | [INFO] [stdout] 740 | gls.store(a, "a"); [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] 740 | let _ = gls.store(a, "a"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:814:9 [INFO] [stdout] | [INFO] [stdout] 814 | gls.store(dy, "dy"); [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] 814 | let _ = gls.store(dy, "dy"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/lib.rs:116:72 [INFO] [stdout] | [INFO] [stdout] 116 | let shared_lib_handle = dlopen(CString::new(lib_path).unwrap().as_ptr(), flag as c_int); [INFO] [stdout] | ------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] = note: `#[warn(temporary_cstring_as_ptr)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/lib.rs:130:74 [INFO] [stdout] | [INFO] [stdout] 130 | let _fn = dlsym(shared_lib_handle.0, CString::new(name).unwrap().as_ptr()); [INFO] [stdout] | --------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0601]: `main` function not found in crate `test` [INFO] [stdout] --> examples/test.rs:51:2 [INFO] [stdout] | [INFO] [stdout] 51 | } [INFO] [stdout] | ^ consider adding a `main` function to `examples/test.rs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: found module declaration for lib.rs [INFO] [stdout] --> src/main.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod lib; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: lib.rs is the root of this crate's library target [INFO] [stdout] = help: to refer to it from other targets, use the library's name as the path [INFO] [stdout] = note: `#[warn(special_module_name)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `memory_tools` [INFO] [stdout] --> src/lib.rs:734:9 [INFO] [stdout] | [INFO] [stdout] 734 | use memory_tools::GlobalStorage; [INFO] [stdout] | ^^^^^^^^^^^^ help: a similar path exists: `self::memory_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `memory_tools` [INFO] [stdout] --> src/lib.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | use memory_tools::{GlobalStorage, DyArray}; [INFO] [stdout] | ^^^^^^^^^^^^ help: a similar path exists: `self::memory_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `memory_tools` [INFO] [stdout] --> src/lib.rs:780:9 [INFO] [stdout] | [INFO] [stdout] 780 | use memory_tools::{GlobalStorage, DyArray}; [INFO] [stdout] | ^^^^^^^^^^^^ help: a similar path exists: `self::memory_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `memory_tools` [INFO] [stdout] --> src/lib.rs:805:9 [INFO] [stdout] | [INFO] [stdout] 805 | use memory_tools::{GlobalStorage, DyArray}; [INFO] [stdout] | ^^^^^^^^^^^^ help: a similar path exists: `self::memory_tools` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: found module declaration for lib.rs [INFO] [stdout] --> src/main.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod lib; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: lib.rs is the root of this crate's library target [INFO] [stdout] = help: to refer to it from other targets, use the library's name as the path [INFO] [stdout] = note: `#[warn(special_module_name)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: cannot calculate the remainder of `u64` divided by `f32` [INFO] [stdout] --> examples/test.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | ri.draw_rect([0.0 + inputs.frames%100 as f32 * 0.1, 0.0, 0.4, 0.4], [1.0;4], true); [INFO] [stdout] | ^ no implementation for `u64 % f32` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Rem` is not implemented for `u64` [INFO] [stdout] = help: the following other types implement trait `Rem`: [INFO] [stdout] `&'a u64` implements `Rem` [INFO] [stdout] `&u64` implements `Rem<&u64>` [INFO] [stdout] `u64` implements `Rem<&u64>` [INFO] [stdout] `u64` implements `Rem>` [INFO] [stdout] `u64` implements `Rem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0601. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `screen_capturer` (example "test") due to 3 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:106:23 [INFO] [stdout] | [INFO] [stdout] 106 | if stbtt_InitFont(&mut GLOBAL_FONTINFO as *mut stbtt_fontinfo, font_buffer.as_ptr(), 0) == 0{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 106 | if stbtt_InitFont(addr_of_mut!(GLOBAL_FONTINFO) as *mut stbtt_fontinfo, font_buffer.as_ptr(), 0) == 0{ [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:183:40 [INFO] [stdout] | [INFO] [stdout] 183 | stbtt_GetFontVMetrics( &mut GLOBAL_FONTINFO as *mut stbtt_fontinfo, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 183 | stbtt_GetFontVMetrics( addr_of_mut!(GLOBAL_FONTINFO) as *mut stbtt_fontinfo, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:186:51 [INFO] [stdout] | [INFO] [stdout] 186 | scale = stbtt_ScaleForPixelHeight(&GLOBAL_FONTINFO as *const stbtt_fontinfo, pixel_size as f32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 186 | scale = stbtt_ScaleForPixelHeight(addr_of!(GLOBAL_FONTINFO) as *const stbtt_fontinfo, pixel_size as f32); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:194:53 [INFO] [stdout] | [INFO] [stdout] 194 | stbtt_GetCodepointBitmapBoxSubpixel(&GLOBAL_FONTINFO as *const stbtt_fontinfo, character as u8, scale, scale, 0.0,0.0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 194 | stbtt_GetCodepointBitmapBoxSubpixel(addr_of!(GLOBAL_FONTINFO) as *const stbtt_fontinfo, character as u8, scale, scale, 0.0,0.0, [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:200:53 [INFO] [stdout] | [INFO] [stdout] 200 | stbtt_MakeCodepointBitmapSubpixel( &GLOBAL_FONTINFO as *const stbtt_fontinfo, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 200 | stbtt_MakeCodepointBitmapSubpixel( addr_of!(GLOBAL_FONTINFO) as *const stbtt_fontinfo, [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:265:43 [INFO] [stdout] | [INFO] [stdout] 265 | let scale = stbtt_ScaleForPixelHeight(&GLOBAL_FONTINFO as *const stbtt_fontinfo, size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 265 | let scale = stbtt_ScaleForPixelHeight(addr_of!(GLOBAL_FONTINFO) as *const stbtt_fontinfo, size); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:266:32 [INFO] [stdout] | [INFO] [stdout] 266 | stbtt_GetCodepointHMetrics(&GLOBAL_FONTINFO as *const stbtt_fontinfo, character as i32, &mut adv as *mut i32, null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 266 | stbtt_GetCodepointHMetrics(addr_of!(GLOBAL_FONTINFO) as *const stbtt_fontinfo, character as i32, &mut adv as *mut i32, null_mut()); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:106:23 [INFO] [stdout] | [INFO] [stdout] 106 | if stbtt_InitFont(&mut GLOBAL_FONTINFO as *mut stbtt_fontinfo, font_buffer.as_ptr(), 0) == 0{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 106 | if stbtt_InitFont(addr_of_mut!(GLOBAL_FONTINFO) as *mut stbtt_fontinfo, font_buffer.as_ptr(), 0) == 0{ [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:183:40 [INFO] [stdout] | [INFO] [stdout] 183 | stbtt_GetFontVMetrics( &mut GLOBAL_FONTINFO as *mut stbtt_fontinfo, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 183 | stbtt_GetFontVMetrics( addr_of_mut!(GLOBAL_FONTINFO) as *mut stbtt_fontinfo, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:186:51 [INFO] [stdout] | [INFO] [stdout] 186 | scale = stbtt_ScaleForPixelHeight(&GLOBAL_FONTINFO as *const stbtt_fontinfo, pixel_size as f32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 186 | scale = stbtt_ScaleForPixelHeight(addr_of!(GLOBAL_FONTINFO) as *const stbtt_fontinfo, pixel_size as f32); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:194:53 [INFO] [stdout] | [INFO] [stdout] 194 | stbtt_GetCodepointBitmapBoxSubpixel(&GLOBAL_FONTINFO as *const stbtt_fontinfo, character as u8, scale, scale, 0.0,0.0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 194 | stbtt_GetCodepointBitmapBoxSubpixel(addr_of!(GLOBAL_FONTINFO) as *const stbtt_fontinfo, character as u8, scale, scale, 0.0,0.0, [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:200:53 [INFO] [stdout] | [INFO] [stdout] 200 | stbtt_MakeCodepointBitmapSubpixel( &GLOBAL_FONTINFO as *const stbtt_fontinfo, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 200 | stbtt_MakeCodepointBitmapSubpixel( addr_of!(GLOBAL_FONTINFO) as *const stbtt_fontinfo, [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:265:43 [INFO] [stdout] | [INFO] [stdout] 265 | let scale = stbtt_ScaleForPixelHeight(&GLOBAL_FONTINFO as *const stbtt_fontinfo, size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 265 | let scale = stbtt_ScaleForPixelHeight(addr_of!(GLOBAL_FONTINFO) as *const stbtt_fontinfo, size); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:266:32 [INFO] [stdout] | [INFO] [stdout] 266 | stbtt_GetCodepointHMetrics(&GLOBAL_FONTINFO as *const stbtt_fontinfo, character as i32, &mut adv as *mut i32, null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 266 | stbtt_GetCodepointHMetrics(addr_of!(GLOBAL_FONTINFO) as *const stbtt_fontinfo, character as i32, &mut adv as *mut i32, null_mut()); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mouseinfo` [INFO] [stdout] --> src/main.rs:811:108 [INFO] [stdout] | [INFO] [stdout] 811 | ...nderer: &mut Renderer, mouseinfo: &MouseInfo, fontlib: &FontLib, charmap: &mut CharMap ){ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouseinfo` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:822:13 [INFO] [stdout] | [INFO] [stdout] 822 | let mut max_println_y; [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: `mouseinfo` [INFO] [stdout] --> src/main.rs:920:124 [INFO] [stdout] | [INFO] [stdout] 920 | ...nderer: &mut Renderer, mouseinfo: &MouseInfo, fontlib: &FontLib, charmap: &mut CharMap ){ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouseinfo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `focused` [INFO] [stdout] --> src/main.rs:962:20 [INFO] [stdout] | [INFO] [stdout] 962 | let WindowInfo{focused, width, height} = clone_windowinfo(); [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `focused: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `perspective` [INFO] [stdout] --> src/main.rs:1036:114 [INFO] [stdout] | [INFO] [stdout] 1036 | ...: f32, color: [f32; 4], perspective: Option<[[f32;4];4]>){ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_perspective` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mouseinfo` [INFO] [stdout] --> src/main.rs:811:108 [INFO] [stdout] | [INFO] [stdout] 811 | ...nderer: &mut Renderer, mouseinfo: &MouseInfo, fontlib: &FontLib, charmap: &mut CharMap ){ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouseinfo` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1219:21 [INFO] [stdout] | [INFO] [stdout] 1219 | let mut game_logic : UserFn = unsafe{ std::mem::transmute(get_fn(app, it).unwrap().as_mut()) }; [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/main.rs:1237:21 [INFO] [stdout] | [INFO] [stdout] 1237 | let mut game_logic : UserFn = unsafe{ std::mem::transmute(get_fn(app, it).unwrap().as_mut()) }; [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/main.rs:822:13 [INFO] [stdout] | [INFO] [stdout] 822 | let mut max_println_y; [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: `mouseinfo` [INFO] [stdout] --> src/main.rs:920:124 [INFO] [stdout] | [INFO] [stdout] 920 | ...nderer: &mut Renderer, mouseinfo: &MouseInfo, fontlib: &FontLib, charmap: &mut CharMap ){ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouseinfo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `focused` [INFO] [stdout] --> src/main.rs:962:20 [INFO] [stdout] | [INFO] [stdout] 962 | let WindowInfo{focused, width, height} = clone_windowinfo(); [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `focused: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `perspective` [INFO] [stdout] --> src/main.rs:1036:114 [INFO] [stdout] | [INFO] [stdout] 1036 | ...: f32, color: [f32; 4], perspective: Option<[[f32;4];4]>){ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_perspective` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/main.rs:1216:17 [INFO] [stdout] | [INFO] [stdout] 1216 | drop(instructionbuffer.fns[index]); [INFO] [stdout] | ^^^^^----------------------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `for<'a, 'b, 'c, 'd> fn(&'a mut RenderInstructions, &'b mut GlobalStorage, &'c mut LocalStorage, &'d InteractiveInfo) -> Result<(), String>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_copy_types)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 1216 - drop(instructionbuffer.fns[index]); [INFO] [stdout] 1216 + let _ = instructionbuffer.fns[index]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/main.rs:1228:21 [INFO] [stdout] | [INFO] [stdout] 1228 | instructionbuffer.interactive[i] == instructionbuffer.localstorage[i].interactive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1228 | let _ = instructionbuffer.interactive[i] == instructionbuffer.localstorage[i].interactive; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/lib.rs:116:72 [INFO] [stdout] | [INFO] [stdout] 116 | let shared_lib_handle = dlopen(CString::new(lib_path).unwrap().as_ptr(), flag as c_int); [INFO] [stdout] | ------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] = note: `#[warn(temporary_cstring_as_ptr)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/lib.rs:130:74 [INFO] [stdout] | [INFO] [stdout] 130 | let _fn = dlsym(shared_lib_handle.0, CString::new(name).unwrap().as_ptr()); [INFO] [stdout] | --------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/instructions.rs:80:74 [INFO] [stdout] | [INFO] [stdout] 80 | ...(){panic!(format!("InstructionBuffer textures {} and renderinstructions do not agree {}", l, self.render_instructions.len()));} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 80 - if self.textures.len() != self.render_instructions.len(){panic!(format!("InstructionBuffer textures {} and renderinstructions do not agree {}", l, self.render_instructions.len()));} [INFO] [stdout] 80 + if self.textures.len() != self.render_instructions.len(){panic!("InstructionBuffer textures {} and renderinstructions do not agree {}", l, self.render_instructions.len());} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1219:21 [INFO] [stdout] | [INFO] [stdout] 1219 | let mut game_logic : UserFn = unsafe{ std::mem::transmute(get_fn(app, it).unwrap().as_mut()) }; [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/main.rs:1237:21 [INFO] [stdout] | [INFO] [stdout] 1237 | let mut game_logic : UserFn = unsafe{ std::mem::transmute(get_fn(app, it).unwrap().as_mut()) }; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `screen_capturer` (bin "screen_capturer" test) due to 5 previous errors; 15 warnings emitted [INFO] running `Command { std: "docker" "inspect" "0691819250cbb8970ebc7ad62bba6352597ac7e1abbe1895782ac3fd966ebea9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0691819250cbb8970ebc7ad62bba6352597ac7e1abbe1895782ac3fd966ebea9", kill_on_drop: false }` [INFO] [stdout] 0691819250cbb8970ebc7ad62bba6352597ac7e1abbe1895782ac3fd966ebea9