[INFO] fetching crate e2r 0.10.0... [INFO] testing e2r-0.10.0 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate e2r 0.10.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate e2r 0.10.0 [INFO] finished tweaking crates.io crate e2r 0.10.0 [INFO] tweaked toml for crates.io crate e2r 0.10.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate e2r 0.10.0 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 177 packages to latest compatible versions [INFO] [stderr] Adding gl v0.6.5 (available: v0.14.0) [INFO] [stderr] Adding glutin v0.20.1 (available: v0.32.3) [INFO] [stderr] Adding image v0.17.0 (available: v0.25.6) [INFO] [stderr] Adding mazth v0.2.1 (available: v0.6.0) [INFO] [stderr] Adding nom v3.2.1 (available: v8.0.0) [INFO] [stderr] Adding num v0.1.43 (available: v0.4.3) [INFO] [stderr] Adding pretty_env_logger v0.2.5 (available: v0.5.0) [INFO] [stderr] Adding rand v0.3.23 (available: v0.9.1) [INFO] [stderr] Adding zpatial v0.0.0 (available: v0.4.3) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded num-bigint v0.1.45 [INFO] [stderr] Downloaded gl v0.6.5 [INFO] [stderr] Downloaded image v0.17.0 [INFO] [stderr] Downloaded num-complex v0.1.44 [INFO] [stderr] Downloaded num v0.1.43 [INFO] [stderr] Downloaded zpatial v0.0.0 [INFO] [stderr] Downloaded mazth v0.2.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6085fcb71cd19c9b4c9bd0fedbdbd54a19c01a755811983148da73a4107c4096 [INFO] running `Command { std: "docker" "start" "-a" "6085fcb71cd19c9b4c9bd0fedbdbd54a19c01a755811983148da73a4107c4096", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6085fcb71cd19c9b4c9bd0fedbdbd54a19c01a755811983148da73a4107c4096", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6085fcb71cd19c9b4c9bd0fedbdbd54a19c01a755811983148da73a4107c4096", kill_on_drop: false }` [INFO] [stdout] 6085fcb71cd19c9b4c9bd0fedbdbd54a19c01a755811983148da73a4107c4096 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 0ea95b7aebe27caf563556adc338c745b01c5a0bae9583256014ebe558efb0ed [INFO] running `Command { std: "docker" "start" "-a" "0ea95b7aebe27caf563556adc338c745b01c5a0bae9583256014ebe558efb0ed", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling xml-rs v0.8.26 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling libloading v0.6.7 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling stb_truetype v0.3.1 [INFO] [stderr] Compiling khronos_api v2.2.0 [INFO] [stderr] Compiling num-bigint v0.1.45 [INFO] [stderr] Compiling rustc-serialize v0.3.25 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling downcast-rs v1.2.1 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling xml-rs v0.7.0 [INFO] [stderr] Compiling cc v1.2.27 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling num-rational v0.1.43 [INFO] [stderr] Compiling dlib v0.4.2 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling cty v0.2.2 [INFO] [stderr] Compiling wayland-sys v0.21.13 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling xdg v2.5.2 [INFO] [stderr] Compiling raw-window-handle v0.4.3 [INFO] [stderr] Compiling smallvec v0.6.14 [INFO] [stderr] Compiling gl_generator v0.6.1 [INFO] [stderr] Compiling lock_api v0.3.4 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling ordered-float v1.1.1 [INFO] [stderr] Compiling approx v0.3.2 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling line_drawing v0.7.0 [INFO] [stderr] Compiling num-complex v0.1.44 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling rusttype v0.8.3 [INFO] [stderr] Compiling wayland-scanner v0.21.13 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling memmap v0.7.0 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling rusttype v0.7.9 [INFO] [stderr] Compiling andrew v0.2.1 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling gl v0.6.5 [INFO] [stderr] Compiling raw-window-handle v0.3.4 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling glutin_glx_sys v0.1.8 [INFO] [stderr] Compiling glutin_egl_sys v0.1.6 [INFO] [stderr] Compiling inflate v0.3.4 [INFO] [stderr] Compiling deflate v0.7.20 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling lzw v0.10.0 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling wayland-client v0.21.13 [INFO] [stderr] Compiling wayland-protocols v0.21.13 [INFO] [stderr] Compiling png v0.11.0 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling gif v0.9.2 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling enum_primitive v0.1.1 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling memchr v1.0.2 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling nom v3.2.1 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling zpatial v0.0.0 [INFO] [stderr] Compiling mazth v0.2.1 [INFO] [stderr] Compiling num v0.1.43 [INFO] [stderr] Compiling wayland-commons v0.21.13 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling image v0.17.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling pretty_env_logger v0.2.5 [INFO] [stderr] Compiling smithay-client-toolkit v0.4.6 [INFO] [stderr] Compiling winit v0.19.5 [INFO] [stderr] Compiling glutin v0.20.1 [INFO] [stderr] Compiling e2r v0.10.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> core/interface/i_window.rs:13:43 [INFO] [stdout] | [INFO] [stdout] 13 | fn handle_signal_request( & mut self, & [ Self::SignalRequestType ] ) -> Result< (), & 'static str >; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: & [ Self::SignalRequestType ]` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> core/interface/i_game_logic.rs:34:42 [INFO] [stdout] | [INFO] [stdout] 34 | fn set_continue_compute( & mut self, bool ); [INFO] [stdout] | ^^^^ help: try naming the parameter or explicitly ignoring it: `_: bool` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> core/interface/i_renderer.rs:7:43 [INFO] [stdout] | [INFO] [stdout] 7 | fn process_render_events( & mut self, Vec< Self::EventRender > ) -> Result< (), & 'static str >; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec< Self::EventRender >` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> core/interface/i_load.rs:6:26 [INFO] [stdout] | [INFO] [stdout] 6 | fn load( & mut self, Self::InputType ) -> Result< (), & 'static str >; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::InputType` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `output` should have an upper camel case name [INFO] [stdout] --> core/interface/i_file.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | type output; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Output` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `interface::i_file::IParseStr` [INFO] [stdout] --> core/implement/file/wavefrontobj.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use interface::i_file::IParseStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> core/implement/file/wavefrontcomp.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32` [INFO] [stdout] --> core/implement/file/wavefrontcomp.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::f32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::nom::digit` [INFO] [stdout] --> core/implement/file/wavefrontcomp.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use self::nom::digit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::glutin::Context` [INFO] [stdout] --> core/implement/window/winglutin.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use self::glutin::Context; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PhysicalPosition` and `PhysicalSize` [INFO] [stdout] --> core/implement/window/winglutin.rs:7:37 [INFO] [stdout] | [INFO] [stdout] 7 | use self::glutin::dpi::{LogicalSize,PhysicalSize,PhysicalPosition}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> core/implement/render/renderer_gl.rs:187:96 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn load_shader( & mut self, sources: &[ ( String, util_gl::ShaderType ) ] ) -> Result< ( u64 ), & 'static str > { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 187 - pub fn load_shader( & mut self, sources: &[ ( String, util_gl::ShaderType ) ] ) -> Result< ( u64 ), & 'static str > { [INFO] [stdout] 187 + pub fn load_shader( & mut self, sources: &[ ( String, util_gl::ShaderType ) ] ) -> Result< u64, & 'static str > { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> core/implement/render/renderer_gl.rs:219:105 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn load_texture( & mut self, description: String, image: &[u8], w: usize, h: usize ) -> Result< ( u64 ), & 'static str > { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 219 - pub fn load_texture( & mut self, description: String, image: &[u8], w: usize, h: usize ) -> Result< ( u64 ), & 'static str > { [INFO] [stdout] 219 + pub fn load_texture( & mut self, description: String, image: &[u8], w: usize, h: usize ) -> Result< u64, & 'static str > { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> core/implement/render/texture_collection.rs:33:113 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn add( & mut self, shader_type: router::ShaderType, internal_handle: i64, descrip: String ) -> Result< (u64), & 'static str > { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 33 - pub fn add( & mut self, shader_type: router::ShaderType, internal_handle: i64, descrip: String ) -> Result< (u64), & 'static str > { [INFO] [stdout] 33 + pub fn add( & mut self, shader_type: router::ShaderType, internal_handle: i64, descrip: String ) -> Result< u64, & 'static str > { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `interface::i_interpolate::*` [INFO] [stdout] --> core/implement/cam/camguide.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use interface::i_interpolate::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::mazth::mat::*` [INFO] [stdout] --> core/implement/cam/camguide.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use self::mazth::mat::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::mazth::i_comparable::IComparableError` [INFO] [stdout] --> core/implement/cam/camguide.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use self::mazth::i_comparable::IComparableError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `interface::i_interpolate::IInterpolate` [INFO] [stdout] --> core/implement/cam/camguide.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use interface::i_interpolate::IInterpolate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `interface::i_step::Step` [INFO] [stdout] --> core/implement/cam/camguide.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use interface::i_step::Step; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `implement::step::step_interpolate` [INFO] [stdout] --> core/implement/cam/camguide.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use implement::step::step_interpolate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> core/implement/math/sim_anneal.rs:7:40 [INFO] [stdout] | [INFO] [stdout] 7 | where F0: Fn( &[ f32 ], usize ) -> ( usize ), F1: Fn( f32 ) -> f32, F2: Fn( &[ f32 ], usize )-> f32 [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 7 - where F0: Fn( &[ f32 ], usize ) -> ( usize ), F1: Fn( f32 ) -> f32, F2: Fn( &[ f32 ], usize )-> f32 [INFO] [stdout] 7 + where F0: Fn( &[ f32 ], usize ) -> usize, F1: Fn( f32 ) -> f32, F2: Fn( &[ f32 ], usize )-> f32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_ele.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | impl Clone for Box< IObjImpl > { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 | impl Clone for Box< dyn IObjImpl > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:24:21 [INFO] [stdout] | [INFO] [stdout] 24 | impl Clone for Box< IComponent > { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 24 | impl Clone for Box< dyn IComponent > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_ele.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | pub _impl: Box< IObjImpl >, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | pub _impl: Box< dyn IObjImpl >, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_ele.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | pub _components: Vec< Box< i_component::IComponent > >, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | pub _components: Vec< Box< dyn i_component::IComponent > >, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/renderer_gl.rs:28:20 [INFO] [stdout] | [INFO] [stdout] 28 | _rp: Vec< Box< i_renderpass::IRenderPass > >, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | _rp: Vec< Box< dyn i_renderpass::IRenderPass > >, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_ele.rs:17:36 [INFO] [stdout] | [INFO] [stdout] 17 | fn clone_box( & self ) -> Box< IObjImpl > { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 | fn clone_box( & self ) -> Box< dyn IObjImpl > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_ele.rs:13:36 [INFO] [stdout] | [INFO] [stdout] 13 | fn clone_box( & self ) -> Box< IObjImpl >; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 13 | fn clone_box( & self ) -> Box< dyn IObjImpl >; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_ele.rs:8:30 [INFO] [stdout] | [INFO] [stdout] 8 | fn as_any( & self ) -> & Any; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 | fn as_any( & self ) -> & dyn Any; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_ele.rs:9:67 [INFO] [stdout] | [INFO] [stdout] 9 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str >; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 9 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str >; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_ele.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | fn clone( & self ) -> Box< IObjImpl > { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 | fn clone( & self ) -> Box< dyn IObjImpl > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:11:30 [INFO] [stdout] | [INFO] [stdout] 11 | fn as_any( & self ) -> & Any; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | fn as_any( & self ) -> & dyn Any; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:15:36 [INFO] [stdout] | [INFO] [stdout] 15 | fn clone_box( & self ) -> Box< IComponent >; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | fn clone_box( & self ) -> Box< dyn IComponent >; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:19:36 [INFO] [stdout] | [INFO] [stdout] 19 | fn clone_box( & self ) -> Box< IComponent > { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | fn clone_box( & self ) -> Box< dyn IComponent > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | fn clone( & self ) -> Box< IComponent > { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | fn clone( & self ) -> Box< dyn IComponent > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:37:30 [INFO] [stdout] | [INFO] [stdout] 37 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:73:30 [INFO] [stdout] | [INFO] [stdout] 73 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:108:30 [INFO] [stdout] | [INFO] [stdout] 108 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 108 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:120:30 [INFO] [stdout] | [INFO] [stdout] 120 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 120 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:131:30 [INFO] [stdout] | [INFO] [stdout] 131 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 131 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:143:30 [INFO] [stdout] | [INFO] [stdout] 143 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 143 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:154:30 [INFO] [stdout] | [INFO] [stdout] 154 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 154 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_renderobj.rs:48:48 [INFO] [stdout] | [INFO] [stdout] 48 | fn load_into_buffer( & mut self, rd: & mut RenderDevice ) -> Result< (), & 'static str >; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 | fn load_into_buffer( & mut self, rd: & mut dyn RenderDevice ) -> Result< (), & 'static str >; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/camera.rs:81:30 [INFO] [stdout] | [INFO] [stdout] 81 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 81 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/camera.rs:84:67 [INFO] [stdout] | [INFO] [stdout] 84 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 84 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/light.rs:27:30 [INFO] [stdout] | [INFO] [stdout] 27 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/light.rs:30:67 [INFO] [stdout] | [INFO] [stdout] 30 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/mesh.rs:41:30 [INFO] [stdout] | [INFO] [stdout] 41 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/mesh.rs:44:67 [INFO] [stdout] | [INFO] [stdout] 44 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/primitive.rs:24:30 [INFO] [stdout] | [INFO] [stdout] 24 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 24 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/primitive.rs:27:67 [INFO] [stdout] | [INFO] [stdout] 27 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/primitive.rs:276:30 [INFO] [stdout] | [INFO] [stdout] 276 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 276 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/primitive.rs:279:67 [INFO] [stdout] | [INFO] [stdout] 279 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 279 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/primitive.rs:397:30 [INFO] [stdout] | [INFO] [stdout] 397 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 397 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/primitive.rs:400:67 [INFO] [stdout] | [INFO] [stdout] 400 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 400 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/render_commands.rs:21:30 [INFO] [stdout] | [INFO] [stdout] 21 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/render_commands.rs:25:67 [INFO] [stdout] | [INFO] [stdout] 25 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/render_commands.rs:44:30 [INFO] [stdout] | [INFO] [stdout] 44 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/render_commands.rs:48:67 [INFO] [stdout] | [INFO] [stdout] 48 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/render_commands.rs:67:30 [INFO] [stdout] | [INFO] [stdout] 67 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 67 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/render_commands.rs:71:67 [INFO] [stdout] | [INFO] [stdout] 71 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/render_commands.rs:90:30 [INFO] [stdout] | [INFO] [stdout] 90 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 90 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/render_commands.rs:94:67 [INFO] [stdout] | [INFO] [stdout] 94 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 94 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/render_commands.rs:113:30 [INFO] [stdout] | [INFO] [stdout] 113 | fn as_any( & self ) -> & Any { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 | fn as_any( & self ) -> & dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/render_commands.rs:117:67 [INFO] [stdout] | [INFO] [stdout] 117 | fn update_components( & mut self, components: & mut Vec< Box< i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | fn update_components( & mut self, components: & mut Vec< Box< dyn i_component::IComponent > > ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/math/frustum.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | fn get_bound( & self ) -> &IBound { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | fn get_bound( & self ) -> &dyn IBound { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/math/frustum.rs:47:41 [INFO] [stdout] | [INFO] [stdout] 47 | fn get_intersect( & self, _other: & IShape ) -> ( bool, Option< Mat3x1< f64 > > ){ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 | fn get_intersect( & self, _other: & dyn IShape ) -> ( bool, Option< Mat3x1< f64 > > ){ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/interface/i_component.rs:44:56 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn flush_into_render_device( & self, rd: & mut i_renderobj::RenderDevice ) -> Result< (), & 'static str > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | pub fn flush_into_render_device( & self, rd: & mut dyn i_renderobj::RenderDevice ) -> Result< (), & 'static str > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> core/implement/render/renderer_gl.rs:420:72 [INFO] [stdout] | [INFO] [stdout] 420 | pub fn get_renderpass( & mut self, name: String ) -> Option< & mut i_renderpass::IRenderPass > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 420 | pub fn get_renderpass( & mut self, name: String ) -> Option< & mut dyn i_renderpass::IRenderPass > { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `progress` is never read [INFO] [stdout] --> core/implement/file/wavefrontobj.rs:512:17 [INFO] [stdout] | [INFO] [stdout] 512 | let mut progress = false; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> core/implement/cam/camguide.rs:29:30 [INFO] [stdout] | [INFO] [stdout] 29 | fn set_next( & mut self, pos: Mat4x1 ){ [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `win_offset` [INFO] [stdout] --> core/implement/logic/game0.rs:324:68 [INFO] [stdout] | [INFO] [stdout] 324 | fn transition_states( & mut self, inputs: & [ InputFiltered ], win_offset: (i32,i32), win_size: (u32,u32) ) -> GameStateChangePending { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_win_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `win_size` [INFO] [stdout] --> core/implement/logic/game0.rs:324:91 [INFO] [stdout] | [INFO] [stdout] 324 | fn transition_states( & mut self, inputs: & [ InputFiltered ], win_offset: (i32,i32), win_size: (u32,u32) ) -> GameStateChangePending { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_win_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `win_size` [INFO] [stdout] --> core/implement/ui/input_default_glutin.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let win_size = input.2; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_win_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `logical_size` [INFO] [stdout] --> core/implement/ui/input_default_glutin.rs:50:48 [INFO] [stdout] | [INFO] [stdout] 50 | &glutin::WindowEvent::Resized( logical_size ) => { //todo [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logical_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `win_offset` [INFO] [stdout] --> core/implement/ui/ui_cam.rs:30:53 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn process( & mut self, i: & InputFiltered, win_offset: (i32,i32), win_size: (u32,u32) ) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_win_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/interface/i_component.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | uc.set_group( shader_program as _, **k, (**v).clone() ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 94 | let _ = uc.set_group( shader_program as _, **k, (**v).clone() ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/interface/i_kernel.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | (self.as_mut() as & mut R).process_render_events( events_render ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 86 | let _ = (self.as_mut() as & mut R).process_render_events( events_render ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> core/implement/file/md5comp.rs:134:29 [INFO] [stdout] | [INFO] [stdout] 134 | let ns = n._val.into_iter().cycle().cloned().take(9).collect::>(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 134 - let ns = n._val.into_iter().cycle().cloned().take(9).collect::>(); [INFO] [stdout] 134 + let ns = n._val.iter().cycle().cloned().take(9).collect::>(); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 134 - let ns = n._val.into_iter().cycle().cloned().take(9).collect::>(); [INFO] [stdout] 134 + let ns = IntoIterator::into_iter(n._val).cycle().cloned().take(9).collect::>(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/file/ppm.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | buf_reader.read_to_end( & mut content ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 10 | let _ = buf_reader.read_to_end( & mut content ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/render/renderer_gl.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | self._shader_collection.borrow_mut().clear().is_ok(); //does DeleteProgram [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = self._shader_collection.borrow_mut().clear().is_ok(); //does DeleteProgram [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/render/renderer_gl.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | self.add_obj( dummy_str, i_ele::Ele::init( render_commands::CmdDrawGroupClear::init( draw_group ) ) ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 95 | let _ = self.add_obj( dummy_str, i_ele::Ele::init( render_commands::CmdDrawGroupClear::init( draw_group ) ) ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/render/renderer_gl.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | self.add_obj( dummy_str, i_ele::Ele::init( render_commands::CmdDrawGroupBind::init( draw_group ) ) ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = self.add_obj( dummy_str, i_ele::Ele::init( render_commands::CmdDrawGroupBind::init( draw_group ) ) ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/render/renderer_gl.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | ... self.add_obj( dummy_str, i_ele::Ele::init( render_commands::CmdDrawGroupDependentUniforms::init( draw_group, &[0u64,1u64] ) ) ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 139 | let _ = self.add_obj( dummy_str, i_ele::Ele::init( render_commands::CmdDrawGroupDependentUniforms::init( draw_group, &[0u64,1u64] ) ) ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/render/renderer_gl.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | self.add_obj( dummy_str, i_ele::Ele::init( render_commands::CmdDrawGroupDispatch::init( draw_group ) ) ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 143 | let _ = self.add_obj( dummy_str, i_ele::Ele::init( render_commands::CmdDrawGroupDispatch::init( draw_group ) ) ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/render/renderer_gl.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | ... self._shader_collection.borrow_mut().put( i as u64, router::ShaderType::GLSL, util_gl::create_program_from_shaders( compiled_shaders.as_slice() ) as _, String::from("ads_program") ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 203 | let _ = self._shader_collection.borrow_mut().put( i as u64, router::ShaderType::GLSL, util_gl::create_program_from_shaders( compiled_shaders.as_slice() ) as _, String::from("ads_program") ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/render/renderer_gl.rs:334:25 [INFO] [stdout] | [INFO] [stdout] 334 | renderer.reset_draw_group_data( &[ o._group_id ] ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 334 | let _ = renderer.reset_draw_group_data( &[ o._group_id ] ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/render/renderer_gl.rs:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | renderer.bind_draw_group_data( &[ o._group_id ] ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 342 | let _ = renderer.bind_draw_group_data( &[ o._group_id ] ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/render/renderer_gl.rs:350:25 [INFO] [stdout] | [INFO] [stdout] 350 | renderer.set_draw_group_uniforms( o._group_id, &o._uniform_ids[..] ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 350 | let _ = renderer.set_draw_group_uniforms( o._group_id, &o._uniform_ids[..] ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> core/implement/render/renderer_gl.rs:359:25 [INFO] [stdout] | [INFO] [stdout] 359 | Renderer::drawcall_draw_group( renderer_immut, &[ o._group_id ] ).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 359 | let _ = Renderer::drawcall_draw_group( renderer_immut, &[ o._group_id ] ).is_ok(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> core/implement/render/camera.rs:106:15 [INFO] [stdout] | [INFO] [stdout] 106 | ].into_iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 106 - ].into_iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] 106 + ].iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 103 ~ let data_map_mat4f : HashMap< String, Vec > = IntoIterator::into_iter([ ( String::from("ModelViewMatrix\0"), &model_view_transform._val[..] ), [INFO] [stdout] 104 | ( String::from("ProjectionMatrix\0"), &self._proj_xform._val[..] ), [INFO] [stdout] 105 | ( String::from("MVP\0"), &mvp_transform._val[..] ), [INFO] [stdout] 106 ~ ]).map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> core/implement/render/camera.rs:109:15 [INFO] [stdout] | [INFO] [stdout] 109 | ... ].into_iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); ... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 109 - ].into_iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] 109 + ].iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 108 ~ let data_map_mat3f : HashMap< String, Vec > = IntoIterator::into_iter([ ( String::from("NormalMatrix\0"), &normal_inv_transpose._val[..] ), [INFO] [stdout] 109 ~ ]).map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> core/implement/render/camera.rs:114:15 [INFO] [stdout] | [INFO] [stdout] 114 | ].into_iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 114 - ].into_iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] 114 + ].iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 112 ~ let data_group : HashMap< u64, Vec > = IntoIterator::into_iter([ ( uniform_group_id, [ String::from("ModelViewMatrix\0"), String::from("NormalMatrix\0"), //todo: add warning message on unmatched uniform name in uniform manager [INFO] [stdout] 113 | String::from("ProjectionMatrix\0"), String::from("MVP\0") ] ), [INFO] [stdout] 114 ~ ]).map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> core/implement/render/light.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | ].into_iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 43 - ].into_iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] 43 + ].iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 35 ~ let data_map : HashMap< String, Vec > = IntoIterator::into_iter([ ( String::from("Light.Position\0"), &self._pos._val[..] ), [INFO] [stdout] 36 | ( String::from("Light.La\0"), &self._ads_val_amb._val[..] ), [INFO] [stdout] ... [INFO] [stdout] 42 | ( String::from("Material.Shininess\0"), &[ 3f32 ] ), [INFO] [stdout] 43 ~ ]).map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> core/implement/render/light.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | ].into_iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 50 - ].into_iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] 50 + ].iter().map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 46 ~ let data_group : HashMap< u64, Vec > = IntoIterator::into_iter([ ( uniform_group_id, [ String::from("Material.Ka\0"), String::from("Material.Kd\0"), [INFO] [stdout] 47 | String::from("Material.Ks\0"), String::from("Material.Shininess\0"), [INFO] [stdout] 48 | String::from("Light.Position\0"), String::from("Light.La\0"), [INFO] [stdout] 49 | String::from("Light.Ld\0"), String::from("Light.Ls\0") ] ), [INFO] [stdout] 50 ~ ]).map(|&( ref k, ref v)| ( k.clone(), v[..].to_vec() ) ).collect(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> core/implement/render/mesh.rs:103:122 [INFO] [stdout] | [INFO] [stdout] 103 | ... ( i_renderobj::BuffDataType::TC, tc ) ].into_iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 103 - ( i_renderobj::BuffDataType::TC, tc ) ].into_iter().cloned().collect(); [INFO] [stdout] 103 + ( i_renderobj::BuffDataType::TC, tc ) ].iter().cloned().collect(); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 101 ~ let data_map : HashMap< i_renderobj::BuffDataType, Vec > = IntoIterator::into_iter([ ( i_renderobj::BuffDataType::POS, pos ), [INFO] [stdout] 102 | ( i_renderobj::BuffDataType::NORMAL, normal ), [INFO] [stdout] 103 ~ ( i_renderobj::BuffDataType::TC, tc ) ]).cloned().collect(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> core/implement/render/primitive.rs:355:49 [INFO] [stdout] | [INFO] [stdout] 355 | let x = self._positions[ i[0] ].into_iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 355 - let x = self._positions[ i[0] ].into_iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] 355 + let x = self._positions[ i[0] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 355 - let x = self._positions[ i[0] ].into_iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] 355 + let x = IntoIterator::into_iter(self._positions[ i[0] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> core/implement/render/primitive.rs:356:49 [INFO] [stdout] | [INFO] [stdout] 356 | let y = self._positions[ i[1] ].into_iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 356 - let y = self._positions[ i[1] ].into_iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] 356 + let y = self._positions[ i[1] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 356 - let y = self._positions[ i[1] ].into_iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] 356 + let y = IntoIterator::into_iter(self._positions[ i[1] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> core/implement/render/primitive.rs:357:49 [INFO] [stdout] | [INFO] [stdout] 357 | let z = self._positions[ i[2] ].into_iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 357 - let z = self._positions[ i[2] ].into_iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] 357 + let z = self._positions[ i[2] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 357 - let z = self._positions[ i[2] ].into_iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] 357 + let z = IntoIterator::into_iter(self._positions[ i[2] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect:: >(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> games/model_viewer/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(main)] [INFO] [stdout] | ^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in 1.53.0 (you are using 1.89.0-nightly (8de4c7234 2025-06-19)); see for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> games/n_of_a_kind/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(main)] [INFO] [stdout] | ^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in 1.53.0 (you are using 1.89.0-nightly (8de4c7234 2025-06-19)); see for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `main` in this scope [INFO] [stdout] --> games/n_of_a_kind/main.rs:674:3 [INFO] [stdout] | [INFO] [stdout] 674 | #[main] [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `main` is in scope, but it is a function, not an attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `main` in this scope [INFO] [stdout] --> games/model_viewer/main.rs:566:3 [INFO] [stdout] | [INFO] [stdout] 566 | #[main] [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `main` is in scope, but it is a function, not an attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: found module declaration for main.rs [INFO] [stdout] --> games/n_of_a_kind/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub mod main; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: a binary crate cannot be used as library [INFO] [stdout] = note: `#[warn(special_module_name)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0601]: `main` function not found in crate `n_of_a_kind` [INFO] [stdout] --> games/n_of_a_kind/mod.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub mod main; [INFO] [stdout] | ^ the main function must be defined at the crate level (in `games/n_of_a_kind/mod.rs`) [INFO] [stdout] | [INFO] [stdout] note: here is a function named `main` [INFO] [stdout] --> games/n_of_a_kind/main.rs:675:1 [INFO] [stdout] | [INFO] [stdout] 675 | fn main() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] = note: you have one or more functions named `main` not defined at the crate level [INFO] [stdout] = help: consider moving the `main` function definitions [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `use_extern_macros` has been stable since 1.30.0 and no longer requires an attribute to enable [INFO] [stdout] --> core/example/example_kernel_impl001.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(use_extern_macros)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: found module declaration for main.rs [INFO] [stdout] --> games/model_viewer/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub mod main; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: a binary crate cannot be used as library [INFO] [stdout] = note: `#[warn(special_module_name)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> games/model_viewer/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::e2rcore::implement::render::texture` [INFO] [stdout] --> games/model_viewer/main.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use self::e2rcore::implement::render::texture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::image::GenericImage` [INFO] [stdout] --> games/model_viewer/main.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | use self::image::GenericImage; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0601]: `main` function not found in crate `model_viewer` [INFO] [stdout] --> games/model_viewer/mod.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub mod main; [INFO] [stdout] | ^ the main function must be defined at the crate level (in `games/model_viewer/mod.rs`) [INFO] [stdout] | [INFO] [stdout] note: here is a function named `main` [INFO] [stdout] --> games/model_viewer/main.rs:567:1 [INFO] [stdout] | [INFO] [stdout] 567 | fn main() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] = note: you have one or more functions named `main` not defined at the crate level [INFO] [stdout] = help: consider moving the `main` function definitions [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0557, E0601. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0557`. [INFO] [stdout] [INFO] [stderr] error: could not compile `e2r` (bin "model_viewer") due to 3 previous errors; 4 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] Some errors have detailed explanations: E0557, E0601. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0557`. [INFO] [stdout] [INFO] [stderr] error: could not compile `e2r` (bin "n_of_a_kind") due to 3 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "0ea95b7aebe27caf563556adc338c745b01c5a0bae9583256014ebe558efb0ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0ea95b7aebe27caf563556adc338c745b01c5a0bae9583256014ebe558efb0ed", kill_on_drop: false }` [INFO] [stdout] 0ea95b7aebe27caf563556adc338c745b01c5a0bae9583256014ebe558efb0ed