[INFO] fetching crate awsm 0.0.11... [INFO] checking awsm-0.0.11 against try#23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 for pr-115950 [INFO] extracting crate awsm 0.0.11 into /workspace/builds/worker-6-tc2/source [INFO] validating manifest of crates.io crate awsm 0.0.11 on toolchain 23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate awsm 0.0.11 [INFO] finished tweaking crates.io crate awsm 0.0.11 [INFO] tweaked toml for crates.io crate awsm 0.0.11 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" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "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" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 75adb583d70b0510aafad53df2cba0c44369681ad798c931738e0f8426e305f3 [INFO] running `Command { std: "docker" "start" "-a" "75adb583d70b0510aafad53df2cba0c44369681ad798c931738e0f8426e305f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "75adb583d70b0510aafad53df2cba0c44369681ad798c931738e0f8426e305f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "75adb583d70b0510aafad53df2cba0c44369681ad798c931738e0f8426e305f3", kill_on_drop: false }` [INFO] [stdout] 75adb583d70b0510aafad53df2cba0c44369681ad798c931738e0f8426e305f3 [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" "-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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b22e8baf3c16c42eeaaa70509205e92d850b4e414b8312b22f5ae202715be0a7 [INFO] running `Command { std: "docker" "start" "-a" "b22e8baf3c16c42eeaaa70509205e92d850b4e414b8312b22f5ae202715be0a7", kill_on_drop: false }` [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.87 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Compiling bumpalo v3.14.0 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking futures-core-preview v0.3.0-alpha.16 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Compiling wasm-bindgen v0.2.87 [INFO] [stderr] Checking futures-channel-preview v0.3.0-alpha.16 [INFO] [stderr] Checking rand_chacha v0.1.1 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.87 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking futures-sink-preview v0.3.0-alpha.16 [INFO] [stderr] Checking futures-io-preview v0.3.0-alpha.16 [INFO] [stderr] Checking serde v1.0.188 [INFO] [stderr] Checking beach_map v0.1.2 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.87 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.87 [INFO] [stderr] Checking js-sys v0.3.64 [INFO] [stderr] Compiling futures-select-macro-preview v0.3.0-alpha.16 [INFO] [stderr] Checking futures-util-preview v0.3.0-alpha.16 [INFO] [stderr] Checking web-sys v0.3.64 [INFO] [stderr] Checking serde-wasm-bindgen v0.1.3 [INFO] [stderr] Checking futures-executor-preview v0.3.0-alpha.16 [INFO] [stderr] Checking wasm-bindgen-futures v0.3.25 [INFO] [stderr] Checking futures-preview v0.3.0-alpha.16 [INFO] [stderr] Checking awsm v0.0.11 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `NativeError` [INFO] [stdout] --> src/core/audio/player.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::errors::{Error, NativeError}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `js_sys::Object` [INFO] [stdout] --> src/core/audio/player.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use js_sys::Object; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/audio/player.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cell`, `RefCell` [INFO] [stdout] --> src/core/audio/player.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cell::{Cell, RefCell}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/core/audio/player.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AudioNode`, `Element`, `Event` [INFO] [stdout] --> src/core/audio/player.rs:8:65 [INFO] [stdout] | [INFO] [stdout] 8 | use web_sys::{AudioBuffer, AudioBufferSourceNode, AudioContext, AudioNode, Element, Event}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `NativeError` [INFO] [stdout] --> src/core/input/pointer.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::errors::{Error, NativeError}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Uint8Array` [INFO] [stdout] --> src/core/loaders/fetch.rs:8:43 [INFO] [stdout] | [INFO] [stdout] 8 | use js_sys::{Array, ArrayBuffer, Promise, Uint8Array}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/loaders/fetch.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::marker::PhantomData` [INFO] [stdout] --> src/core/loaders/fetch.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::marker::PhantomData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue` [INFO] [stdout] --> src/core/loaders/fetch.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use wasm_bindgen::JsValue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/loaders/image.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::window::get_window` [INFO] [stdout] --> src/core/tick/mainloop.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::window::get_window; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/tick/mainloop.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Cell` [INFO] [stdout] --> src/core/tick/mainloop.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cell::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/core/tick/mainloop.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/core/tick/mainloop.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stdout] --> src/core/tick/mainloop.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::JsCast` [INFO] [stdout] --> src/core/tick/mainloop.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use wasm_bindgen::JsCast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::Window` [INFO] [stdout] --> src/core/tick/mainloop.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use web_sys::Window; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NativeError` [INFO] [stdout] --> src/core/audio/player.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::errors::{Error, NativeError}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `js_sys::Object` [INFO] [stdout] --> src/core/audio/player.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use js_sys::Object; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/audio/player.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cell`, `RefCell` [INFO] [stdout] --> src/core/audio/player.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cell::{Cell, RefCell}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/core/audio/player.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AudioNode`, `Element`, `Event` [INFO] [stdout] --> src/core/audio/player.rs:8:65 [INFO] [stdout] | [INFO] [stdout] 8 | use web_sys::{AudioBuffer, AudioBufferSourceNode, AudioContext, AudioNode, Element, Event}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `NativeError` [INFO] [stdout] --> src/core/input/pointer.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::errors::{Error, NativeError}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Uint8Array` [INFO] [stdout] --> src/core/loaders/fetch.rs:8:43 [INFO] [stdout] | [INFO] [stdout] 8 | use js_sys::{Array, ArrayBuffer, Promise, Uint8Array}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/loaders/fetch.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::marker::PhantomData` [INFO] [stdout] --> src/core/loaders/fetch.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::marker::PhantomData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue` [INFO] [stdout] --> src/core/loaders/fetch.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use wasm_bindgen::JsValue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/loaders/image.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::window::get_window` [INFO] [stdout] --> src/core/tick/mainloop.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::window::get_window; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/tick/mainloop.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Cell` [INFO] [stdout] --> src/core/tick/mainloop.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cell::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/core/tick/mainloop.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/core/tick/mainloop.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stdout] --> src/core/tick/mainloop.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::JsCast` [INFO] [stdout] --> src/core/tick/mainloop.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use wasm_bindgen::JsCast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::Window` [INFO] [stdout] --> src/core/tick/mainloop.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use web_sys::Window; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | / /// The cumulative amount of in-app time that hasn't been simulated yet. [INFO] [stdout] 229 | | /// See the comments inside animate() for details. [INFO] [stdout] | |__________________________________________________________^ [INFO] [stdout] 230 | let mut frame_delta = 0.0f64; [INFO] [stdout] | ----------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | / /// The timestamp in milliseconds of the last time the main loop was run. [INFO] [stdout] 233 | | /// Used to compute the time elapsed between frames. [INFO] [stdout] | |____________________________________________________________^ [INFO] [stdout] 234 | let mut last_frame_time_ms = 0.0f64; [INFO] [stdout] | ------------------------------------ rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | /// An exponential moving average of the frames per second. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 237 | let mut fps = 60.0f64; [INFO] [stdout] | ---------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | / /// The timestamp (in milliseconds) of the last time the `fps` moving [INFO] [stdout] 240 | | /// average was updated. [INFO] [stdout] | |________________________________^ [INFO] [stdout] 241 | let mut last_fps_update = 0.0f64; [INFO] [stdout] | --------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | / /// The number of frames delivered since the last time the `fps` moving [INFO] [stdout] 244 | | /// average was updated (i.e. since `lastFpsUpdate`). [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] 245 | let mut frames_since_last_fps_update = 0u32; [INFO] [stdout] | -------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | / /// The number of times update() is called in a given frame. This is only [INFO] [stdout] 248 | | /// relevant inside of animate(), but a reference is held externally so that [INFO] [stdout] 249 | | /// this variable is not marked for garbage collection every time the main [INFO] [stdout] 250 | | /// loop runs. [INFO] [stdout] | |______________________^ [INFO] [stdout] 251 | let mut num_update_steps = 0u32; [INFO] [stdout] | -------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | / /// Whether the simulation has fallen too far behind real time. [INFO] [stdout] 254 | | /// Specifically, `panic` will be set to `true` if too many updates occur in [INFO] [stdout] 255 | | /// one frame. This is only relevant inside of animate(), but a reference is [INFO] [stdout] 256 | | /// held externally so that this variable is not marked for garbage [INFO] [stdout] 257 | | /// collection every time the main loop runs. [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] 258 | let mut end_panic = false; [INFO] [stdout] | -------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/tick/raf.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TextureTarget`, `WebGlContextOptions`, `get_webgl_context_1`, `get_webgl_context_2` [INFO] [stdout] --> src/core/webgl/base.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | get_webgl_context_1, get_webgl_context_2, BufferTarget, GlQuery, Id, ProgramInfo, TextureInfo, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | TextureTarget, WebGlCommon, WebGlContextOptions, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::data::clone_to_vec_f32` [INFO] [stdout] --> src/core/webgl/base.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::data::clone_to_vec_f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::JsValue` [INFO] [stdout] --> src/core/webgl/base.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use wasm_bindgen::prelude::JsValue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WebGlTexture` [INFO] [stdout] --> src/core/webgl/base.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | use web_sys::{HtmlCanvasElement, WebGlBuffer, WebGlTexture, WebGlVertexArrayObject}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnsignedInt_24_8` should have an upper camel case name [INFO] [stdout] --> src/core/webgl/enums.rs:365:5 [INFO] [stdout] | [INFO] [stdout] 365 | UnsignedInt_24_8 = 0x84FA, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UnsignedInt24_8` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | / /// The cumulative amount of in-app time that hasn't been simulated yet. [INFO] [stdout] 229 | | /// See the comments inside animate() for details. [INFO] [stdout] | |__________________________________________________________^ [INFO] [stdout] 230 | let mut frame_delta = 0.0f64; [INFO] [stdout] | ----------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GlQuery` [INFO] [stdout] --> src/core/webgl/shader.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | GlQuery, ProgramQuery, ShaderQuery, ShaderType, UniformBlockActiveQuery, UniformBlockQuery, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `clone_to_vec_f32` [INFO] [stdout] --> src/core/webgl/shader.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::data::{clone_to_vec_f32, clone_to_vec_u32}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::JsValue` [INFO] [stdout] --> src/core/webgl/shader.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use wasm_bindgen::prelude::JsValue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | / /// The timestamp in milliseconds of the last time the main loop was run. [INFO] [stdout] 233 | | /// Used to compute the time elapsed between frames. [INFO] [stdout] | |____________________________________________________________^ [INFO] [stdout] 234 | let mut last_frame_time_ms = 0.0f64; [INFO] [stdout] | ------------------------------------ rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::data::TypedData` [INFO] [stdout] --> src/core/webgl/textures.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::data::TypedData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | /// An exponential moving average of the frames per second. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 237 | let mut fps = 60.0f64; [INFO] [stdout] | ---------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `js_sys::Object` [INFO] [stdout] --> src/core/webgl/textures.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use js_sys::Object; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/webgl/textures.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | / /// The timestamp (in milliseconds) of the last time the `fps` moving [INFO] [stdout] 240 | | /// average was updated. [INFO] [stdout] | |________________________________^ [INFO] [stdout] 241 | let mut last_fps_update = 0.0f64; [INFO] [stdout] | --------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::marker::PhantomData` [INFO] [stdout] --> src/core/webgl/textures.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::marker::PhantomData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | / /// The number of frames delivered since the last time the `fps` moving [INFO] [stdout] 244 | | /// average was updated (i.e. since `lastFpsUpdate`). [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] 245 | let mut frames_since_last_fps_update = 0u32; [INFO] [stdout] | -------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::JsValue` [INFO] [stdout] --> src/core/webgl/textures.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use wasm_bindgen::prelude::JsValue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WebGlCommon` [INFO] [stdout] --> src/core/webgl/uniform_buffers.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | WebGlCommon, WebGlRenderer, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | / /// The number of times update() is called in a given frame. This is only [INFO] [stdout] 248 | | /// relevant inside of animate(), but a reference is held externally so that [INFO] [stdout] 249 | | /// this variable is not marked for garbage collection every time the main [INFO] [stdout] 250 | | /// loop runs. [INFO] [stdout] | |______________________^ [INFO] [stdout] 251 | let mut num_update_steps = 0u32; [INFO] [stdout] | -------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core/tick/mainloop.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | / /// Whether the simulation has fallen too far behind real time. [INFO] [stdout] 254 | | /// Specifically, `panic` will be set to `true` if too many updates occur in [INFO] [stdout] 255 | | /// one frame. This is only relevant inside of animate(), but a reference is [INFO] [stdout] 256 | | /// held externally so that this variable is not marked for garbage [INFO] [stdout] 257 | | /// collection every time the main loop runs. [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] 258 | let mut end_panic = false; [INFO] [stdout] | -------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/tick/raf.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TextureTarget`, `WebGlContextOptions`, `get_webgl_context_1`, `get_webgl_context_2` [INFO] [stdout] --> src/core/webgl/base.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | get_webgl_context_1, get_webgl_context_2, BufferTarget, GlQuery, Id, ProgramInfo, TextureInfo, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | TextureTarget, WebGlCommon, WebGlContextOptions, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::data::clone_to_vec_f32` [INFO] [stdout] --> src/core/webgl/base.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::data::clone_to_vec_f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::JsValue` [INFO] [stdout] --> src/core/webgl/base.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use wasm_bindgen::prelude::JsValue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WebGlTexture` [INFO] [stdout] --> src/core/webgl/base.rs:14:47 [INFO] [stdout] | [INFO] [stdout] 14 | use web_sys::{HtmlCanvasElement, WebGlBuffer, WebGlTexture, WebGlVertexArrayObject}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnsignedInt_24_8` should have an upper camel case name [INFO] [stdout] --> src/core/webgl/enums.rs:365:5 [INFO] [stdout] | [INFO] [stdout] 365 | UnsignedInt_24_8 = 0x84FA, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `UnsignedInt24_8` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GlQuery` [INFO] [stdout] --> src/core/webgl/shader.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | GlQuery, ProgramQuery, ShaderQuery, ShaderType, UniformBlockActiveQuery, UniformBlockQuery, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `clone_to_vec_f32` [INFO] [stdout] --> src/core/webgl/shader.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::data::{clone_to_vec_f32, clone_to_vec_u32}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::JsValue` [INFO] [stdout] --> src/core/webgl/shader.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use wasm_bindgen::prelude::JsValue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::data::TypedData` [INFO] [stdout] --> src/core/webgl/textures.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::data::TypedData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `js_sys::Object` [INFO] [stdout] --> src/core/webgl/textures.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use js_sys::Object; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/core/webgl/textures.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::marker::PhantomData` [INFO] [stdout] --> src/core/webgl/textures.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::marker::PhantomData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::JsValue` [INFO] [stdout] --> src/core/webgl/textures.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use wasm_bindgen::prelude::JsValue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WebGlCommon` [INFO] [stdout] --> src/core/webgl/uniform_buffers.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | WebGlCommon, WebGlRenderer, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `async_await` has been stable since 1.39.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(async_await)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `async_await` has been stable since 1.39.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(async_await)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `url` [INFO] [stdout] --> src/core/loaders/fetch.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | .and_then(|url| image(&url)) [INFO] [stdout] | ^^^^^^----^ [INFO] [stdout] | | | [INFO] [stdout] | | `url` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `url` [INFO] [stdout] --> src/core/loaders/fetch.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | .and_then(|url| image(&url)) [INFO] [stdout] | ^^^^^^----^ [INFO] [stdout] | | | [INFO] [stdout] | | `url` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:44:22 [INFO] [stdout] | [INFO] [stdout] 44 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:44:22 [INFO] [stdout] | [INFO] [stdout] 44 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:61:22 [INFO] [stdout] | [INFO] [stdout] 61 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:78:22 [INFO] [stdout] | [INFO] [stdout] 78 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:61:22 [INFO] [stdout] | [INFO] [stdout] 61 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:95:22 [INFO] [stdout] | [INFO] [stdout] 95 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:78:22 [INFO] [stdout] | [INFO] [stdout] 78 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:112:22 [INFO] [stdout] | [INFO] [stdout] 112 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:95:22 [INFO] [stdout] | [INFO] [stdout] 95 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:129:22 [INFO] [stdout] | [INFO] [stdout] 129 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:112:22 [INFO] [stdout] | [INFO] [stdout] 112 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:146:22 [INFO] [stdout] | [INFO] [stdout] 146 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:129:22 [INFO] [stdout] | [INFO] [stdout] 129 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:163:22 [INFO] [stdout] | [INFO] [stdout] 163 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:146:22 [INFO] [stdout] | [INFO] [stdout] 146 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `buf` [INFO] [stdout] --> src/core/loaders/fetch.rs:171:44 [INFO] [stdout] | [INFO] [stdout] 171 | array_buffer(&url).and_then(move |buf| audio_buffer(&buf, &ctx)) [INFO] [stdout] | ^^^^^^^^^^^^^----^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `buf` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `url` [INFO] [stdout] --> src/core/loaders/fetch.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 168 | url: &str, [INFO] [stdout] | ---- help: add explicit lifetime `'a` to the type of `url`: `&'a str` [INFO] [stdout] ... [INFO] [stdout] 171 | array_buffer(&url).and_then(move |buf| audio_buffer(&buf, &ctx)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `blob` [INFO] [stdout] --> src/core/loaders/fetch.rs:163:22 [INFO] [stdout] | [INFO] [stdout] 163 | .and_then(|blob| image_blob(&blob)) [INFO] [stdout] | ^^^^^^^^^^^-----^ [INFO] [stdout] | | | [INFO] [stdout] | | `blob` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `buf` [INFO] [stdout] --> src/core/loaders/fetch.rs:171:44 [INFO] [stdout] | [INFO] [stdout] 171 | array_buffer(&url).and_then(move |buf| audio_buffer(&buf, &ctx)) [INFO] [stdout] | ^^^^^^^^^^^^^----^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `buf` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `url` [INFO] [stdout] --> src/core/loaders/fetch.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 168 | url: &str, [INFO] [stdout] | ---- help: add explicit lifetime `'a` to the type of `url`: `&'a str` [INFO] [stdout] ... [INFO] [stdout] 171 | array_buffer(&url).and_then(move |buf| audio_buffer(&buf, &ctx)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:195:18 [INFO] [stdout] | [INFO] [stdout] 192 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 193 | ) -> impl Future> { [INFO] [stdout] 194 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 195 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 196 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:203:18 [INFO] [stdout] | [INFO] [stdout] 200 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 201 | ) -> impl Future> { [INFO] [stdout] 202 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 203 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 204 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:210:18 [INFO] [stdout] | [INFO] [stdout] 207 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 208 | ) -> impl Future> { [INFO] [stdout] 209 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 210 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 211 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:217:18 [INFO] [stdout] | [INFO] [stdout] 214 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 215 | ) -> impl Future> { [INFO] [stdout] 216 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 217 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 218 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:224:18 [INFO] [stdout] | [INFO] [stdout] 221 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 222 | ) -> impl Future> { [INFO] [stdout] 223 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 224 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 225 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:195:18 [INFO] [stdout] | [INFO] [stdout] 192 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 193 | ) -> impl Future> { [INFO] [stdout] 194 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 195 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 196 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:231:18 [INFO] [stdout] | [INFO] [stdout] 228 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 229 | ) -> impl Future> { [INFO] [stdout] 230 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 231 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 232 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:238:18 [INFO] [stdout] | [INFO] [stdout] 235 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 236 | ) -> impl Future> { [INFO] [stdout] 237 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 238 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 239 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:245:18 [INFO] [stdout] | [INFO] [stdout] 242 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 243 | ) -> impl Future> { [INFO] [stdout] 244 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 245 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 246 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:203:18 [INFO] [stdout] | [INFO] [stdout] 200 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 201 | ) -> impl Future> { [INFO] [stdout] 202 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 203 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 204 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:210:18 [INFO] [stdout] | [INFO] [stdout] 207 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 208 | ) -> impl Future> { [INFO] [stdout] 209 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 210 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 211 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:217:18 [INFO] [stdout] | [INFO] [stdout] 214 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 215 | ) -> impl Future> { [INFO] [stdout] 216 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 217 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 218 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:224:18 [INFO] [stdout] | [INFO] [stdout] 221 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 222 | ) -> impl Future> { [INFO] [stdout] 223 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 224 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 225 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:231:18 [INFO] [stdout] | [INFO] [stdout] 228 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 229 | ) -> impl Future> { [INFO] [stdout] 230 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 231 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 232 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:238:18 [INFO] [stdout] | [INFO] [stdout] 235 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 236 | ) -> impl Future> { [INFO] [stdout] 237 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 238 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 239 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `array_buffer` does not live long enough [INFO] [stdout] --> src/core/loaders/fetch.rs:245:18 [INFO] [stdout] | [INFO] [stdout] 242 | ctx: &AudioContext, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 243 | ) -> impl Future> { [INFO] [stdout] 244 | let array_buffer: ArrayBuffer = TypedData::new(data.as_ref()).into(); [INFO] [stdout] | ------------ binding `array_buffer` declared here [INFO] [stdout] 245 | audio_buffer(&array_buffer, &ctx) [INFO] [stdout] | -------------^^^^^^^^^^^^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `array_buffer` is borrowed for `'1` [INFO] [stdout] 246 | } [INFO] [stdout] | - `array_buffer` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 19 previous errors; 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0515, E0597, E0621. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0515`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 19 previous errors; 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0515, E0597, E0621. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0515`. [INFO] [stdout] [INFO] [stderr] error: could not compile `awsm` (lib test) due to 20 previous errors; 43 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `awsm` (lib) due to 20 previous errors; 43 warnings emitted [INFO] running `Command { std: "docker" "inspect" "b22e8baf3c16c42eeaaa70509205e92d850b4e414b8312b22f5ae202715be0a7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b22e8baf3c16c42eeaaa70509205e92d850b4e414b8312b22f5ae202715be0a7", kill_on_drop: false }` [INFO] [stdout] b22e8baf3c16c42eeaaa70509205e92d850b4e414b8312b22f5ae202715be0a7