[INFO] fetching crate hlua 0.4.1...
[INFO] testing hlua-0.4.1 against 1.75.0 for beta-1.76-1
[INFO] extracting crate hlua 0.4.1 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate hlua 0.4.1 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hlua 0.4.1
[INFO] finished tweaking crates.io crate hlua 0.4.1
[INFO] tweaked toml for crates.io crate hlua 0.4.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lua52-sys v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 738cbf85cd7335226c3b56580639844a6621a86001446f2c9d78f652964d46d5
[INFO] running `Command { std: "docker" "start" "-a" "738cbf85cd7335226c3b56580639844a6621a86001446f2c9d78f652964d46d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "738cbf85cd7335226c3b56580639844a6621a86001446f2c9d78f652964d46d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "738cbf85cd7335226c3b56580639844a6621a86001446f2c9d78f652964d46d5", kill_on_drop: false }`
[INFO] [stdout] 738cbf85cd7335226c3b56580639844a6621a86001446f2c9d78f652964d46d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 81a0dfc95bd67bdf19181765e9c78c6018b9b8f47b4413ddd9a9b4600c3a7f3d
[INFO] running `Command { std: "docker" "start" "-a" "81a0dfc95bd67bdf19181765e9c78c6018b9b8f47b4413ddd9a9b4600c3a7f3d", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling lua52-sys v0.1.2
[INFO] [stderr]    Compiling hlua v0.4.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/rust_tables.rs:24:39
[INFO] [stdout]    |
[INFO] [stdout] 24 |     for (elem, index) in iterator.zip((1..)) {
[INFO] [stdout]    |                                       ^   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -     for (elem, index) in iterator.zip((1..)) {
[INFO] [stdout] 24 +     for (elem, index) in iterator.zip(1..) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:678:21
[INFO] [stdout]     |
[INFO] [stdout] 678 |         let mut f = try!(lua_functions::LuaFunction::load(self, code));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:706:21
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let mut f = try!(lua_functions::LuaFunction::load_from_reader(self, code));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/lib.rs:230:24
[INFO] [stdout]     |
[INFO] [stdout] 230 |             res = mem::uninitialized();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/lua_functions.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 buffer: mem::uninitialized(),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:37:49
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 | integer_impl!(i8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:37:49
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 | integer_impl!(i16);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:37:49
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 | integer_impl!(i32);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:72:49
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 | unsigned_impl!(u8);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:72:49
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 | unsigned_impl!(u16);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:72:49
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 | unsigned_impl!(u32);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:107:49
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 | numeric_impl!(f32);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:107:49
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 | numeric_impl!(f64);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:150:52
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:193:52
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:257:47
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let mut size: libc::size_t = mem::uninitialized();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:447:32
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn cause(&self) -> Option<&Error> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lua_functions.rs:392:32
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn cause(&self) -> Option<&Error> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lua_functions.rs:408:32
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn cause(&self) -> Option<&Error> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/any.rs:67:61
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let size = val.push_no_err(&mut lua as &mut AsMutLua<'lua>).forget_internal();
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let size = val.push_no_err(&mut lua as &mut dyn AsMutLua<'lua>).forget_internal();
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/any.rs:152:61
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let size = val.push_no_err(&mut lua as &mut AsMutLua<'lua>).forget_internal();
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let size = val.push_no_err(&mut lua as &mut dyn AsMutLua<'lua>).forget_internal();
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/functions_write.rs:368:26
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn push_to_lua(self, mut lua: &'a mut InsideCallback) -> Result<PushGuard<&'a mut InsideCallback>, (P, &'a mut InsideCallback)> {
[INFO] [stdout]     |                          ----^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/userdata.rs:124:33
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn read_userdata<'t, 'c, T>(mut lua: &'c mut InsideCallback,
[INFO] [stdout]     |                                 ----^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lua` is never read
[INFO] [stdout]    --> src/values.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub struct StringInLua<L> {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 247 |     lua: L,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StringInLua` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 128]` does not permit being left uninitialized
[INFO] [stdout]   --> src/lua_functions.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 buffer: mem::uninitialized(),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this code causes undefined behavior when executed
[INFO] [stdout]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 48 | integer_impl!(i8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 49 | integer_impl!(i16);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 50 | integer_impl!(i32);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 83 | unsigned_impl!(u8);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 84 | unsigned_impl!(u16);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 85 | unsigned_impl!(u32);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:107:44
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 118 | numeric_impl!(f32);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:107:44
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 119 | numeric_impl!(f64);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `usize` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:150:47
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this code causes undefined behavior when executed
[INFO] [stdout]     |                                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `usize` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:193:47
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this code causes undefined behavior when executed
[INFO] [stdout]     |                                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `usize` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:257:42
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let mut size: libc::size_t = mem::uninitialized();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3.23s
[INFO] running `Command { std: "docker" "inspect" "81a0dfc95bd67bdf19181765e9c78c6018b9b8f47b4413ddd9a9b4600c3a7f3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81a0dfc95bd67bdf19181765e9c78c6018b9b8f47b4413ddd9a9b4600c3a7f3d", kill_on_drop: false }`
[INFO] [stdout] 81a0dfc95bd67bdf19181765e9c78c6018b9b8f47b4413ddd9a9b4600c3a7f3d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3af434a680498f63a2bff58ae2aa091a7b1ae437ec6bd3ea5a8838d9eea275d2
[INFO] running `Command { std: "docker" "start" "-a" "3af434a680498f63a2bff58ae2aa091a7b1ae437ec6bd3ea5a8838d9eea275d2", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/rust_tables.rs:24:39
[INFO] [stdout]    |
[INFO] [stdout] 24 |     for (elem, index) in iterator.zip((1..)) {
[INFO] [stdout]    |                                       ^   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -     for (elem, index) in iterator.zip((1..)) {
[INFO] [stdout] 24 +     for (elem, index) in iterator.zip(1..) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:678:21
[INFO] [stdout]     |
[INFO] [stdout] 678 |         let mut f = try!(lua_functions::LuaFunction::load(self, code));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:706:21
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let mut f = try!(lua_functions::LuaFunction::load_from_reader(self, code));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/lib.rs:230:24
[INFO] [stdout]     |
[INFO] [stdout] 230 |             res = mem::uninitialized();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/lua_functions.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 buffer: mem::uninitialized(),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:37:49
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 | integer_impl!(i8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:37:49
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 | integer_impl!(i16);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:37:49
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 | integer_impl!(i32);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:72:49
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 | unsigned_impl!(u8);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:72:49
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 | unsigned_impl!(u16);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:72:49
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 | unsigned_impl!(u32);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:107:49
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 | numeric_impl!(f32);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:107:49
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 | numeric_impl!(f64);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:150:52
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:193:52
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:257:47
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let mut size: libc::size_t = mem::uninitialized();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:447:32
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn cause(&self) -> Option<&Error> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lua_functions.rs:392:32
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn cause(&self) -> Option<&Error> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lua_functions.rs:408:32
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn cause(&self) -> Option<&Error> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/any.rs:67:61
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let size = val.push_no_err(&mut lua as &mut AsMutLua<'lua>).forget_internal();
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let size = val.push_no_err(&mut lua as &mut dyn AsMutLua<'lua>).forget_internal();
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/any.rs:152:61
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let size = val.push_no_err(&mut lua as &mut AsMutLua<'lua>).forget_internal();
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let size = val.push_no_err(&mut lua as &mut dyn AsMutLua<'lua>).forget_internal();
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/functions_write.rs:368:26
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn push_to_lua(self, mut lua: &'a mut InsideCallback) -> Result<PushGuard<&'a mut InsideCallback>, (P, &'a mut InsideCallback)> {
[INFO] [stdout]     |                          ----^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/userdata.rs:124:33
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn read_userdata<'t, 'c, T>(mut lua: &'c mut InsideCallback,
[INFO] [stdout]     |                                 ----^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lua` is never read
[INFO] [stdout]    --> src/values.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub struct StringInLua<L> {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 247 |     lua: L,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StringInLua` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 128]` does not permit being left uninitialized
[INFO] [stdout]   --> src/lua_functions.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 buffer: mem::uninitialized(),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this code causes undefined behavior when executed
[INFO] [stdout]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 48 | integer_impl!(i8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 49 | integer_impl!(i16);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 50 | integer_impl!(i32);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 83 | unsigned_impl!(u8);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 84 | unsigned_impl!(u16);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 85 | unsigned_impl!(u32);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:107:44
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 118 | numeric_impl!(f32);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:107:44
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 119 | numeric_impl!(f64);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hlua v0.4.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the type `usize` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:150:47
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this code causes undefined behavior when executed
[INFO] [stdout]     |                                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `usize` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:193:47
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this code causes undefined behavior when executed
[INFO] [stdout]     |                                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `usize` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:257:42
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let mut size: libc::size_t = mem::uninitialized();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/functions_write.rs:441:10
[INFO] [stdout]     |
[INFO] [stdout] 441 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/functions_write.rs:454:10
[INFO] [stdout]     |
[INFO] [stdout] 454 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/functions_write.rs:467:10
[INFO] [stdout]     |
[INFO] [stdout] 467 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/functions_write.rs:480:10
[INFO] [stdout]     |
[INFO] [stdout] 480 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/functions_write.rs:496:10
[INFO] [stdout]     |
[INFO] [stdout] 496 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/functions_write.rs:560:23
[INFO] [stdout]     |
[INFO] [stdout] 560 |         struct Foo { };
[INFO] [stdout]     |                       ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/lua_functions.rs:461:84
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let val: i32 = lua.get::<LuaFunction<_>, _>("foo").unwrap().call_with_args((3)).unwrap();
[INFO] [stdout]     |                                                                                    ^ ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 461 -         let val: i32 = lua.get::<LuaFunction<_>, _>("foo").unwrap().call_with_args((3)).unwrap();
[INFO] [stdout] 461 +         let val: i32 = lua.get::<LuaFunction<_>, _>("foo").unwrap().call_with_args(3).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lua_functions.rs:522:26
[INFO] [stdout]     |
[INFO] [stdout] 522 |         struct Reader { };
[INFO] [stdout]     |                          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lua_tables.rs:579:14
[INFO] [stdout]     |
[INFO] [stdout] 579 |             };
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/rust_tables.rs:24:39
[INFO] [stdout]    |
[INFO] [stdout] 24 |     for (elem, index) in iterator.zip((1..)) {
[INFO] [stdout]    |                                       ^   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -     for (elem, index) in iterator.zip((1..)) {
[INFO] [stdout] 24 +     for (elem, index) in iterator.zip(1..) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:678:21
[INFO] [stdout]     |
[INFO] [stdout] 678 |         let mut f = try!(lua_functions::LuaFunction::load(self, code));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:706:21
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let mut f = try!(lua_functions::LuaFunction::load_from_reader(self, code));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/lib.rs:230:24
[INFO] [stdout]     |
[INFO] [stdout] 230 |             res = mem::uninitialized();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/lua_functions.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 buffer: mem::uninitialized(),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:37:49
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 | integer_impl!(i8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:37:49
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 | integer_impl!(i16);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:37:49
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 | integer_impl!(i32);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:72:49
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 | unsigned_impl!(u8);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:72:49
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 | unsigned_impl!(u16);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/values.rs:72:49
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 | unsigned_impl!(u32);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:107:49
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 | numeric_impl!(f32);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:107:49
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 | numeric_impl!(f64);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:150:52
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:193:52
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/values.rs:257:47
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let mut size: libc::size_t = mem::uninitialized();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:447:32
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn cause(&self) -> Option<&Error> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lua_functions.rs:392:32
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn cause(&self) -> Option<&Error> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lua_functions.rs:408:32
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn cause(&self) -> Option<&Error> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/any.rs:67:61
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let size = val.push_no_err(&mut lua as &mut AsMutLua<'lua>).forget_internal();
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let size = val.push_no_err(&mut lua as &mut dyn AsMutLua<'lua>).forget_internal();
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/any.rs:152:61
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let size = val.push_no_err(&mut lua as &mut AsMutLua<'lua>).forget_internal();
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let size = val.push_no_err(&mut lua as &mut dyn AsMutLua<'lua>).forget_internal();
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lua_functions.rs:536:69
[INFO] [stdout]     |
[INFO] [stdout] 536 |             Err(LuaError::ReadError(e)) => { assert_eq!("oh no!", e.description()) },
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/functions_write.rs:368:26
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn push_to_lua(self, mut lua: &'a mut InsideCallback) -> Result<PushGuard<&'a mut InsideCallback>, (P, &'a mut InsideCallback)> {
[INFO] [stdout]     |                          ----^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/userdata.rs:124:33
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn read_userdata<'t, 'c, T>(mut lua: &'c mut InsideCallback,
[INFO] [stdout]     |                                 ----^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lua` is never read
[INFO] [stdout]    --> src/values.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub struct StringInLua<L> {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 247 |     lua: L,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StringInLua` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 128]` does not permit being left uninitialized
[INFO] [stdout]   --> src/lua_functions.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 buffer: mem::uninitialized(),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this code causes undefined behavior when executed
[INFO] [stdout]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[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]    --> src/rust_tables.rs:442:52
[INFO] [stdout]     |
[INFO] [stdout] 442 |         let orig: HashMap<i32, f64> = [1., 2., 3.].into_iter().enumerate().map(|(k, v)| (k as i32, *v as f64)).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]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 442 |         let orig: HashMap<i32, f64> = [1., 2., 3.].iter().enumerate().map(|(k, v)| (k as i32, *v as f64)).collect();
[INFO] [stdout]     |                                                    ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 442 |         let orig: HashMap<i32, f64> = IntoIterator::into_iter([1., 2., 3.]).enumerate().map(|(k, v)| (k as i32, *v as f64)).collect();
[INFO] [stdout]     |                                       ++++++++++++++++++++++++            ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 48 | integer_impl!(i8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 49 | integer_impl!(i16);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 50 | integer_impl!(i32);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 83 | unsigned_impl!(u8);
[INFO] [stdout]    | ------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 84 | unsigned_impl!(u16);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]   --> src/values.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this code causes undefined behavior when executed
[INFO] [stdout]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 85 | unsigned_impl!(u32);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:107:44
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 118 | numeric_impl!(f32);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `i32` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:107:44
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 119 | numeric_impl!(f64);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `usize` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:150:47
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this code causes undefined behavior when executed
[INFO] [stdout]     |                                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `usize` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:193:47
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this code causes undefined behavior when executed
[INFO] [stdout]     |                                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `usize` does not permit being left uninitialized
[INFO] [stdout]    --> src/values.rs:257:42
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let mut size: libc::size_t = mem::uninitialized();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.70s
[INFO] running `Command { std: "docker" "inspect" "3af434a680498f63a2bff58ae2aa091a7b1ae437ec6bd3ea5a8838d9eea275d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3af434a680498f63a2bff58ae2aa091a7b1ae437ec6bd3ea5a8838d9eea275d2", kill_on_drop: false }`
[INFO] [stdout] 3af434a680498f63a2bff58ae2aa091a7b1ae437ec6bd3ea5a8838d9eea275d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 31fb3d38beaca4edb80128b93933c5b0c35cb29b0078dd726b78a0252cb1037c
[INFO] running `Command { std: "docker" "start" "-a" "31fb3d38beaca4edb80128b93933c5b0c35cb29b0078dd726b78a0252cb1037c", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]   --> src/rust_tables.rs:24:39
[INFO] [stderr]    |
[INFO] [stderr] 24 |     for (elem, index) in iterator.zip((1..)) {
[INFO] [stderr]    |                                       ^   ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 24 -     for (elem, index) in iterator.zip((1..)) {
[INFO] [stderr] 24 +     for (elem, index) in iterator.zip(1..) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:678:21
[INFO] [stderr]     |
[INFO] [stderr] 678 |         let mut f = try!(lua_functions::LuaFunction::load(self, code));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:706:21
[INFO] [stderr]     |
[INFO] [stderr] 706 |         let mut f = try!(lua_functions::LuaFunction::load_from_reader(self, code));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/lib.rs:230:24
[INFO] [stderr]     |
[INFO] [stderr] 230 |             res = mem::uninitialized();
[INFO] [stderr]     |                        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/lua_functions.rs:99:30
[INFO] [stderr]    |
[INFO] [stderr] 99 |                 buffer: mem::uninitialized(),
[INFO] [stderr]    |                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/values.rs:37:49
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 | integer_impl!(i8);
[INFO] [stderr]    | ----------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/values.rs:37:49
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 | integer_impl!(i16);
[INFO] [stderr]    | ------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/values.rs:37:49
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 | integer_impl!(i32);
[INFO] [stderr]    | ------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/values.rs:72:49
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 83 | unsigned_impl!(u8);
[INFO] [stderr]    | ------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/values.rs:72:49
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 84 | unsigned_impl!(u16);
[INFO] [stderr]    | ------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/values.rs:72:49
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 85 | unsigned_impl!(u32);
[INFO] [stderr]    | ------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/values.rs:107:49
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 118 | numeric_impl!(f32);
[INFO] [stderr]     | ------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/values.rs:107:49
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 | numeric_impl!(f64);
[INFO] [stderr]     | ------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/values.rs:150:52
[INFO] [stderr]     |
[INFO] [stderr] 150 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/values.rs:193:52
[INFO] [stderr]     |
[INFO] [stderr] 193 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/values.rs:257:47
[INFO] [stderr]     |
[INFO] [stderr] 257 |             let mut size: libc::size_t = mem::uninitialized();
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:447:32
[INFO] [stderr]     |
[INFO] [stderr] 447 |     fn cause(&self) -> Option<&Error> {
[INFO] [stderr]     |                                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 447 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lua_functions.rs:392:32
[INFO] [stderr]     |
[INFO] [stderr] 392 |     fn cause(&self) -> Option<&Error> {
[INFO] [stderr]     |                                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 392 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lua_functions.rs:408:32
[INFO] [stderr]     |
[INFO] [stderr] 408 |     fn cause(&self) -> Option<&Error> {
[INFO] [stderr]     |                                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 408 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/any.rs:67:61
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 let size = val.push_no_err(&mut lua as &mut AsMutLua<'lua>).forget_internal();
[INFO] [stderr]    |                                                             ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 let size = val.push_no_err(&mut lua as &mut dyn AsMutLua<'lua>).forget_internal();
[INFO] [stderr]    |                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/any.rs:152:61
[INFO] [stderr]     |
[INFO] [stderr] 152 |                 let size = val.push_no_err(&mut lua as &mut AsMutLua<'lua>).forget_internal();
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 152 |                 let size = val.push_no_err(&mut lua as &mut dyn AsMutLua<'lua>).forget_internal();
[INFO] [stderr]     |                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/functions_write.rs:368:26
[INFO] [stderr]     |
[INFO] [stderr] 368 |     fn push_to_lua(self, mut lua: &'a mut InsideCallback) -> Result<PushGuard<&'a mut InsideCallback>, (P, &'a mut InsideCallback)> {
[INFO] [stderr]     |                          ----^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/userdata.rs:124:33
[INFO] [stderr]     |
[INFO] [stderr] 124 | pub fn read_userdata<'t, 'c, T>(mut lua: &'c mut InsideCallback,
[INFO] [stderr]     |                                 ----^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `lua` is never read
[INFO] [stderr]    --> src/values.rs:247:5
[INFO] [stderr]     |
[INFO] [stderr] 246 | pub struct StringInLua<L> {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] 247 |     lua: L,
[INFO] [stderr]     |     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `StringInLua` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u8; 128]` does not permit being left uninitialized
[INFO] [stderr]   --> src/lua_functions.rs:99:25
[INFO] [stderr]    |
[INFO] [stderr] 99 |                 buffer: mem::uninitialized(),
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         this code causes undefined behavior when executed
[INFO] [stderr]    |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]   --> src/values.rs:37:44
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                            |
[INFO] [stderr]    |                                            this code causes undefined behavior when executed
[INFO] [stderr]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 48 | integer_impl!(i8);
[INFO] [stderr]    | ----------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]   --> src/values.rs:37:44
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                            |
[INFO] [stderr]    |                                            this code causes undefined behavior when executed
[INFO] [stderr]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 49 | integer_impl!(i16);
[INFO] [stderr]    | ------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]   --> src/values.rs:37:44
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                            |
[INFO] [stderr]    |                                            this code causes undefined behavior when executed
[INFO] [stderr]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 50 | integer_impl!(i32);
[INFO] [stderr]    | ------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr]    = note: this warning originates in the macro `integer_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]   --> src/values.rs:72:44
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                            |
[INFO] [stderr]    |                                            this code causes undefined behavior when executed
[INFO] [stderr]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 83 | unsigned_impl!(u8);
[INFO] [stderr]    | ------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]   --> src/values.rs:72:44
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                            |
[INFO] [stderr]    |                                            this code causes undefined behavior when executed
[INFO] [stderr]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 84 | unsigned_impl!(u16);
[INFO] [stderr]    | ------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]   --> src/values.rs:72:44
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                            |
[INFO] [stderr]    |                                            this code causes undefined behavior when executed
[INFO] [stderr]    |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 85 | unsigned_impl!(u32);
[INFO] [stderr]    | ------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr]    = note: this warning originates in the macro `unsigned_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/values.rs:107:44
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                            |
[INFO] [stderr]     |                                            this code causes undefined behavior when executed
[INFO] [stderr]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 118 | numeric_impl!(f32);
[INFO] [stderr]     | ------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `i32` does not permit being left uninitialized
[INFO] [stderr]    --> src/values.rs:107:44
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 let mut success = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                            |
[INFO] [stderr]     |                                            this code causes undefined behavior when executed
[INFO] [stderr]     |                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr] ...
[INFO] [stderr] 119 | numeric_impl!(f64);
[INFO] [stderr]     | ------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr]     = note: this warning originates in the macro `numeric_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: the type `usize` does not permit being left uninitialized
[INFO] [stderr]    --> src/values.rs:150:47
[INFO] [stderr]     |
[INFO] [stderr] 150 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                               |
[INFO] [stderr]     |                                               this code causes undefined behavior when executed
[INFO] [stderr]     |                                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `usize` does not permit being left uninitialized
[INFO] [stderr]    --> src/values.rs:193:47
[INFO] [stderr]     |
[INFO] [stderr] 193 |         let mut size: libc::size_t = unsafe { mem::uninitialized() };
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                               |
[INFO] [stderr]     |                                               this code causes undefined behavior when executed
[INFO] [stderr]     |                                               help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `usize` does not permit being left uninitialized
[INFO] [stderr]    --> src/values.rs:257:42
[INFO] [stderr]     |
[INFO] [stderr] 257 |             let mut size: libc::size_t = mem::uninitialized();
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                          |
[INFO] [stderr]     |                                          this code causes undefined behavior when executed
[INFO] [stderr]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/functions_write.rs:441:10
[INFO] [stderr]     |
[INFO] [stderr] 441 |         };
[INFO] [stderr]     |          ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/functions_write.rs:454:10
[INFO] [stderr]     |
[INFO] [stderr] 454 |         };
[INFO] [stderr]     |          ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/functions_write.rs:467:10
[INFO] [stderr]     |
[INFO] [stderr] 467 |         };
[INFO] [stderr]     |          ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/functions_write.rs:480:10
[INFO] [stderr]     |
[INFO] [stderr] 480 |         };
[INFO] [stderr]     |          ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/functions_write.rs:496:10
[INFO] [stderr]     |
[INFO] [stderr] 496 |         };
[INFO] [stderr]     |          ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/functions_write.rs:560:23
[INFO] [stderr]     |
[INFO] [stderr] 560 |         struct Foo { };
[INFO] [stderr]     |                       ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]    --> src/lua_functions.rs:461:84
[INFO] [stderr]     |
[INFO] [stderr] 461 |         let val: i32 = lua.get::<LuaFunction<_>, _>("foo").unwrap().call_with_args((3)).unwrap();
[INFO] [stderr]     |                                                                                    ^ ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 461 -         let val: i32 = lua.get::<LuaFunction<_>, _>("foo").unwrap().call_with_args((3)).unwrap();
[INFO] [stderr] 461 +         let val: i32 = lua.get::<LuaFunction<_>, _>("foo").unwrap().call_with_args(3).unwrap();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/lua_functions.rs:522:26
[INFO] [stderr]     |
[INFO] [stderr] 522 |         struct Reader { };
[INFO] [stderr]     |                          ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/lua_tables.rs:579:14
[INFO] [stderr]     |
[INFO] [stderr] 579 |             };
[INFO] [stderr]     |              ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]   --> src/rust_tables.rs:24:39
[INFO] [stderr]    |
[INFO] [stderr] 24 |     for (elem, index) in iterator.zip((1..)) {
[INFO] [stderr]    |                                       ^   ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 24 -     for (elem, index) in iterator.zip((1..)) {
[INFO] [stderr] 24 +     for (elem, index) in iterator.zip(1..) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/lua_functions.rs:536:69
[INFO] [stderr]     |
[INFO] [stderr] 536 |             Err(LuaError::ReadError(e)) => { assert_eq!("oh no!", e.description()) },
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] 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] [stderr]    --> src/rust_tables.rs:442:52
[INFO] [stderr]     |
[INFO] [stderr] 442 |         let orig: HashMap<i32, f64> = [1., 2., 3.].into_iter().enumerate().map(|(k, v)| (k as i32, *v as f64)).collect();
[INFO] [stderr]     |                                                    ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this changes meaning in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]     |
[INFO] [stderr] 442 |         let orig: HashMap<i32, f64> = [1., 2., 3.].iter().enumerate().map(|(k, v)| (k as i32, *v as f64)).collect();
[INFO] [stderr]     |                                                    ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]     |
[INFO] [stderr] 442 |         let orig: HashMap<i32, f64> = IntoIterator::into_iter([1., 2., 3.]).enumerate().map(|(k, v)| (k as i32, *v as f64)).collect();
[INFO] [stderr]     |                                       ++++++++++++++++++++++++            ~
[INFO] [stderr] 
[INFO] [stderr] warning: `hlua` (lib) generated 36 warnings (run `cargo fix --lib -p hlua` to apply 8 suggestions)
[INFO] [stderr] warning: `hlua` (lib test) generated 47 warnings (35 duplicates) (run `cargo fix --lib -p hlua --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hlua-7f7ac0af4db45a88)
[INFO] [stdout] 
[INFO] [stdout] running 70 tests
[INFO] [stdout] test any::tests::push_hashable_nil ... ok
[INFO] [stdout] test any::tests::non_utf_8_string ... ok
[INFO] [stdout] test any::tests::push_hashable_numbers ... ok
[INFO] [stdout] test any::tests::push_booleans ... ok
[INFO] [stdout] test any::tests::push_hashable_booleans ... ok
[INFO] [stdout] test any::tests::push_hashable_strings ... ok
[INFO] [stdout] test any::tests::push_nil ... ok
[INFO] [stdout] test any::tests::push_numbers ... ok
[INFO] [stdout] test any::tests::push_strings ... ok
[INFO] [stdout] test any::tests::read_booleans ... ok
[INFO] [stdout] test any::tests::read_hashable_booleans ... ok
[INFO] [stdout] test any::tests::read_hashable_numbers ... ok
[INFO] [stdout] test any::tests::read_hashable_strings ... ok
[INFO] [stdout] test any::tests::read_numbers ... ok
[INFO] [stderr] thread 'lua_functions::tests::execute_from_reader_errors_if_cant_read' panicked at library/core/src/panicking.rs:136:5:
[INFO] [stdout] test any::tests::read_strings ... ok
[INFO] [stderr] attempted to leave type `&mut Lua<'_>` uninitialized, which is invalid
[INFO] [stdout] test functions_write::tests::closures ... ok
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x55fad3142e5c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stderr]    1:     0x55fad3142e5c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stderr]    2:     0x55fad3142e5c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stderr]    3:     0x55fad3142e5c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stderr]    4:     0x55fad316d120 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stderr]    5:     0x55fad316d120 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stderr]    6:     0x55fad314089f - std::io::Write::write_fmt::h5fc9997dfe05f882
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stderr]    7:     0x55fad3142c44 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stderr]    8:     0x55fad3142c44 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stderr]    9:     0x55fad3144907 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stderr]   10:     0x55fad314466f - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:292:9
[INFO] [stderr]   11:     0x55fad30e9e97 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stderr]   12:     0x55fad30e9e97 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stderr]   13:     0x55fad3144f18 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stderr]   14:     0x55fad3144f18 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stderr]   15:     0x55fad3144c39 - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:649:13
[INFO] [stderr]   16:     0x55fad3143326 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stderr]   17:     0x55fad31449d2 - rust_begin_unwind
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stderr]   18:     0x55fad3023248 - core::panicking::panic_nounwind_fmt::h8767c3f35819d636
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:106:14
[INFO] [stderr]   19:     0x55fad30232f9 - core::panicking::panic_nounwind::hc8f9b5bcc0dbae89
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:136:5
[INFO] [stderr]   20:     0x55fad3041915 - core::mem::uninitialized::h8fed0b2e676f5041
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/mem/mod.rs:693:9
[INFO] [stderr]   21:     0x55fad3041915 - hlua::PushGuard<L>::into_inner::hd8215559bd4040f4
[INFO] [stderr]                                at /opt/rustwide/workdir/src/lib.rs:230:19
[INFO] [stderr]   22:     0x55fad308c5f4 - <hlua::lua_functions::LuaCodeFromReader<R> as hlua::Push<L>>::push_to_lua::h4989868345ff1a07
[INFO] [stderr]                                at /opt/rustwide/workdir/src/lua_functions.rs:147:57
[INFO] [stderr]   23:     0x55fad309111b - hlua::lua_functions::LuaFunction<L>::load_from_reader::h38abe3e26089b16b
[INFO] [stderr]                                at /opt/rustwide/workdir/src/lua_functions.rs:324:15
[INFO] [stderr]   24:     0x55fad30434b2 - hlua::Lua::execute_from_reader::h5cf4df7101a5e2d3
[INFO] [stderr]                                at /opt/rustwide/workdir/src/lib.rs:706:26
[INFO] [stderr]   25:     0x55fad3057264 - hlua::lua_functions::tests::execute_from_reader_errors_if_cant_read::h98f7339f198e44cb
[INFO] [stderr]                                at /opt/rustwide/workdir/src/lua_functions.rs:533:34
[INFO] [stderr]   26:     0x55fad3057217 - hlua::lua_functions::tests::execute_from_reader_errors_if_cant_read::{{closure}}::he8498e0ce70e956a
[INFO] [stderr]                                at /opt/rustwide/workdir/src/lua_functions.rs:521:49
[INFO] [stderr]   27:     0x55fad30a5bb6 - core::ops::function::FnOnce::call_once::hccfe6dff75cf79e1
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   28:     0x55fad30ef4ef - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   29:     0x55fad30ef4ef - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stderr]   30:     0x55fad30ee505 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stderr]   31:     0x55fad30ee505 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   32:     0x55fad30ee505 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stderr]   33:     0x55fad30ee505 - std::panicking::try::h232e535e4744fe31
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stderr]   34:     0x55fad30ee505 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stderr]   35:     0x55fad30ee505 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stderr]   36:     0x55fad30ee505 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stderr]   37:     0x55fad30b67c6 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stderr]   38:     0x55fad30b67c6 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stderr]   39:     0x55fad30bb877 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stderr]   40:     0x55fad30bb877 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   41:     0x55fad30bb877 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stderr]   42:     0x55fad30bb877 - std::panicking::try::he3a30b11ee45340c
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stderr]   43:     0x55fad30bb877 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stderr]   44:     0x55fad30bb877 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stderr]   45:     0x55fad30bb877 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   46:     0x55fad31499a5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stderr]   47:     0x55fad31499a5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stderr]   48:     0x55fad31499a5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stderr]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stderr]   49:     0x7fc12ecb0ac3 - <unknown>
[INFO] [stderr]   50:     0x7fc12ed41bf4 - __clone
[INFO] [stderr]   51:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/hlua-7f7ac0af4db45a88` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "31fb3d38beaca4edb80128b93933c5b0c35cb29b0078dd726b78a0252cb1037c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31fb3d38beaca4edb80128b93933c5b0c35cb29b0078dd726b78a0252cb1037c", kill_on_drop: false }`
[INFO] [stdout] 31fb3d38beaca4edb80128b93933c5b0c35cb29b0078dd726b78a0252cb1037c
