[INFO] fetching crate wasm_val 0.3.5...
[INFO] checking wasm_val-0.3.5 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] extracting crate wasm_val 0.3.5 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate wasm_val 0.3.5 on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate wasm_val 0.3.5
[INFO] finished tweaking crates.io crate wasm_val 0.3.5
[INFO] tweaked toml for crates.io crate wasm_val 0.3.5 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" "+5518eaa946291f00471af8b254b2a1715f234882" "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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 89c2f01290a838ba17772ca8c91650d35419b1e85a44afd5afd6cbce4f8a8e34
[INFO] running `Command { std: "docker" "start" "-a" "89c2f01290a838ba17772ca8c91650d35419b1e85a44afd5afd6cbce4f8a8e34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "89c2f01290a838ba17772ca8c91650d35419b1e85a44afd5afd6cbce4f8a8e34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89c2f01290a838ba17772ca8c91650d35419b1e85a44afd5afd6cbce4f8a8e34", kill_on_drop: false }`
[INFO] [stdout] 89c2f01290a838ba17772ca8c91650d35419b1e85a44afd5afd6cbce4f8a8e34
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c4031a933dfff10ea22c72cfb1a34447f6ec2759f4d5e848e1db641f3ee1d36c
[INFO] running `Command { std: "docker" "start" "-a" "c4031a933dfff10ea22c72cfb1a34447f6ec2759f4d5e848e1db641f3ee1d36c", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking wasm_val v0.3.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/js_ser/mod.rs:67:42
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                          ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 - impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout] 67 + impl JsSerializable for &'static Fn() -> Box<JsSerializable> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/js_ser/mod.rs:67:42
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                          ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 - impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout] 67 + impl JsSerializable for &'static Fn() -> Box<JsSerializable> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/js_ser/mod.rs:89:49
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                                 ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 - impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout] 89 + impl JsSerializable for &'static Fn(JsValue) -> Box<JsSerializable> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/js_ser/mod.rs:89:49
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                                 ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 - impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout] 89 + impl JsSerializable for &'static Fn(JsValue) -> Box<JsSerializable> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:52:67
[INFO] [stdout]    |
[INFO] [stdout] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                   ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 52 -     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout] 52 +     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> Box<JsSerializable> >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:54:78
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                              ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout] 54 +     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> Box<JsSerializable> >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:52:67
[INFO] [stdout]    |
[INFO] [stdout] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                   ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 52 -     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout] 52 +     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> Box<JsSerializable> >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:70:70
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stdout]    |                                                                      ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 - pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stdout] 70 + pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> *mut u8 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:54:78
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                              ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout] 54 +     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> Box<JsSerializable> >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:101:88
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stdout]     |                                                                                        ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 101 - pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stdout] 101 + pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> *mut u8 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:139:53
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                     ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 - fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout] 139 + fn register_callback_ret(callback: &'static Fn() -> Box<JsSerializable>) -> u32  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:70:70
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stdout]    |                                                                      ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 - pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stdout] 70 + pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> *mut u8 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:157:65
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                 ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 - fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout] 157 + fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> Box<JsSerializable>) -> u32  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:101:88
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stdout]     |                                                                                        ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 101 - pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stdout] 101 + pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> *mut u8 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:139:53
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                     ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 - fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout] 139 + fn register_callback_ret(callback: &'static Fn() -> Box<JsSerializable>) -> u32  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:157:65
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                 ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 - fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout] 157 + fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> Box<JsSerializable>) -> u32  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:52:72
[INFO] [stdout]    |
[INFO] [stdout] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<dyn JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:54:83
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<dyn JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:130:42
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn register_callback(callback:  &'static Fn() -> ()) -> u32  {
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 130 | fn register_callback(callback:  &'static dyn Fn() -> ()) -> u32  {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 139 | fn register_callback_ret(callback: &'static dyn Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:139:58
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<dyn JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:148:46
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn register_callback_arg(callback:  &'static Fn(JsValue) -> ()) -> u32  {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 148 | fn register_callback_arg(callback:  &'static dyn Fn(JsValue) -> ()) -> u32  {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:157:50
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 157 | fn register_callback_ret_arg(callback:  &'static dyn Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:157:70
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<dyn JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:56:34
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl JsSerializable for &'static Fn() -> () {
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 56 | impl JsSerializable for &'static dyn Fn() -> () {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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 | impl JsSerializable for &'static dyn Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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 | impl JsSerializable for &'static Fn() -> (Box<dyn JsSerializable>) {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl JsSerializable for &'static Fn(JsValue) -> () {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 78 | impl JsSerializable for &'static dyn Fn(JsValue) -> () {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:89:34
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 89 | impl JsSerializable for &'static dyn Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:52:72
[INFO] [stdout]    |
[INFO] [stdout] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<dyn JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:89:54
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<dyn JsSerializable>) {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:54:83
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<dyn JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:130:42
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn register_callback(callback:  &'static Fn() -> ()) -> u32  {
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 130 | fn register_callback(callback:  &'static dyn Fn() -> ()) -> u32  {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 139 | fn register_callback_ret(callback: &'static dyn Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:139:58
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<dyn JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:148:46
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn register_callback_arg(callback:  &'static Fn(JsValue) -> ()) -> u32  {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 148 | fn register_callback_arg(callback:  &'static dyn Fn(JsValue) -> ()) -> u32  {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:157:50
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 157 | fn register_callback_ret_arg(callback:  &'static dyn Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:157:70
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<dyn JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:56:34
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl JsSerializable for &'static Fn() -> () {
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 56 | impl JsSerializable for &'static dyn Fn() -> () {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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 | impl JsSerializable for &'static dyn Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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 | impl JsSerializable for &'static Fn() -> (Box<dyn JsSerializable>) {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl JsSerializable for &'static Fn(JsValue) -> () {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 78 | impl JsSerializable for &'static dyn Fn(JsValue) -> () {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:89:34
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 89 | impl JsSerializable for &'static dyn Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:89:54
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<dyn JsSerializable>) {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/mod.rs:64:33
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn ser_single_val(val: &JsSerializable) -> Vec<u8> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 64 |     pub fn ser_single_val(val: &dyn JsSerializable) -> Vec<u8> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/call.rs:36:43
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn call_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 36 |     pub fn call_with_args(&self, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/call.rs:78:62
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn call_method_with_args(&self, name: &str, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 78 |     pub fn call_method_with_args(&self, name: &str, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/new.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 36 |     pub fn new_with_args(&self, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/mod.rs:64:33
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn ser_single_val(val: &JsSerializable) -> Vec<u8> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 64 |     pub fn ser_single_val(val: &dyn JsSerializable) -> Vec<u8> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/call.rs:36:43
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn call_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 36 |     pub fn call_with_args(&self, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/call.rs:78:62
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn call_method_with_args(&self, name: &str, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 78 |     pub fn call_method_with_args(&self, name: &str, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/new.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 36 |     pub fn new_with_args(&self, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/js_val_impl/new.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let mut vec = Vec::with_capacity(alloc_size as usize);
[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/js_val_impl/new.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let mut vec = Vec::with_capacity(alloc_size as usize);
[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: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.95s
[INFO] running `Command { std: "docker" "inspect" "c4031a933dfff10ea22c72cfb1a34447f6ec2759f4d5e848e1db641f3ee1d36c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4031a933dfff10ea22c72cfb1a34447f6ec2759f4d5e848e1db641f3ee1d36c", kill_on_drop: false }`
[INFO] [stdout] c4031a933dfff10ea22c72cfb1a34447f6ec2759f4d5e848e1db641f3ee1d36c
[INFO] checking wasm_val-0.3.5 against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393-1
[INFO] extracting crate wasm_val 0.3.5 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate wasm_val 0.3.5 on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate wasm_val 0.3.5
[INFO] finished tweaking crates.io crate wasm_val 0.3.5
[INFO] tweaked toml for crates.io crate wasm_val 0.3.5 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 568c4775d18c6ec426c745599f31d8e4234d20e3e21fd9bfda4b91dc9842ec85
[INFO] running `Command { std: "docker" "start" "-a" "568c4775d18c6ec426c745599f31d8e4234d20e3e21fd9bfda4b91dc9842ec85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "568c4775d18c6ec426c745599f31d8e4234d20e3e21fd9bfda4b91dc9842ec85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "568c4775d18c6ec426c745599f31d8e4234d20e3e21fd9bfda4b91dc9842ec85", kill_on_drop: false }`
[INFO] [stdout] 568c4775d18c6ec426c745599f31d8e4234d20e3e21fd9bfda4b91dc9842ec85
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dnon_local_definitions" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5dfdecbc9d0236422e8c6fe3a119f97e2602ebde4627fcb9ad7ac60892397bae
[INFO] running `Command { std: "docker" "start" "-a" "5dfdecbc9d0236422e8c6fe3a119f97e2602ebde4627fcb9ad7ac60892397bae", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking wasm_val v0.3.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/js_ser/mod.rs:67:42
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                          ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 - impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout] 67 + impl JsSerializable for &'static Fn() -> Box<JsSerializable> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/js_ser/mod.rs:89:49
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                                 ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 - impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout] 89 + impl JsSerializable for &'static Fn(JsValue) -> Box<JsSerializable> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:52:67
[INFO] [stdout]    |
[INFO] [stdout] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                   ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 52 -     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout] 52 +     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> Box<JsSerializable> >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:54:78
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                              ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout] 54 +     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> Box<JsSerializable> >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:70:70
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stdout]    |                                                                      ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 - pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stdout] 70 + pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> *mut u8 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/js_ser/mod.rs:67:42
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                          ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 - impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout] 67 + impl JsSerializable for &'static Fn() -> Box<JsSerializable> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:101:88
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stdout]     |                                                                                        ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 101 - pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stdout] 101 + pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> *mut u8 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/js_ser/mod.rs:89:49
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                                 ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 - impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout] 89 + impl JsSerializable for &'static Fn(JsValue) -> Box<JsSerializable> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:139:53
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                     ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 - fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout] 139 + fn register_callback_ret(callback: &'static Fn() -> Box<JsSerializable>) -> u32  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:157:65
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                 ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 - fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout] 157 + fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> Box<JsSerializable>) -> u32  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:52:67
[INFO] [stdout]    |
[INFO] [stdout] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                   ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 52 -     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout] 52 +     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> Box<JsSerializable> >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:54:78
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                              ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout] 54 +     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> Box<JsSerializable> >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/lib.rs:70:70
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stdout]    |                                                                      ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 - pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stdout] 70 + pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> *mut u8 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:101:88
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stdout]     |                                                                                        ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 101 - pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stdout] 101 + pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> *mut u8 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:139:53
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                     ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 - fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout] 139 + fn register_callback_ret(callback: &'static Fn() -> Box<JsSerializable>) -> u32  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:157:65
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                 ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 - fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout] 157 + fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> Box<JsSerializable>) -> u32  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:52:72
[INFO] [stdout]    |
[INFO] [stdout] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<dyn JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:54:83
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<dyn JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:52:72
[INFO] [stdout]    |
[INFO] [stdout] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<dyn JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:130:42
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn register_callback(callback:  &'static Fn() -> ()) -> u32  {
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 130 | fn register_callback(callback:  &'static dyn Fn() -> ()) -> u32  {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 139 | fn register_callback_ret(callback: &'static dyn Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:139:58
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<dyn JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:54:83
[INFO] [stdout]    |
[INFO] [stdout] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<dyn JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:148:46
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn register_callback_arg(callback:  &'static Fn(JsValue) -> ()) -> u32  {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 148 | fn register_callback_arg(callback:  &'static dyn Fn(JsValue) -> ()) -> u32  {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:157:50
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 157 | fn register_callback_ret_arg(callback:  &'static dyn Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:130:42
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn register_callback(callback:  &'static Fn() -> ()) -> u32  {
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 130 | fn register_callback(callback:  &'static dyn Fn() -> ()) -> u32  {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:157:70
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<dyn JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 139 | fn register_callback_ret(callback: &'static dyn Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:56:34
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl JsSerializable for &'static Fn() -> () {
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 56 | impl JsSerializable for &'static dyn Fn() -> () {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:139:58
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<dyn JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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 | impl JsSerializable for &'static dyn Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:148:46
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn register_callback_arg(callback:  &'static Fn(JsValue) -> ()) -> u32  {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 148 | fn register_callback_arg(callback:  &'static dyn Fn(JsValue) -> ()) -> u32  {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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 | impl JsSerializable for &'static Fn() -> (Box<dyn JsSerializable>) {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:157:50
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 157 | fn register_callback_ret_arg(callback:  &'static dyn Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl JsSerializable for &'static Fn(JsValue) -> () {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 78 | impl JsSerializable for &'static dyn Fn(JsValue) -> () {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:157:70
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: 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] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<dyn JsSerializable>)) -> u32  {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:89:34
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 89 | impl JsSerializable for &'static dyn Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:89:54
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<dyn JsSerializable>) {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:56:34
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl JsSerializable for &'static Fn() -> () {
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 56 | impl JsSerializable for &'static dyn Fn() -> () {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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 | impl JsSerializable for &'static dyn Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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 | impl JsSerializable for &'static Fn() -> (Box<dyn JsSerializable>) {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl JsSerializable for &'static Fn(JsValue) -> () {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 78 | impl JsSerializable for &'static dyn Fn(JsValue) -> () {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:89:34
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 89 | impl JsSerializable for &'static dyn Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_ser/mod.rs:89:54
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<dyn JsSerializable>) {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/mod.rs:64:33
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn ser_single_val(val: &JsSerializable) -> Vec<u8> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 64 |     pub fn ser_single_val(val: &dyn JsSerializable) -> Vec<u8> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/call.rs:36:43
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn call_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 36 |     pub fn call_with_args(&self, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/call.rs:78:62
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn call_method_with_args(&self, name: &str, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 78 |     pub fn call_method_with_args(&self, name: &str, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/mod.rs:64:33
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn ser_single_val(val: &JsSerializable) -> Vec<u8> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 64 |     pub fn ser_single_val(val: &dyn JsSerializable) -> Vec<u8> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/new.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 36 |     pub fn new_with_args(&self, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/call.rs:36:43
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn call_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 36 |     pub fn call_with_args(&self, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/call.rs:78:62
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn call_method_with_args(&self, name: &str, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 78 |     pub fn call_method_with_args(&self, name: &str, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/js_val_impl/new.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: 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] 36 |     pub fn new_with_args(&self, args: &[&dyn JsSerializable]) -> Option<JsValue> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/js_val_impl/new.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let mut vec = Vec::with_capacity(alloc_size as usize);
[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/js_val_impl/new.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let mut vec = Vec::with_capacity(alloc_size as usize);
[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] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ser_constants.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(FromPrimitive)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_TypeTag`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ser_constants.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(FromPrimitive)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_TypeTag`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wasm_val` (lib) due to 2 previous errors; 27 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `wasm_val` (lib test) due to 2 previous errors; 27 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5dfdecbc9d0236422e8c6fe3a119f97e2602ebde4627fcb9ad7ac60892397bae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5dfdecbc9d0236422e8c6fe3a119f97e2602ebde4627fcb9ad7ac60892397bae", kill_on_drop: false }`
[INFO] [stdout] 5dfdecbc9d0236422e8c6fe3a119f97e2602ebde4627fcb9ad7ac60892397bae
