[INFO] fetching crate e2r 0.10.0...
[INFO] checking e2r-0.10.0 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate e2r 0.10.0 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate e2r 0.10.0 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 171 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding andrew v0.2.1 (latest: v0.3.1)
[INFO] [stderr]       Adding ansi_term v0.11.0 (latest: v0.12.1)
[INFO] [stderr]       Adding approx v0.3.2 (latest: v0.5.1)
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding cfg-if v0.1.10 (latest: v1.0.0)
[INFO] [stderr]       Adding cgl v0.2.3 (latest: v0.3.2)
[INFO] [stderr]       Adding cloudabi v0.0.3 (latest: v0.1.0)
[INFO] [stderr]       Adding cocoa v0.18.5 (latest: v0.25.0)
[INFO] [stderr]       Adding core-foundation v0.6.4 (latest: v0.9.4)
[INFO] [stderr]       Adding core-foundation-sys v0.6.2 (latest: v0.8.6)
[INFO] [stderr]       Adding core-graphics v0.17.3 (latest: v0.23.2)
[INFO] [stderr]       Adding deflate v0.7.20 (latest: v1.0.0)
[INFO] [stderr]       Adding dlib v0.4.2 (latest: v0.5.2)
[INFO] [stderr]       Adding env_logger v0.5.13 (latest: v0.11.3)
[INFO] [stderr]       Adding foreign-types v0.3.2 (latest: v0.5.0)
[INFO] [stderr]       Adding foreign-types-shared v0.1.1 (latest: v0.3.1)
[INFO] [stderr]       Adding gif v0.9.2 (latest: v0.13.1)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding gl v0.6.5 (latest: v0.14.0)
[INFO] [stderr]       Adding gl_generator v0.6.1 (latest: v0.14.0)
[INFO] [stderr]       Adding gl_generator v0.13.1 (latest: v0.14.0)
[INFO] [stderr]       Adding gleam v0.6.19 (latest: v0.15.0)
[INFO] [stderr]       Adding glutin v0.20.1 (latest: v0.31.3)
[INFO] [stderr]       Adding glutin_egl_sys v0.1.6 (latest: v0.6.0)
[INFO] [stderr]       Adding glutin_gles2_sys v0.1.5 (latest: v0.5.0)
[INFO] [stderr]       Adding glutin_glx_sys v0.1.8 (latest: v0.5.0)
[INFO] [stderr]       Adding glutin_wgl_sys v0.1.5 (latest: v0.5.0)
[INFO] [stderr]       Adding hermit-abi v0.1.19 (latest: v0.3.9)
[INFO] [stderr]       Adding humantime v1.3.0 (latest: v2.1.0)
[INFO] [stderr]       Adding image v0.17.0 (latest: v0.25.1)
[INFO] [stderr]       Adding inflate v0.3.4 (latest: v0.4.5)
[INFO] [stderr]       Adding jpeg-decoder v0.1.22 (latest: v0.3.1)
[INFO] [stderr]       Adding khronos_api v2.2.0 (latest: v3.1.0)
[INFO] [stderr]       Adding libloading v0.5.2 (latest: v0.8.3)
[INFO] [stderr]       Adding libloading v0.6.7 (latest: v0.8.3)
[INFO] [stderr]       Adding line_drawing v0.7.0 (latest: v1.0.0)
[INFO] [stderr]       Adding lock_api v0.3.4 (latest: v0.4.12)
[INFO] [stderr]       Adding log v0.3.9 (latest: v0.4.21)
[INFO] [stderr]       Adding malloc_buf v0.0.6 (latest: v1.0.0)
[INFO] [stderr]       Adding mazth v0.2.1 (latest: v0.6.0)
[INFO] [stderr]       Adding memchr v1.0.2 (latest: v2.7.2)
[INFO] [stderr]       Adding nix v0.14.1 (latest: v0.28.0)
[INFO] [stderr]       Adding nom v3.2.1 (latest: v7.1.3)
[INFO] [stderr]       Adding num v0.1.42 (latest: v0.4.2)
[INFO] [stderr]       Adding num-bigint v0.1.44 (latest: v0.4.4)
[INFO] [stderr]       Adding num-complex v0.1.43 (latest: v0.4.5)
[INFO] [stderr]       Adding num-rational v0.1.42 (latest: v0.4.1)
[INFO] [stderr]       Adding num-traits v0.1.43 (latest: v0.2.18)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding ordered-float v1.1.1 (latest: v4.2.0)
[INFO] [stderr]       Adding parking_lot v0.9.0 (latest: v0.12.2)
[INFO] [stderr]       Adding parking_lot_core v0.6.3 (latest: v0.9.10)
[INFO] [stderr]       Adding png v0.11.0 (latest: v0.17.13)
[INFO] [stderr]       Adding pretty_env_logger v0.2.5 (latest: v0.5.0)
[INFO] [stderr]       Adding proc-macro2 v0.4.30 (latest: v1.0.81)
[INFO] [stderr]       Adding quick-error v1.2.3 (latest: v2.0.1)
[INFO] [stderr]       Adding quote v0.6.13 (latest: v1.0.36)
[INFO] [stderr]       Adding rand v0.3.23 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding raw-window-handle v0.3.4 (latest: v0.6.1)
[INFO] [stderr]       Adding raw-window-handle v0.4.3 (latest: v0.6.1)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding redox_syscall v0.1.57 (latest: v0.5.1)
[INFO] [stderr]       Adding rustc_version v0.2.3 (latest: v0.4.0)
[INFO] [stderr]       Adding rusttype v0.7.9 (latest: v0.9.3)
[INFO] [stderr]       Adding rusttype v0.8.3 (latest: v0.9.3)
[INFO] [stderr]       Adding semver v0.9.0 (latest: v1.0.22)
[INFO] [stderr]       Adding semver-parser v0.7.0 (latest: v0.10.2)
[INFO] [stderr]       Adding smallvec v0.6.14 (latest: v1.13.2)
[INFO] [stderr]       Adding smithay-client-toolkit v0.4.6 (latest: v0.18.1)
[INFO] [stderr]       Adding unicode-xid v0.1.0 (latest: v0.2.4)
[INFO] [stderr]       Adding wayland-client v0.21.13 (latest: v0.31.2)
[INFO] [stderr]       Adding wayland-commons v0.21.13 (latest: v0.29.5)
[INFO] [stderr]       Adding wayland-protocols v0.21.13 (latest: v0.31.2)
[INFO] [stderr]       Adding wayland-scanner v0.21.13 (latest: v0.31.1)
[INFO] [stderr]       Adding wayland-sys v0.21.13 (latest: v0.31.1)
[INFO] [stderr]       Adding windows-core v0.52.0 (latest: v0.56.0)
[INFO] [stderr]       Adding winit v0.19.5 (latest: v0.30.0)
[INFO] [stderr]       Adding xml-rs v0.7.0 (latest: v0.8.20)
[INFO] [stderr]       Adding zpatial v0.0.0 (latest: v0.4.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pretty_env_logger v0.2.5
[INFO] [stderr]   Downloaded num-complex v0.1.43
[INFO] [stderr]   Downloaded memchr v1.0.2
[INFO] [stderr]   Downloaded num-rational v0.1.42
[INFO] [stderr]   Downloaded env_logger v0.5.13
[INFO] [stderr]   Downloaded enum_primitive v0.1.1
[INFO] [stderr]   Downloaded scoped_threadpool v0.1.9
[INFO] [stderr]   Downloaded andrew v0.2.1
[INFO] [stderr]   Downloaded wayland-commons v0.21.13
[INFO] [stderr]   Downloaded wayland-scanner v0.21.13
[INFO] [stderr]   Downloaded glutin_glx_sys v0.1.8
[INFO] [stderr]   Downloaded gl v0.6.5
[INFO] [stderr]   Downloaded gl_generator v0.13.1
[INFO] [stderr]   Downloaded gl_generator v0.14.0
[INFO] [stderr]   Downloaded xml-rs v0.7.0
[INFO] [stderr]   Downloaded khronos_api v2.2.0
[INFO] [stderr]   Downloaded gl_generator v0.6.1
[INFO] [stderr]   Downloaded gleam v0.6.19
[INFO] [stderr]   Downloaded glutin_gles2_sys v0.1.5
[INFO] [stderr]   Downloaded khronos_api v3.1.0
[INFO] [stderr]   Downloaded block v0.1.6
[INFO] [stderr]   Downloaded cocoa v0.18.5
[INFO] [stderr]   Downloaded objc v0.2.7
[INFO] [stderr]   Downloaded cty v0.2.2
[INFO] [stderr]   Downloaded raw-window-handle v0.4.3
[INFO] [stderr]   Downloaded raw-window-handle v0.3.4
[INFO] [stderr]   Downloaded line_drawing v0.7.0
[INFO] [stderr]   Downloaded wayland-protocols v0.21.13
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.4.6
[INFO] [stderr]   Downloaded xml-rs v0.8.20
[INFO] [stderr]   Downloaded libloading v0.6.7
[INFO] [stderr]   Downloaded dlib v0.4.2
[INFO] [stderr]   Downloaded wayland-client v0.21.13
[INFO] [stderr]   Downloaded x11-dl v2.21.0
[INFO] [stderr]   Downloaded winit v0.19.5
[INFO] [stderr]   Downloaded deflate v0.7.20
[INFO] [stderr]   Downloaded zpatial v0.0.0
[INFO] [stderr]   Downloaded image v0.17.0
[INFO] [stderr]   Downloaded osmesa-sys v0.1.2
[INFO] [stderr]   Downloaded glutin v0.20.1
[INFO] [stderr]   Downloaded mazth v0.2.1
[INFO] [stderr]   Downloaded shared_library v0.1.9
[INFO] [stderr]   Downloaded core-graphics v0.17.3
[INFO] [stderr]   Downloaded rusttype v0.7.9
[INFO] [stderr]   Downloaded xdg v2.5.2
[INFO] [stderr]   Downloaded png v0.11.0
[INFO] [stderr]   Downloaded cgl v0.2.3
[INFO] [stderr]   Downloaded glutin_egl_sys v0.1.6
[INFO] [stderr]   Downloaded glutin_wgl_sys v0.1.5
[INFO] [stderr]   Downloaded malloc_buf v0.0.6
[INFO] [stderr]   Downloaded downcast-rs v1.2.1
[INFO] [stderr]   Downloaded android_glue v0.2.3
[INFO] [stderr]   Downloaded wayland-sys v0.21.13
[INFO] [stderr]   Downloaded gif v0.9.2
[INFO] [stderr]   Downloaded inflate v0.3.4
[INFO] [stderr]   Downloaded nom v3.2.1
[INFO] [stderr]   Downloaded num-bigint v0.1.44
[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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] edc38bb6a1d8603d18fca431e647d73b488338ee6b01b1c5916508c353c99f83
[INFO] running `Command { std: "docker" "start" "-a" "edc38bb6a1d8603d18fca431e647d73b488338ee6b01b1c5916508c353c99f83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "edc38bb6a1d8603d18fca431e647d73b488338ee6b01b1c5916508c353c99f83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "edc38bb6a1d8603d18fca431e647d73b488338ee6b01b1c5916508c353c99f83", kill_on_drop: false }`
[INFO] [stdout] edc38bb6a1d8603d18fca431e647d73b488338ee6b01b1c5916508c353c99f83
[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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fdef419724320f75415f4fbfe36f92ddad41407aca564845bdc250432fe28bbd
[INFO] running `Command { std: "docker" "start" "-a" "fdef419724320f75415f4fbfe36f92ddad41407aca564845bdc250432fe28bbd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]     Checking xdg v2.5.2
[INFO] [stderr]     Checking wayland-sys v0.21.13
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking inflate v0.3.4
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling gl_generator v0.6.1
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking zpatial v0.0.0
[INFO] [stderr]    Compiling wayland-scanner v0.21.13
[INFO] [stderr]     Checking mazth v0.2.1
[INFO] [stderr]     Checking gif v0.9.2
[INFO] [stderr]    Compiling gl v0.6.5
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking raw-window-handle v0.3.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking memchr v1.0.2
[INFO] [stderr]     Checking env_logger v0.5.13
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking nom v3.2.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ordered-float v1.1.1
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking num-complex v0.1.43
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking num-bigint v0.1.44
[INFO] [stderr]    Compiling wayland-client v0.21.13
[INFO] [stderr]    Compiling wayland-protocols v0.21.13
[INFO] [stderr]     Checking png v0.11.0
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking pretty_env_logger v0.2.5
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking image v0.17.0
[INFO] [stderr]     Checking wayland-commons v0.21.13
[INFO] [stderr]     Checking smithay-client-toolkit v0.4.6
[INFO] [stderr]     Checking winit v0.19.5
[INFO] [stderr]     Checking glutin v0.20.1
[INFO] [stderr]     Checking 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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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`, `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: 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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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`, `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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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_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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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_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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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_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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/test/math/test_interpolate.rs:19:48
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn test_interp_forward< T >( interp: & mut IInterpolate< T, Item=T >, _start_val: & T, end_val: & T ) -> () 
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn test_interp_forward< T >( interp: & mut dyn IInterpolate< T, Item=T >, _start_val: & T, end_val: & T ) -> () 
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> core/test/math/test_interpolate.rs:44:53
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn test_interp_forward_back< T >( interp: & mut IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> () 
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn test_interp_forward_back< T >( interp: & mut dyn IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> () 
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> core/test/math/test_interpolate.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn test_iterator< T >( interp: & mut IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> ()
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn test_iterator< T >( interp: & mut dyn IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> ()
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> core/test/math/test_interpolate.rs:104:50
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn test_reverse_iterator< T >( interp: & mut IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> ()
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn test_reverse_iterator< T >( interp: & mut dyn IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> ()
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: 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: 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<f64> ){
[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: `pos`
[INFO] [stdout]   --> core/implement/cam/camguide.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn set_next( & mut self, pos: Mat4x1<f64> ){
[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_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 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::<T, E>::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::<T, E>::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::<Vec<f32>>();
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[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.iter().cycle().cloned().take(9).collect::<Vec<f32>>();
[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 = IntoIterator::into_iter(n._val).cycle().cloned().take(9).collect::<Vec<f32>>();
[INFO] [stdout]     |                      ++++++++++++++++++++++++      ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<String> > = 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[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<String> > = 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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: unused return value of `Result::<T, E>::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: 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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 355 |                 let x = self._positions[ i[0] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[0] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 let y = self._positions[ i[1] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[1] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 357 |                 let z = self._positions[ i[2] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[2] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[INFO] [stdout]     |                         ++++++++++++++++++++++++                       ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::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::<Vec<f32>>();
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[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.iter().cycle().cloned().take(9).collect::<Vec<f32>>();
[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 = IntoIterator::into_iter(n._val).cycle().cloned().take(9).collect::<Vec<f32>>();
[INFO] [stdout]     |                      ++++++++++++++++++++++++      ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<String> > = 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[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<String> > = 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 355 |                 let x = self._positions[ i[0] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[0] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 let y = self._positions[ i[1] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[1] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 357 |                 let z = self._positions[ i[2] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[2] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[INFO] [stdout]     |                         ++++++++++++++++++++++++                       ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> core/test/math/test_interpolate.rs:108:14
[INFO] [stdout]     |
[INFO] [stdout] 108 |     for x in interp.next() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to iterate over `interp` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     for x in interp.by_ref() {
[INFO] [stdout]     |                    ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 108 |     if let Some(x) = interp.next() {
[INFO] [stdout]     |     ~~~~~~~~~~~~ ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> core/test/math/test_interpolate.rs:118:14
[INFO] [stdout]     |
[INFO] [stdout] 118 |     for x in interp.next_back() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     while let Some(x) = interp.next_back() {
[INFO] [stdout]     |     ~~~~~~~~~~~~~~~ ~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 118 |     if let Some(x) = interp.next_back() {
[INFO] [stdout]     |     ~~~~~~~~~~~~ ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5rig_nom.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 |         Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 13 |         Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5rig_nom.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |         Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |         Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5comp_nom.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |         Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 15 |         Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5comp_nom.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 |         Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 19 |         Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5comp_nom.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 |         Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 23 |         Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5comp_nom.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |             Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 30 |             Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 99 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 111 warnings emitted
[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] 
[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] 
[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] 
[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] 
[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: 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] 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: 1 warning emitted
[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/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] 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: 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/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[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] warning: 1 warning emitted
[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] 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] error: aborting due to 3 previous errors; 4 warnings emitted
[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] [stdout] error: aborting due to 2 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `e2r` (bin "model_viewer") due to 4 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `e2r` (bin "model_viewer" test) due to 3 previous errors; 4 warnings emitted
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 1 warning emitted
[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 "n_of_a_kind" test) due to 3 previous errors; 1 warning emitted
[INFO] [stderr] error: could not compile `e2r` (bin "n_of_a_kind") due to 4 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "fdef419724320f75415f4fbfe36f92ddad41407aca564845bdc250432fe28bbd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdef419724320f75415f4fbfe36f92ddad41407aca564845bdc250432fe28bbd", kill_on_drop: false }`
[INFO] [stdout] fdef419724320f75415f4fbfe36f92ddad41407aca564845bdc250432fe28bbd
[INFO] checking e2r-0.10.0 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate e2r 0.10.0 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate e2r 0.10.0 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 171 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding andrew v0.2.1 (latest: v0.3.1)
[INFO] [stderr]       Adding ansi_term v0.11.0 (latest: v0.12.1)
[INFO] [stderr]       Adding approx v0.3.2 (latest: v0.5.1)
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding cfg-if v0.1.10 (latest: v1.0.0)
[INFO] [stderr]       Adding cgl v0.2.3 (latest: v0.3.2)
[INFO] [stderr]       Adding cloudabi v0.0.3 (latest: v0.1.0)
[INFO] [stderr]       Adding cocoa v0.18.5 (latest: v0.25.0)
[INFO] [stderr]       Adding core-foundation v0.6.4 (latest: v0.9.4)
[INFO] [stderr]       Adding core-foundation-sys v0.6.2 (latest: v0.8.6)
[INFO] [stderr]       Adding core-graphics v0.17.3 (latest: v0.23.2)
[INFO] [stderr]       Adding deflate v0.7.20 (latest: v1.0.0)
[INFO] [stderr]       Adding dlib v0.4.2 (latest: v0.5.2)
[INFO] [stderr]       Adding env_logger v0.5.13 (latest: v0.11.3)
[INFO] [stderr]       Adding foreign-types v0.3.2 (latest: v0.5.0)
[INFO] [stderr]       Adding foreign-types-shared v0.1.1 (latest: v0.3.1)
[INFO] [stderr]       Adding gif v0.9.2 (latest: v0.13.1)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding gl v0.6.5 (latest: v0.14.0)
[INFO] [stderr]       Adding gl_generator v0.6.1 (latest: v0.14.0)
[INFO] [stderr]       Adding gl_generator v0.13.1 (latest: v0.14.0)
[INFO] [stderr]       Adding gleam v0.6.19 (latest: v0.15.0)
[INFO] [stderr]       Adding glutin v0.20.1 (latest: v0.31.3)
[INFO] [stderr]       Adding glutin_egl_sys v0.1.6 (latest: v0.6.0)
[INFO] [stderr]       Adding glutin_gles2_sys v0.1.5 (latest: v0.5.0)
[INFO] [stderr]       Adding glutin_glx_sys v0.1.8 (latest: v0.5.0)
[INFO] [stderr]       Adding glutin_wgl_sys v0.1.5 (latest: v0.5.0)
[INFO] [stderr]       Adding hermit-abi v0.1.19 (latest: v0.3.9)
[INFO] [stderr]       Adding humantime v1.3.0 (latest: v2.1.0)
[INFO] [stderr]       Adding image v0.17.0 (latest: v0.25.1)
[INFO] [stderr]       Adding inflate v0.3.4 (latest: v0.4.5)
[INFO] [stderr]       Adding jpeg-decoder v0.1.22 (latest: v0.3.1)
[INFO] [stderr]       Adding khronos_api v2.2.0 (latest: v3.1.0)
[INFO] [stderr]       Adding libloading v0.5.2 (latest: v0.8.3)
[INFO] [stderr]       Adding libloading v0.6.7 (latest: v0.8.3)
[INFO] [stderr]       Adding line_drawing v0.7.0 (latest: v1.0.0)
[INFO] [stderr]       Adding lock_api v0.3.4 (latest: v0.4.12)
[INFO] [stderr]       Adding log v0.3.9 (latest: v0.4.21)
[INFO] [stderr]       Adding malloc_buf v0.0.6 (latest: v1.0.0)
[INFO] [stderr]       Adding mazth v0.2.1 (latest: v0.6.0)
[INFO] [stderr]       Adding memchr v1.0.2 (latest: v2.7.2)
[INFO] [stderr]       Adding nix v0.14.1 (latest: v0.28.0)
[INFO] [stderr]       Adding nom v3.2.1 (latest: v7.1.3)
[INFO] [stderr]       Adding num v0.1.42 (latest: v0.4.2)
[INFO] [stderr]       Adding num-bigint v0.1.44 (latest: v0.4.4)
[INFO] [stderr]       Adding num-complex v0.1.43 (latest: v0.4.5)
[INFO] [stderr]       Adding num-rational v0.1.42 (latest: v0.4.1)
[INFO] [stderr]       Adding num-traits v0.1.43 (latest: v0.2.18)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding ordered-float v1.1.1 (latest: v4.2.0)
[INFO] [stderr]       Adding parking_lot v0.9.0 (latest: v0.12.2)
[INFO] [stderr]       Adding parking_lot_core v0.6.3 (latest: v0.9.10)
[INFO] [stderr]       Adding png v0.11.0 (latest: v0.17.13)
[INFO] [stderr]       Adding pretty_env_logger v0.2.5 (latest: v0.5.0)
[INFO] [stderr]       Adding proc-macro2 v0.4.30 (latest: v1.0.81)
[INFO] [stderr]       Adding quick-error v1.2.3 (latest: v2.0.1)
[INFO] [stderr]       Adding quote v0.6.13 (latest: v1.0.36)
[INFO] [stderr]       Adding rand v0.3.23 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding raw-window-handle v0.3.4 (latest: v0.6.1)
[INFO] [stderr]       Adding raw-window-handle v0.4.3 (latest: v0.6.1)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding redox_syscall v0.1.57 (latest: v0.5.1)
[INFO] [stderr]       Adding rustc_version v0.2.3 (latest: v0.4.0)
[INFO] [stderr]       Adding rusttype v0.7.9 (latest: v0.9.3)
[INFO] [stderr]       Adding rusttype v0.8.3 (latest: v0.9.3)
[INFO] [stderr]       Adding semver v0.9.0 (latest: v1.0.22)
[INFO] [stderr]       Adding semver-parser v0.7.0 (latest: v0.10.2)
[INFO] [stderr]       Adding smallvec v0.6.14 (latest: v1.13.2)
[INFO] [stderr]       Adding smithay-client-toolkit v0.4.6 (latest: v0.18.1)
[INFO] [stderr]       Adding unicode-xid v0.1.0 (latest: v0.2.4)
[INFO] [stderr]       Adding wayland-client v0.21.13 (latest: v0.31.2)
[INFO] [stderr]       Adding wayland-commons v0.21.13 (latest: v0.29.5)
[INFO] [stderr]       Adding wayland-protocols v0.21.13 (latest: v0.31.2)
[INFO] [stderr]       Adding wayland-scanner v0.21.13 (latest: v0.31.1)
[INFO] [stderr]       Adding wayland-sys v0.21.13 (latest: v0.31.1)
[INFO] [stderr]       Adding windows-core v0.52.0 (latest: v0.56.0)
[INFO] [stderr]       Adding winit v0.19.5 (latest: v0.30.0)
[INFO] [stderr]       Adding xml-rs v0.7.0 (latest: v0.8.20)
[INFO] [stderr]       Adding zpatial v0.0.0 (latest: v0.4.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b06552b7de808eecaf311d534e0a93778fc6d5dfb3b553bc93d14bb5c2b5a60e
[INFO] running `Command { std: "docker" "start" "-a" "b06552b7de808eecaf311d534e0a93778fc6d5dfb3b553bc93d14bb5c2b5a60e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b06552b7de808eecaf311d534e0a93778fc6d5dfb3b553bc93d14bb5c2b5a60e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b06552b7de808eecaf311d534e0a93778fc6d5dfb3b553bc93d14bb5c2b5a60e", kill_on_drop: false }`
[INFO] [stdout] b06552b7de808eecaf311d534e0a93778fc6d5dfb3b553bc93d14bb5c2b5a60e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cf2e22803bc1f08bd4cf6fc55b837c4442cd0ad66519c405779067acd107271d
[INFO] running `Command { std: "docker" "start" "-a" "cf2e22803bc1f08bd4cf6fc55b837c4442cd0ad66519c405779067acd107271d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking wayland-sys v0.21.13
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking xdg v2.5.2
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking inflate v0.3.4
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling gl_generator v0.6.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking gif v0.9.2
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling wayland-scanner v0.21.13
[INFO] [stderr]     Checking zpatial v0.0.0
[INFO] [stderr]     Checking mazth v0.2.1
[INFO] [stderr]    Compiling gl v0.6.5
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking raw-window-handle v0.3.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking memchr v1.0.2
[INFO] [stderr]     Checking env_logger v0.5.13
[INFO] [stderr]     Checking nom v3.2.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking ordered-float v1.1.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking num-complex v0.1.43
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking num-bigint v0.1.44
[INFO] [stderr]     Checking png v0.11.0
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]    Compiling wayland-client v0.21.13
[INFO] [stderr]    Compiling wayland-protocols v0.21.13
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking pretty_env_logger v0.2.5
[INFO] [stderr]     Checking image v0.17.0
[INFO] [stderr]     Checking wayland-commons v0.21.13
[INFO] [stderr]     Checking smithay-client-toolkit v0.4.6
[INFO] [stderr]     Checking winit v0.19.5
[INFO] [stderr]     Checking glutin v0.20.1
[INFO] [stderr]     Checking 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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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`, `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: 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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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`, `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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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_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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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_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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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_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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/test/math/test_interpolate.rs:19:48
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn test_interp_forward< T >( interp: & mut IInterpolate< T, Item=T >, _start_val: & T, end_val: & T ) -> () 
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn test_interp_forward< T >( interp: & mut dyn IInterpolate< T, Item=T >, _start_val: & T, end_val: & T ) -> () 
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> core/test/math/test_interpolate.rs:44:53
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn test_interp_forward_back< T >( interp: & mut IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> () 
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn test_interp_forward_back< T >( interp: & mut dyn IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> () 
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> core/test/math/test_interpolate.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn test_iterator< T >( interp: & mut IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> ()
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn test_iterator< T >( interp: & mut dyn IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> ()
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> core/test/math/test_interpolate.rs:104:50
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn test_reverse_iterator< T >( interp: & mut IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> ()
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn test_reverse_iterator< T >( interp: & mut dyn IInterpolate< T, Item=T >, start_val: & T, end_val: & T ) -> ()
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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/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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe 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: 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: 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<f64> ){
[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 variable: `pos`
[INFO] [stdout]   --> core/implement/cam/camguide.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn set_next( & mut self, pos: Mat4x1<f64> ){
[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::<T, E>::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::<T, E>::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::<Vec<f32>>();
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[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.iter().cycle().cloned().take(9).collect::<Vec<f32>>();
[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 = IntoIterator::into_iter(n._val).cycle().cloned().take(9).collect::<Vec<f32>>();
[INFO] [stdout]     |                      ++++++++++++++++++++++++      ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<String> > = 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[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<String> > = 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 355 |                 let x = self._positions[ i[0] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[0] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 let y = self._positions[ i[1] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[1] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 357 |                 let z = self._positions[ i[2] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[2] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[INFO] [stdout]     |                         ++++++++++++++++++++++++                       ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::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: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> core/test/math/test_interpolate.rs:108:14
[INFO] [stdout]     |
[INFO] [stdout] 108 |     for x in interp.next() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to iterate over `interp` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     for x in interp.by_ref() {
[INFO] [stdout]     |                    ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 108 |     if let Some(x) = interp.next() {
[INFO] [stdout]     |     ~~~~~~~~~~~~ ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> core/test/math/test_interpolate.rs:118:14
[INFO] [stdout]     |
[INFO] [stdout] 118 |     for x in interp.next_back() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     while let Some(x) = interp.next_back() {
[INFO] [stdout]     |     ~~~~~~~~~~~~~~~ ~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 118 |     if let Some(x) = interp.next_back() {
[INFO] [stdout]     |     ~~~~~~~~~~~~ ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5rig_nom.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 |         Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 13 |         Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5rig_nom.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |         Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 17 |         Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5comp_nom.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |         Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 15 |         Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5comp_nom.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 |         Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 19 |         Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5comp_nom.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 |         Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 23 |         Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> core/test/file/test_md5comp_nom.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |             Err( e ) => panic!( e ),
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 30 |             Err( e ) => panic!( "{}", e ),
[INFO] [stdout]    |                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::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::<Vec<f32>>();
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[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.iter().cycle().cloned().take(9).collect::<Vec<f32>>();
[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 = IntoIterator::into_iter(n._val).cycle().cloned().take(9).collect::<Vec<f32>>();
[INFO] [stdout]     |                      ++++++++++++++++++++++++      ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Result::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<String> > = 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[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<f32> > =  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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[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<String> > = 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[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<f32> > =  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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 355 |                 let x = self._positions[ i[0] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[0] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 let y = self._positions[ i[1] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[1] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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::<Vec<f32> >();
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 357 |                 let z = self._positions[ i[2] ].iter().enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[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 = IntoIterator::into_iter(self._positions[ i[2] ]).enumerate().map(|(k,o)| o*r + offset[k] ).collect::<Vec<f32> >();
[INFO] [stdout]     |                         ++++++++++++++++++++++++                       ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 111 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 99 warnings emitted
[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] 
[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] 
[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] 
[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] 
[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: 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] 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] 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] 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] 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] 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] 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: 1 warning emitted
[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] 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] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 4 warnings emitted
[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 4 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 2 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `e2r` (bin "model_viewer" test) due to 3 previous errors; 4 warnings emitted
[INFO] [stdout] error: aborting due to 3 previous errors; 1 warning emitted
[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 "n_of_a_kind") due to 4 previous errors; 1 warning emitted
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `e2r` (bin "n_of_a_kind" test) due to 3 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "cf2e22803bc1f08bd4cf6fc55b837c4442cd0ad66519c405779067acd107271d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf2e22803bc1f08bd4cf6fc55b837c4442cd0ad66519c405779067acd107271d", kill_on_drop: false }`
[INFO] [stdout] cf2e22803bc1f08bd4cf6fc55b837c4442cd0ad66519c405779067acd107271d
