[INFO] fetching crate wasm_val 0.3.5...
[INFO] testing wasm_val-0.3.5 against 1.47.0 for beta-1.48-1
[INFO] extracting crate wasm_val 0.3.5 into /workspace/builds/worker-0/source
[INFO] validating manifest of crates.io crate wasm_val 0.3.5 on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", 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-0/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ec5e566df572b38bbb2ee47c395cea4e1764d42ffcc62d3251db0cca64ce0d8d
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ec5e566df572b38bbb2ee47c395cea4e1764d42ffcc62d3251db0cca64ce0d8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec5e566df572b38bbb2ee47c395cea4e1764d42ffcc62d3251db0cca64ce0d8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec5e566df572b38bbb2ee47c395cea4e1764d42ffcc62d3251db0cca64ce0d8d", kill_on_drop: false }`
[INFO] [stdout] ec5e566df572b38bbb2ee47c395cea4e1764d42ffcc62d3251db0cca64ce0d8d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eaed3aabba83a9128af0aebfd244cc346da8bd2909cb4d3d0ee9a8978ac1b8ce
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "eaed3aabba83a9128af0aebfd244cc346da8bd2909cb4d3d0ee9a8978ac1b8ce", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling wasm_val v0.3.5 (/opt/rustwide/workdir)
[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]    |                                  ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> (Box<JsSerializable>)`
[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]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[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]    |                                               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                  ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> ()`
[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]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> (Box<JsSerializable>)`
[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]    |                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                           ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                              ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                          ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                                                        ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                                                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                                      ^^^^^^^^^ help: remove these parentheses
[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]     |                                                                                        ^^^^^^^^^ help: remove these parentheses
[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]     |                                          ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[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]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> (Box<JsSerializable>)`
[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]     |                                                     ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |                                                          ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]     |                                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> ()`
[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]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> (Box<JsSerializable>)`
[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]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |                                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 15.08s
[INFO] running `Command { std: "docker" "inspect" "eaed3aabba83a9128af0aebfd244cc346da8bd2909cb4d3d0ee9a8978ac1b8ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eaed3aabba83a9128af0aebfd244cc346da8bd2909cb4d3d0ee9a8978ac1b8ce", kill_on_drop: false }`
[INFO] [stdout] eaed3aabba83a9128af0aebfd244cc346da8bd2909cb4d3d0ee9a8978ac1b8ce
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] caabe90ed11e337eb24f27749b56f01fb89fcc4284ee6709883ecd1ad8b6c6cb
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "caabe90ed11e337eb24f27749b56f01fb89fcc4284ee6709883ecd1ad8b6c6cb", kill_on_drop: false }`
[INFO] [stderr]    Compiling wasm_val v0.3.5 (/opt/rustwide/workdir)
[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]    |                                  ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> (Box<JsSerializable>)`
[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]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[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]    |                                               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                  ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> ()`
[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]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> (Box<JsSerializable>)`
[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]    |                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                           ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                              ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                          ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                                                        ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                                                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                                      ^^^^^^^^^ help: remove these parentheses
[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]     |                                                                                        ^^^^^^^^^ help: remove these parentheses
[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]     |                                          ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[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]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> (Box<JsSerializable>)`
[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]     |                                                     ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |                                                          ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]     |                                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> ()`
[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]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> (Box<JsSerializable>)`
[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]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |                                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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: 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]    |                                  ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> (Box<JsSerializable>)`
[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]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[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]    |                                               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                  ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> ()`
[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]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> (Box<JsSerializable>)`
[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]    |                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                           ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                              ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                          ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                                                        ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                                                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]    |                                                                      ^^^^^^^^^ help: remove these parentheses
[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]     |                                                                                        ^^^^^^^^^ help: remove these parentheses
[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]     |                                          ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[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]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> (Box<JsSerializable>)`
[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]     |                                                     ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |                                                          ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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]     |                                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> ()`
[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]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> (Box<JsSerializable>)`
[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]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     |                                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[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] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.68s
[INFO] running `Command { std: "docker" "inspect" "caabe90ed11e337eb24f27749b56f01fb89fcc4284ee6709883ecd1ad8b6c6cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "caabe90ed11e337eb24f27749b56f01fb89fcc4284ee6709883ecd1ad8b6c6cb", kill_on_drop: false }`
[INFO] [stdout] caabe90ed11e337eb24f27749b56f01fb89fcc4284ee6709883ecd1ad8b6c6cb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b73ab4424d03dabd7a76aa1298570a396165fb1d1d0b4e65086c45ccdfbbc18e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b73ab4424d03dabd7a76aa1298570a396165fb1d1d0b4e65086c45ccdfbbc18e", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:56:34
[INFO] [stderr]    |
[INFO] [stderr] 56 | impl JsSerializable for &'static Fn() -> () {
[INFO] [stderr]    |                                  ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:67:34
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> (Box<JsSerializable>)`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/js_ser/mod.rs:67:42
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:67:47
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:78:34
[INFO] [stderr]    |
[INFO] [stderr] 78 | impl JsSerializable for &'static Fn(JsValue) -> () {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> ()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:89:34
[INFO] [stderr]    |
[INFO] [stderr] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> (Box<JsSerializable>)`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/js_ser/mod.rs:89:49
[INFO] [stderr]    |
[INFO] [stderr] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:89:54
[INFO] [stderr]    |
[INFO] [stderr] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_val_impl/call.rs:36:43
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn call_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_val_impl/call.rs:78:62
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn call_method_with_args(&self, name: &str, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stderr]    |                                                              ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_val_impl/new.rs:36:42
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn new_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_val_impl/mod.rs:64:33
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn ser_single_val(val: &JsSerializable) -> Vec<u8> {
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/lib.rs:52:67
[INFO] [stderr]    |
[INFO] [stderr] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stderr]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:52:72
[INFO] [stderr]    |
[INFO] [stderr] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/lib.rs:54:78
[INFO] [stderr]    |
[INFO] [stderr] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stderr]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:54:83
[INFO] [stderr]    |
[INFO] [stderr] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stderr]    |                                                                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/lib.rs:70:70
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stderr]    |                                                                      ^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:56:34
[INFO] [stderr]    |
[INFO] [stderr] 56 | impl JsSerializable for &'static Fn() -> () {
[INFO] [stderr]    |                                  ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:67:34
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> (Box<JsSerializable>)`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/js_ser/mod.rs:67:42
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/lib.rs:101:88
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stderr]     |                                                                                        ^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:130:42
[INFO] [stderr]     |
[INFO] [stderr] 130 | fn register_callback(callback:  &'static Fn() -> ()) -> u32  {
[INFO] [stderr]     |                                          ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:139:45
[INFO] [stderr]     |
[INFO] [stderr] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> (Box<JsSerializable>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:67:47
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:78:34
[INFO] [stderr]    |
[INFO] [stderr] 78 | impl JsSerializable for &'static Fn(JsValue) -> () {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> ()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:89:34
[INFO] [stderr]    |
[INFO] [stderr] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> (Box<JsSerializable>)`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/lib.rs:139:53
[INFO] [stderr]     |
[INFO] [stderr] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:139:58
[INFO] [stderr]     |
[INFO] [stderr] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:148:46
[INFO] [stderr]     |
[INFO] [stderr] 148 | fn register_callback_arg(callback:  &'static Fn(JsValue) -> ()) -> u32  {
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> ()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:157:50
[INFO] [stderr]     |
[INFO] [stderr] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> (Box<JsSerializable>)`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/js_ser/mod.rs:89:49
[INFO] [stderr]    |
[INFO] [stderr] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_ser/mod.rs:89:54
[INFO] [stderr]    |
[INFO] [stderr] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_val_impl/call.rs:36:43
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn call_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/lib.rs:157:65
[INFO] [stderr]     |
[INFO] [stderr] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:157:70
[INFO] [stderr]     |
[INFO] [stderr] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/js_val_impl/new.rs:40:21
[INFO] [stderr]    |
[INFO] [stderr] 40 |                 let mut vec = Vec::with_capacity(alloc_size as usize);
[INFO] [stderr]    |                     ----^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_val_impl/call.rs:78:62
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn call_method_with_args(&self, name: &str, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stderr]    |                                                              ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_val_impl/new.rs:36:42
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn new_with_args(&self, args: &[&JsSerializable]) -> Option<JsValue> {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/js_val_impl/mod.rs:64:33
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn ser_single_val(val: &JsSerializable) -> Vec<u8> {
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: 27 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/lib.rs:52:67
[INFO] [stderr]    |
[INFO] [stderr] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stderr]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:52:72
[INFO] [stderr]    |
[INFO] [stderr] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/lib.rs:54:78
[INFO] [stderr]    |
[INFO] [stderr] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stderr]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:54:83
[INFO] [stderr]    |
[INFO] [stderr] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stderr]    |                                                                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/lib.rs:70:70
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stderr]    |                                                                      ^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/lib.rs:101:88
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stderr]     |                                                                                        ^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:130:42
[INFO] [stderr]     |
[INFO] [stderr] 130 | fn register_callback(callback:  &'static Fn() -> ()) -> u32  {
[INFO] [stderr]     |                                          ^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> ()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:139:45
[INFO] [stderr]     |
[INFO] [stderr] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> (Box<JsSerializable>)`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/lib.rs:139:53
[INFO] [stderr]     |
[INFO] [stderr] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:139:58
[INFO] [stderr]     |
[INFO] [stderr] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:148:46
[INFO] [stderr]     |
[INFO] [stderr] 148 | fn register_callback_arg(callback:  &'static Fn(JsValue) -> ()) -> u32  {
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> ()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:157:50
[INFO] [stderr]     |
[INFO] [stderr] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue) -> (Box<JsSerializable>)`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/lib.rs:157:65
[INFO] [stderr]     |
[INFO] [stderr] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:157:70
[INFO] [stderr]     |
[INFO] [stderr] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn JsSerializable`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/js_val_impl/new.rs:40:21
[INFO] [stderr]    |
[INFO] [stderr] 40 |                 let mut vec = Vec::with_capacity(alloc_size as usize);
[INFO] [stderr]    |                     ----^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 27 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/wasm_val-4106694e540d4132
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wasm_val
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> /opt/rustwide/workdir/src/js_ser/mod.rs:67:42
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl JsSerializable for &'static Fn() -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> /opt/rustwide/workdir/src/js_ser/mod.rs:89:49
[INFO] [stderr]    |
[INFO] [stderr] 89 | impl JsSerializable for &'static Fn(JsValue) -> (Box<JsSerializable>) {
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> /opt/rustwide/workdir/src/lib.rs:52:67
[INFO] [stderr]    |
[INFO] [stderr] 52 |     static CALLBACKS_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn() -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stderr]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> /opt/rustwide/workdir/src/lib.rs:54:78
[INFO] [stderr]    |
[INFO] [stderr] 54 |     static CALLBACKS_ARG_RET_KEY: RefCell<HashMap<u32, Rc<dyn Fn(JsValue) -> (Box<JsSerializable>) >>> = RefCell::new(HashMap::new());
[INFO] [stderr]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> /opt/rustwide/workdir/src/lib.rs:70:70
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub extern "C" fn wasm_val_call_registered_callback_ret(key: u32) -> (*mut u8) {
[INFO] [stderr]    |                                                                      ^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> /opt/rustwide/workdir/src/lib.rs:101:88
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub extern "C" fn wasm_val_call_registered_callback_arg_ret(key: u32, ptr: *mut u8) -> (*mut u8) {
[INFO] [stderr]     |                                                                                        ^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> /opt/rustwide/workdir/src/lib.rs:139:53
[INFO] [stderr]     |
[INFO] [stderr] 139 | fn register_callback_ret(callback: &'static Fn() -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> /opt/rustwide/workdir/src/lib.rs:157:65
[INFO] [stderr]     |
[INFO] [stderr] 157 | fn register_callback_ret_arg(callback:  &'static Fn(JsValue) -> (Box<JsSerializable>)) -> u32  {
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: 8 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b73ab4424d03dabd7a76aa1298570a396165fb1d1d0b4e65086c45ccdfbbc18e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b73ab4424d03dabd7a76aa1298570a396165fb1d1d0b4e65086c45ccdfbbc18e", kill_on_drop: false }`
[INFO] [stdout] b73ab4424d03dabd7a76aa1298570a396165fb1d1d0b4e65086c45ccdfbbc18e
