[INFO] cloning repository https://github.com/payload/bevy-thing [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/payload/bevy-thing" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpayload%2Fbevy-thing", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpayload%2Fbevy-thing'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f30e7717e4584db827b3270da30d956f38dfb4a3 [INFO] building payload/bevy-thing against master#9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19 for pr-117684 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpayload%2Fbevy-thing" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/payload/bevy-thing on toolchain 9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml [INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain [INFO] started tweaking git repo https://github.com/payload/bevy-thing [INFO] finished tweaking git repo https://github.com/payload/bevy-thing [INFO] tweaked toml for git repo https://github.com/payload/bevy-thing written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/payload/bevy-thing already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Updating git repository `https://github.com/Nilirad/bevy_prototype_lyon.git` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded float_eq v0.5.0 [INFO] [stderr] Downloaded darling v0.10.3 [INFO] [stderr] Downloaded darling_macro v0.10.3 [INFO] [stderr] Downloaded glam v0.11.2 [INFO] [stderr] Downloaded find-crate v0.6.1 [INFO] [stderr] Downloaded darling_core v0.10.3 [INFO] [stderr] Downloaded bevy_easings v0.3.0 [INFO] [stderr] Downloaded rapier2d v0.4.2 [INFO] [stderr] Downloaded spirv_cross v0.22.1 [INFO] [stderr] Downloaded notify v5.0.0-pre.4 [INFO] [stderr] Downloaded bevy_rapier2d v0.7.0 [INFO] [stderr] Downloaded shaderc v0.7.0 [INFO] [stderr] Downloaded makima_spline v1.1.3 [INFO] [stderr] Downloaded shaderc-sys v0.7.0 [INFO] [stderr] Downloaded ncollide2d v0.26.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0690489f328643f6d2f2b14794736f96b6c02c9189682f3614c07964886df2d6 [INFO] running `Command { std: "docker" "start" "-a" "0690489f328643f6d2f2b14794736f96b6c02c9189682f3614c07964886df2d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0690489f328643f6d2f2b14794736f96b6c02c9189682f3614c07964886df2d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0690489f328643f6d2f2b14794736f96b6c02c9189682f3614c07964886df2d6", kill_on_drop: false }` [INFO] [stdout] 0690489f328643f6d2f2b14794736f96b6c02c9189682f3614c07964886df2d6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fda7090faa4624a42db5acfadccf0b9a4f4034a07df90b0b65ed3cb69a5696cf [INFO] running `Command { std: "docker" "start" "-a" "fda7090faa4624a42db5acfadccf0b9a4f4034a07df90b0b65ed3cb69a5696cf", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.54 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling serde_derive v1.0.118 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling serde v1.0.118 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling libm v0.2.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling const_fn v0.4.4 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling standback v0.2.13 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling time v0.2.23 [INFO] [stderr] Compiling futures-core v0.3.8 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling tracing-core v0.1.17 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling once_cell v1.5.2 [INFO] [stderr] Compiling futures-io v0.3.8 [INFO] [stderr] Compiling getrandom v0.2.0 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling pin-project-lite v0.2.0 [INFO] [stderr] Compiling lock_api v0.4.2 [INFO] [stderr] Compiling cache-padded v1.1.1 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling concurrent-queue v1.2.2 [INFO] [stderr] Compiling ahash v0.6.2 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling waker-fn v1.1.0 [INFO] [stderr] Compiling parking v2.0.0 [INFO] [stderr] Compiling pin-project-lite v0.1.11 [INFO] [stderr] Compiling fastrand v1.4.0 [INFO] [stderr] Compiling event-listener v2.5.1 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling futures-lite v1.11.2 [INFO] [stderr] Compiling async-task v4.0.3 [INFO] [stderr] Compiling downcast-rs v1.2.0 [INFO] [stderr] Compiling vec-arena v1.0.0 [INFO] [stderr] Compiling async-channel v1.5.1 [INFO] [stderr] Compiling slab v0.4.2 [INFO] [stderr] Compiling fixedbitset v0.3.1 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Compiling glam v0.11.2 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling jobserver v0.1.21 [INFO] [stderr] Compiling serde_json v1.0.60 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling cc v1.0.66 [INFO] [stderr] Compiling async-executor v1.4.0 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling regex-syntax v0.6.21 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling aho-corasick v0.7.15 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling tracing-log v0.1.1 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling sharded-slab v0.1.0 [INFO] [stderr] Compiling mio-extras v2.0.6 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling inotify-sys v0.1.4 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling anyhow v1.0.35 [INFO] [stderr] Compiling walkdir v2.3.1 [INFO] [stderr] Compiling crossbeam-channel v0.4.4 [INFO] [stderr] Compiling inotify v0.8.3 [INFO] [stderr] Compiling regex-automata v0.1.9 [INFO] [stderr] Compiling regex v1.4.2 [INFO] [stderr] Compiling spirv_headers v1.5.0 [INFO] [stderr] Compiling filetime v0.2.13 [INFO] [stderr] Compiling anymap v0.12.1 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Compiling matchers v0.0.1 [INFO] [stderr] Compiling base64 v0.12.3 [INFO] [stderr] Compiling notify v5.0.0-pre.4 [INFO] [stderr] Compiling raw-window-handle v0.3.3 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling spirv-reflect v0.2.3 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling deflate v0.8.6 [INFO] [stderr] Compiling euclid v0.22.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.1 [INFO] [stderr] Compiling bevy-glsl-to-spirv v0.2.1 [INFO] [stderr] Compiling png v0.16.8 [INFO] [stderr] Compiling bytemuck v1.4.1 [INFO] [stderr] Compiling image v0.23.12 [INFO] [stderr] Compiling time-macros-impl v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.22 [INFO] [stderr] Compiling tracing-attributes v0.1.11 [INFO] [stderr] Compiling gfx-hal v0.6.0 [INFO] [stderr] Compiling approx v0.4.0 [INFO] [stderr] Compiling memoffset v0.6.1 [INFO] [stderr] Compiling proc-macro-nested v0.1.6 [INFO] [stderr] Compiling time-macros v0.1.1 [INFO] [stderr] Compiling hex v0.4.2 [INFO] [stderr] Compiling pin-project-internal v1.0.2 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Compiling thiserror v1.0.22 [INFO] [stderr] Compiling alsa-sys v0.3.0 [INFO] [stderr] Compiling instant v0.1.9 [INFO] [stderr] Compiling bevy_tasks v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling libloading v0.6.6 [INFO] [stderr] Compiling tracing v0.1.22 [INFO] [stderr] Compiling nix v0.15.0 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling futures-sink v0.3.8 [INFO] [stderr] Compiling futures-channel v0.3.8 [INFO] [stderr] Compiling futures-macro v0.3.8 [INFO] [stderr] Compiling minimp3-sys v0.3.2 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling futures-task v0.3.8 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling ttf-parser v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.1 [INFO] [stderr] Compiling pin-project v1.0.2 [INFO] [stderr] Compiling bit-set v0.5.2 [INFO] [stderr] Compiling ash v0.31.0 [INFO] [stderr] Compiling futures-util v0.3.8 [INFO] [stderr] Compiling inplace_it v0.3.2 [INFO] [stderr] Compiling owned_ttf_parser v0.9.0 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling libm v0.1.4 [INFO] [stderr] Compiling svg_fmt v0.4.1 [INFO] [stderr] Compiling inflections v1.1.1 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.4 [INFO] [stderr] Compiling cpal v0.13.1 [INFO] [stderr] Compiling gltf-derive v0.15.2 [INFO] [stderr] Compiling ab_glyph v0.2.7 [INFO] [stderr] Compiling guillotiere v0.6.0 [INFO] [stderr] Compiling gfx-memory v0.2.2 [INFO] [stderr] Compiling crossbeam-deque v0.8.0 [INFO] [stderr] Compiling gfx-descriptor v0.2.0 [INFO] [stderr] Compiling gfx-backend-empty v0.6.0 [INFO] [stderr] Compiling naga v0.2.0 [INFO] [stderr] Compiling alsa v0.4.3 [INFO] [stderr] Compiling futures-executor v0.3.8 [INFO] [stderr] Compiling crossbeam-channel v0.5.0 [INFO] [stderr] Compiling slice-deque v0.3.0 [INFO] [stderr] Compiling wgpu-types v0.6.1 [INFO] [stderr] Compiling xi-unicode v0.3.0 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling copyless v0.1.5 [INFO] [stderr] Compiling rectangle-pack v0.2.0 [INFO] [stderr] Compiling glyph_brush_layout v0.2.1 [INFO] [stderr] Compiling smallvec v1.5.1 [INFO] [stderr] Compiling toml v0.5.7 [INFO] [stderr] Compiling uuid v0.8.1 [INFO] [stderr] Compiling parking_lot_core v0.8.1 [INFO] [stderr] Compiling parking_lot v0.11.1 [INFO] [stderr] Compiling bevy_utils v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling erased-serde v0.3.12 [INFO] [stderr] Compiling tracing-serde v0.1.2 [INFO] [stderr] Compiling find-crate v0.6.1 [INFO] [stderr] Compiling ron v0.6.2 [INFO] [stderr] Compiling hexasphere v3.1.0 [INFO] [stderr] Compiling winit v0.24.0 [INFO] [stderr] Compiling gilrs-core v0.3.0 [INFO] [stderr] Compiling bevy_ecs_macros v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_derive v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_reflect_derive v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling tracing-subscriber v0.2.15 [INFO] [stderr] Compiling gltf-json v0.15.2 [INFO] [stderr] Compiling futures v0.3.8 [INFO] [stderr] Compiling gfx-backend-vulkan v0.6.5 [INFO] [stderr] Compiling bevy_ecs v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling typed-arena v2.0.1 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling wgpu-core v0.6.5 [INFO] [stderr] Compiling rayon-core v1.9.0 [INFO] [stderr] Compiling gilrs v0.8.0 [INFO] [stderr] Compiling stretch v0.3.2 [INFO] [stderr] Compiling gltf v0.15.2 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling indexmap v1.6.1 [INFO] [stderr] Compiling base64 v0.13.0 [INFO] [stderr] Compiling bevy_app v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling lyon_geom v0.16.2 [INFO] [stderr] Compiling num-complex v0.3.1 [INFO] [stderr] Compiling bevy_reflect v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_log v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_dynamic_plugin v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling rayon v1.5.0 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling paste v1.0.4 [INFO] [stderr] Compiling hashbrown v0.9.1 [INFO] [stderr] Compiling matrixmultiply v0.2.4 [INFO] [stderr] Compiling wgpu v0.6.2 [INFO] [stderr] Compiling simba v0.3.1 [INFO] [stderr] Compiling bevy_math v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_core v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_transform v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_window v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_diagnostic v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_input v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_asset v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_winit v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_gilrs v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling lyon_path v0.16.2 [INFO] [stderr] Compiling bevy_render v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_scene v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling rand_distr v0.3.0 [INFO] [stderr] Compiling sid v0.6.1 [INFO] [stderr] Compiling fixedbitset v0.2.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.1 [INFO] [stderr] Compiling petgraph v0.5.1 [INFO] [stderr] Compiling inflate v0.3.4 [INFO] [stderr] Compiling deflate v0.7.20 [INFO] [stderr] Compiling rand_core v0.6.1 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling lzw v0.10.0 [INFO] [stderr] Compiling slotmap v0.4.0 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling nalgebra v0.23.2 [INFO] [stderr] Compiling bevy_sprite v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_pbr v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_wgpu v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling bevy_gltf v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_text v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_ui v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling jpeg-decoder v0.1.20 [INFO] [stderr] Compiling gif v0.9.2 [INFO] [stderr] Compiling enum_primitive v0.1.1 [INFO] [stderr] Compiling rand_chacha v0.3.0 [INFO] [stderr] Compiling png v0.11.0 [INFO] [stderr] Compiling crossbeam v0.8.0 [INFO] [stderr] Compiling lyon_algorithms v0.16.0 [INFO] [stderr] Compiling lyon_tessellation v0.16.2 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling num-rational v0.1.42 [INFO] [stderr] Compiling generational-arena v0.2.8 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling image v0.18.0 [INFO] [stderr] Compiling lyon v0.16.2 [INFO] [stderr] Compiling rand v0.8.2 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling interpolation v0.2.0 [INFO] [stderr] Compiling float_eq v0.5.0 [INFO] [stderr] Compiling makima_spline v1.1.3 [INFO] [stderr] Compiling noise v0.6.0 [INFO] [stderr] Compiling minimp3 v0.5.0 [INFO] [stderr] Compiling rodio v0.13.0 [INFO] [stderr] Compiling bevy_audio v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_internal v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling ncollide2d v0.26.1 [INFO] [stderr] Compiling bevy v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_easings v0.3.0 [INFO] [stderr] Compiling bevy_prototype_lyon v0.1.3 (https://github.com/Nilirad/bevy_prototype_lyon.git?branch=master#a18a3050) [INFO] [stderr] Compiling rapier2d v0.4.2 [INFO] [stderr] Compiling bevy_rapier2d v0.7.0 [INFO] [stderr] Compiling bevy-thing v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the feature `bool_to_option` has been stable since 1.62.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(bool_to_option)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | for selection in selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 66 | while let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:92:44 [INFO] [stdout] | [INFO] [stdout] 92 | for (mut sprite, mut trans) in sprite_query.get_mut(*slot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 92 | while let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 92 | if let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | for item in items.get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 113 | while let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 113 | if let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 98 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 98 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 115 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 115 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:374:38 [INFO] [stdout] | [INFO] [stdout] 374 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 374 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:377:38 [INFO] [stdout] | [INFO] [stdout] 377 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 377 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 377 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:383:38 [INFO] [stdout] | [INFO] [stdout] 383 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 383 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:386:38 [INFO] [stdout] | [INFO] [stdout] 386 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 386 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 386 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:242:22 [INFO] [stdout] | [INFO] [stdout] 242 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 242 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:261:22 [INFO] [stdout] | [INFO] [stdout] 261 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 261 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 261 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | for window in windows.get_primary() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 287 | while let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 287 | if let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:288:23 [INFO] [stdout] | [INFO] [stdout] 288 | for cursor in window.cursor_position() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 288 | while let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 288 | if let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/inventory.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | for pos in self.pos(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 16 | while let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 16 | if let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:36:22 [INFO] [stdout] | [INFO] [stdout] 36 | for index in self.line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 36 | while let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 36 | if let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:37:25 [INFO] [stdout] | [INFO] [stdout] 37 | for line in self.lines.get(index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 37 | while let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 60 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 104 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 104 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/steering.rs:315:21 [INFO] [stdout] | [INFO] [stdout] 315 | for body in bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 315 | while let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:31:22 [INFO] [stdout] | [INFO] [stdout] 31 | for atlas in atlases.get_mut(handle) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 31 | while let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | for tex in textures.get(atlas.texture.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 32 | while let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 44.01s [INFO] running `Command { std: "docker" "inspect" "fda7090faa4624a42db5acfadccf0b9a4f4034a07df90b0b65ed3cb69a5696cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fda7090faa4624a42db5acfadccf0b9a4f4034a07df90b0b65ed3cb69a5696cf", kill_on_drop: false }` [INFO] [stdout] fda7090faa4624a42db5acfadccf0b9a4f4034a07df90b0b65ed3cb69a5696cf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f4fbb1ab6027c6530b55048f81548069788b485ec3c35f7bb6bc6747110e8c20 [INFO] running `Command { std: "docker" "start" "-a" "f4fbb1ab6027c6530b55048f81548069788b485ec3c35f7bb6bc6747110e8c20", kill_on_drop: false }` [INFO] [stdout] warning: the feature `bool_to_option` has been stable since 1.62.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(bool_to_option)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | for selection in selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 66 | while let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:92:44 [INFO] [stdout] | [INFO] [stdout] 92 | for (mut sprite, mut trans) in sprite_query.get_mut(*slot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 92 | while let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 92 | if let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | for item in items.get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 113 | while let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 113 | if let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 98 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 98 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 115 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 115 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:374:38 [INFO] [stdout] | [INFO] [stdout] 374 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 374 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:377:38 [INFO] [stdout] | [INFO] [stdout] 377 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 377 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 377 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:383:38 [INFO] [stdout] | [INFO] [stdout] 383 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 383 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:386:38 [INFO] [stdout] | [INFO] [stdout] 386 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 386 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 386 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:242:22 [INFO] [stdout] | [INFO] [stdout] 242 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 242 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:261:22 [INFO] [stdout] | [INFO] [stdout] 261 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 261 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 261 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | for window in windows.get_primary() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 287 | while let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 287 | if let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:288:23 [INFO] [stdout] | [INFO] [stdout] 288 | for cursor in window.cursor_position() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 288 | while let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 288 | if let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/inventory.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | for pos in self.pos(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 16 | while let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 16 | if let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:36:22 [INFO] [stdout] | [INFO] [stdout] 36 | for index in self.line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 36 | while let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 36 | if let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:37:25 [INFO] [stdout] | [INFO] [stdout] 37 | for line in self.lines.get(index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 37 | while let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 60 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 104 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 104 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/steering.rs:315:21 [INFO] [stdout] | [INFO] [stdout] 315 | for body in bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 315 | while let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:31:22 [INFO] [stdout] | [INFO] [stdout] 31 | for atlas in atlases.get_mut(handle) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 31 | while let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling bevy-thing v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | for tex in textures.get(atlas.texture.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 32 | while let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `bool_to_option` has been stable since 1.62.0 and no longer requires an attribute to enable [INFO] [stdout] --> examples/all.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(bool_to_option)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `bool_to_option` has been stable since 1.62.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(bool_to_option)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:222:21 [INFO] [stdout] | [INFO] [stdout] 222 | for name in self.current { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 222 | while let Some(name) = self.current { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 222 | if let Some(name) = self.current { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:223:25 [INFO] [stdout] | [INFO] [stdout] 223 | for anim in self.map.get(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 223 | while let Some(anim) = self.map.get(name) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 223 | if let Some(anim) = self.map.get(name) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:253:40 [INFO] [stdout] | [INFO] [stdout] 253 | for (mut trans, mut sprite) in sprite_query.get_mut(anim.target) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 253 | while let Ok((mut trans, mut sprite)) = sprite_query.get_mut(anim.target) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 253 | if let Ok((mut trans, mut sprite)) = sprite_query.get_mut(anim.target) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:354:29 [INFO] [stdout] | [INFO] [stdout] 354 | for body in bodies.get_mut(body.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 354 | while let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 354 | if let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:359:29 [INFO] [stdout] | [INFO] [stdout] 359 | for body in bodies.get_mut(body.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 359 | while let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 359 | if let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:370:37 [INFO] [stdout] | [INFO] [stdout] 370 | for item in oven_state.interact(&items) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 370 | while let Some(item) = oven_state.interact(&items) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 370 | if let Some(item) = oven_state.interact(&items) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:404:35 [INFO] [stdout] | [INFO] [stdout] 404 | for from_trans in transform_query.get(*from) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 404 | while let Ok(from_trans) = transform_query.get(*from) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 404 | if let Ok(from_trans) = transform_query.get(*from) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:415:33 [INFO] [stdout] | [INFO] [stdout] 415 | for item in items.get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 415 | while let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 415 | if let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:454:38 [INFO] [stdout] | [INFO] [stdout] 454 | for (name, mut inventory) in inventory_query.get_mut(transfer.1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 454 | while let Ok((name, mut inventory)) = inventory_query.get_mut(transfer.1) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 454 | if let Ok((name, mut inventory)) = inventory_query.get_mut(transfer.1) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:471:50 [INFO] [stdout] | [INFO] [stdout] 471 | for (name, mut inventory) in inventory_query.get_mut(transfer.2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 471 | while let Ok((name, mut inventory)) = inventory_query.get_mut(transfer.2) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 471 | if let Ok((name, mut inventory)) = inventory_query.get_mut(transfer.2) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:497:21 [INFO] [stdout] | [INFO] [stdout] 497 | for body in bodies.get_mut(body.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 497 | while let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 497 | if let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:503:26 [INFO] [stdout] | [INFO] [stdout] 503 | for x in linvel.get(0) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 503 | while let Some(x) = linvel.get(0) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 503 | if let Some(x) = linvel.get(0) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | for selection in selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 66 | while let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:92:44 [INFO] [stdout] | [INFO] [stdout] 92 | for (mut sprite, mut trans) in sprite_query.get_mut(*slot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 92 | while let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 92 | if let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | for item in items.get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 113 | while let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 113 | if let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 98 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 98 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 115 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 115 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:374:38 [INFO] [stdout] | [INFO] [stdout] 374 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 374 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:377:38 [INFO] [stdout] | [INFO] [stdout] 377 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 377 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 377 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:383:38 [INFO] [stdout] | [INFO] [stdout] 383 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 383 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:386:38 [INFO] [stdout] | [INFO] [stdout] 386 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 386 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 386 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:242:22 [INFO] [stdout] | [INFO] [stdout] 242 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 242 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:261:22 [INFO] [stdout] | [INFO] [stdout] 261 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 261 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 261 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | for window in windows.get_primary() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 287 | while let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 287 | if let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:288:23 [INFO] [stdout] | [INFO] [stdout] 288 | for cursor in window.cursor_position() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 288 | while let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 288 | if let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/inventory.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | for pos in self.pos(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 16 | while let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 16 | if let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:36:22 [INFO] [stdout] | [INFO] [stdout] 36 | for index in self.line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 36 | while let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 36 | if let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:37:25 [INFO] [stdout] | [INFO] [stdout] 37 | for line in self.lines.get(index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 37 | while let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 60 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 104 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 104 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/steering.rs:315:21 [INFO] [stdout] | [INFO] [stdout] 315 | for body in bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 315 | while let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:31:22 [INFO] [stdout] | [INFO] [stdout] 31 | for atlas in atlases.get_mut(handle) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 31 | while let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | for tex in textures.get(atlas.texture.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 32 | while let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustc1O7GeY/symbols.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.00.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.01.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.02.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.03.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.04.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.05.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.06.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.07.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.08.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.09.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.10.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.11.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.12.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.13.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.14.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.level6.1ee46f08aee0c2fa-cgu.15.rcgu.o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe.3e71a939rv2n60wn.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/opt/rustwide/target/debug/build/minimp3-sys-bed300a39ef1e617/out" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bevy-glsl-to-spirv-0.2.1/build/linux" "-L" "/opt/rustwide/target/debug/build/spirv-reflect-8d82505cd381432b/out" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libbevy_easings-3b35d74022ff0746.rlib" "/opt/rustwide/target/debug/deps/libinterpolation-9d710ff2d4fa6f5f.rlib" "/opt/rustwide/target/debug/deps/librand-9ff51fdeff7df335.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-32cd67523cf7170d.rlib" "/opt/rustwide/target/debug/deps/librand_core-8a1e50a11480943f.rlib" "/opt/rustwide/target/debug/deps/libbevy_thing-cc118f6cda8a30f7.rlib" "/opt/rustwide/target/debug/deps/libbevy_prototype_lyon-0cd3919d1eba44c8.rlib" "/opt/rustwide/target/debug/deps/liblyon-f1212f7f60289fe9.rlib" "/opt/rustwide/target/debug/deps/liblyon_tessellation-9eba7cbd1ab41595.rlib" "/opt/rustwide/target/debug/deps/liblyon_algorithms-1e4b212a06693359.rlib" "/opt/rustwide/target/debug/deps/libsid-f0ddf4f7a7bb0b31.rlib" "/opt/rustwide/target/debug/deps/liblyon_path-5a7416075474395c.rlib" "/opt/rustwide/target/debug/deps/liblyon_geom-f75653d9a8057308.rlib" "/opt/rustwide/target/debug/deps/librand-91064862339967f1.rlib" "/opt/rustwide/target/debug/deps/librand_core-9a07f976732ed2d0.rlib" "/opt/rustwide/target/debug/deps/librand_core-8bba37619bd6596e.rlib" "/opt/rustwide/target/debug/deps/libbevy_rapier2d-c58540344466a59f.rlib" "/opt/rustwide/target/debug/deps/librapier2d-d05d48cc3691dd4f.rlib" "/opt/rustwide/target/debug/deps/librustc_hash-ecab0b743b828b77.rlib" "/opt/rustwide/target/debug/deps/libncollide2d-fa4a02f027e5e83d.rlib" "/opt/rustwide/target/debug/deps/libslotmap-8e85e757ba6674ff.rlib" "/opt/rustwide/target/debug/deps/libpetgraph-d77629139fcf3a48.rlib" "/opt/rustwide/target/debug/deps/libindexmap-1a9916e187aecc3a.rlib" "/opt/rustwide/target/debug/deps/libhashbrown-9314b4f9853d4521.rlib" "/opt/rustwide/target/debug/deps/libfixedbitset-3fe553ed3b6a1f78.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam-f3227d8efd146fe5.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-95db9598ce751ef4.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-0a8212cba791f784.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_queue-8d095d275bfee393.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-8ac108183e36d4f4.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-ce3398bc5d8e3274.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-90a1859dd99392c2.rlib" "/opt/rustwide/target/debug/deps/libnalgebra-eb1ec85e9a6387d4.rlib" "/opt/rustwide/target/debug/deps/libgeneric_array-27e4d5c52adbe8f3.rlib" "/opt/rustwide/target/debug/deps/libtypenum-37e8da50dfc9f34b.rlib" "/opt/rustwide/target/debug/deps/libsimba-9b12d5216549ca8f.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-55ff228b7e4c6676.rlib" "/opt/rustwide/target/debug/deps/librand_distr-0ca154ad2b3e87c3.rlib" "/opt/rustwide/target/debug/deps/libmatrixmultiply-0c31bc10e73356ba.rlib" "/opt/rustwide/target/debug/deps/librawpointer-9a82b3d0237eca24.rlib" "/opt/rustwide/target/debug/deps/libbevy-08d90169675cff5a.rlib" "/opt/rustwide/target/debug/deps/libbevy_internal-9a6f232e95eb55f1.rlib" "/opt/rustwide/target/debug/deps/libbevy_dynamic_plugin-4ab9aebaa0c0971b.rlib" "/opt/rustwide/target/debug/deps/libbevy_wgpu-35d7007644d56b4a.rlib" "/opt/rustwide/target/debug/deps/libwgpu-823952dbb6c3eded.rlib" "/opt/rustwide/target/debug/deps/libwgpu_core-63f928facf1d97b5.rlib" "/opt/rustwide/target/debug/deps/libnaga-ca5dc28e8a124a89.rlib" "/opt/rustwide/target/debug/deps/libgfx_memory-2a8f82ad4c261de0.rlib" "/opt/rustwide/target/debug/deps/libbit_set-e4e11a20a5c2173a.rlib" "/opt/rustwide/target/debug/deps/libbit_vec-2a7a3301ea676754.rlib" "/opt/rustwide/target/debug/deps/libcopyless-a7d33c76ef5aa396.rlib" "/opt/rustwide/target/debug/deps/libwgpu_types-bc52a2a5d9541c5b.rlib" "/opt/rustwide/target/debug/deps/libgfx_descriptor-822819656d45a5bd.rlib" "/opt/rustwide/target/debug/deps/libgfx_backend_vulkan-da122bb9814f57f8.rlib" "/opt/rustwide/target/debug/deps/libinplace_it-fddbf0757bf488a7.rlib" "/opt/rustwide/target/debug/deps/libash-111159677a8d9576.rlib" "/opt/rustwide/target/debug/deps/liblibloading-b4a84f6e77fbbcd7.rlib" "/opt/rustwide/target/debug/deps/libgfx_backend_empty-a1dfd903bbe0218f.rlib" "/opt/rustwide/target/debug/deps/libgfx_hal-e0d43d5742976826.rlib" "/opt/rustwide/target/debug/deps/libtyped_arena-e01857d719dac7cd.rlib" "/opt/rustwide/target/debug/deps/libfutures-468722ce3f35466c.rlib" "/opt/rustwide/target/debug/deps/libfutures_executor-c55f7347baf0fddf.rlib" "/opt/rustwide/target/debug/deps/libfutures_util-079b28c00517a27b.rlib" "/opt/rustwide/target/debug/deps/libfutures_channel-39fa91cddb948250.rlib" "/opt/rustwide/target/debug/deps/libpin_project-f290e44d6ea59af2.rlib" "/opt/rustwide/target/debug/deps/libfutures_sink-c39139dbed95cdb4.rlib" "/opt/rustwide/target/debug/deps/libfutures_task-2a01d6d0c19671a1.rlib" "/opt/rustwide/target/debug/deps/libpin_utils-339fc95f834a67dc.rlib" "/opt/rustwide/target/debug/deps/libarrayvec-809046b8863f9430.rlib" "/opt/rustwide/target/debug/deps/libbevy_winit-8412a3b2d05922ed.rlib" "/opt/rustwide/target/debug/deps/libwinit-7630c14c01843aed.rlib" "/opt/rustwide/target/debug/deps/libx11_dl-6184ba6282aec53a.rlib" "/opt/rustwide/target/debug/deps/libpercent_encoding-cd7356c23e34a112.rlib" "/opt/rustwide/target/debug/deps/libraw_window_handle-81a8129391c2b51c.rlib" "/opt/rustwide/target/debug/deps/libbevy_ui-ea54b507c8f76f0c.rlib" "/opt/rustwide/target/debug/deps/libstretch-67930779c87522ef.rlib" "/opt/rustwide/target/debug/deps/libbevy_text-27ab5b295eaa42f4.rlib" "/opt/rustwide/target/debug/deps/libglyph_brush_layout-2c8d089085e10f6c.rlib" "/opt/rustwide/target/debug/deps/libxi_unicode-b2957e96bdab2f3f.rlib" "/opt/rustwide/target/debug/deps/libapprox-dc0773d6ff58cfb7.rlib" "/opt/rustwide/target/debug/deps/libab_glyph-610aea20577b5aeb.rlib" "/opt/rustwide/target/debug/deps/libowned_ttf_parser-d73750f66a21d9e3.rlib" "/opt/rustwide/target/debug/deps/libttf_parser-46bafe8cf5f9ba5e.rlib" "/opt/rustwide/target/debug/deps/libab_glyph_rasterizer-cee05ae636f7771f.rlib" "/opt/rustwide/target/debug/deps/libbevy_sprite-f40340294ef9b358.rlib" "/opt/rustwide/target/debug/deps/librectangle_pack-dd42244410332918.rlib" "/opt/rustwide/target/debug/deps/libguillotiere-7e2a9e22b1b033aa.rlib" "/opt/rustwide/target/debug/deps/libsvg_fmt-94a36c6ead0736dc.rlib" "/opt/rustwide/target/debug/deps/libeuclid-fabab0f99471fb11.rlib" "/opt/rustwide/target/debug/deps/libbevy_gltf-8c60fc315eafc473.rlib" "/opt/rustwide/target/debug/deps/libbase64-70ad20caa2b11358.rlib" "/opt/rustwide/target/debug/deps/libgltf-d41284bb75af0d3f.rlib" "/opt/rustwide/target/debug/deps/libgltf_json-90f609bcff7d60b5.rlib" "/opt/rustwide/target/debug/deps/libbevy_pbr-4020c3f361dfa13f.rlib" "/opt/rustwide/target/debug/deps/libbevy_render-2d584c97e4e8d067.rlib" "/opt/rustwide/target/debug/deps/libimage-114f4bdb3380c8f0.rlib" "/opt/rustwide/target/debug/deps/libcolor_quant-069bd5753da0854f.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-cac44014fc01bfc6.rlib" "/opt/rustwide/target/debug/deps/libbytemuck-1598cee03a0c39f4.rlib" "/opt/rustwide/target/debug/deps/libpng-821cf09dd1005305.rlib" "/opt/rustwide/target/debug/deps/libminiz_oxide-f77ea18dd3c8d41f.rlib" "/opt/rustwide/target/debug/deps/libcrc32fast-0f13e5f5013c6eb1.rlib" "/opt/rustwide/target/debug/deps/libdeflate-21bd6834d3e31d59.rlib" "/opt/rustwide/target/debug/deps/libadler32-99ddde7e6e69d6c1.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-5a746e88db970b37.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-e359c412442bd609.rlib" "/opt/rustwide/target/debug/deps/libbevy_glsl_to_spirv-f0add3308ce1ebe2.rlib" "/opt/rustwide/target/debug/deps/libhex-1b8732bec7769cf2.rlib" "/opt/rustwide/target/debug/deps/libspirv_reflect-49a39813d7c8b35f.rlib" "/opt/rustwide/target/debug/deps/libspirv_headers-72aa3811117b457c.rlib" "/opt/rustwide/target/debug/deps/libhexasphere-659fcd76cdc87f44.rlib" "/opt/rustwide/target/debug/deps/libbevy_gilrs-90bb701eb4bfcb20.rlib" "/opt/rustwide/target/debug/deps/libgilrs-c8c1eb2385bfe23b.rlib" "/opt/rustwide/target/debug/deps/libfnv-574dedeaa4c89e1d.rlib" "/opt/rustwide/target/debug/deps/libgilrs_core-c91167626f4323ae.rlib" "/opt/rustwide/target/debug/deps/liblibudev_sys-803e09ee69d49883.rlib" "/opt/rustwide/target/debug/deps/libnix-49a4f89b3e66091c.rlib" "/opt/rustwide/target/debug/deps/libvec_map-fc342719877893b6.rlib" "/opt/rustwide/target/debug/deps/libbevy_audio-4e04f384bc5bad8c.rlib" "/opt/rustwide/target/debug/deps/librodio-4464fed6f465f219.rlib" "/opt/rustwide/target/debug/deps/libminimp3-73ae2df49b9f8341.rlib" "/opt/rustwide/target/debug/deps/libslice_deque-057ccbfde9cc56ca.rlib" "/opt/rustwide/target/debug/deps/libminimp3_sys-2eb4d79246a9801f.rlib" "/opt/rustwide/target/debug/deps/libcpal-ade2fedd1750e308.rlib" "/opt/rustwide/target/debug/deps/libalsa-dc21720fe3e44e08.rlib" "/opt/rustwide/target/debug/deps/libnix-6b6f1f7358415f1b.rlib" "/opt/rustwide/target/debug/deps/libvoid-6ec24f4dc2b90f33.rlib" "/opt/rustwide/target/debug/deps/libalsa_sys-c48e1400bcf4f177.rlib" "/opt/rustwide/target/debug/deps/libbevy_window-b8f0866a4931ea22.rlib" "/opt/rustwide/target/debug/deps/libbevy_scene-b777188fb42fe466.rlib" "/opt/rustwide/target/debug/deps/libron-66fbb500fa7a4ee4.rlib" "/opt/rustwide/target/debug/deps/libbase64-adbd1c8fc04e1957.rlib" "/opt/rustwide/target/debug/deps/libbevy_transform-97eb15ecf621a40a.rlib" "/opt/rustwide/target/debug/deps/libbevy_input-32b2302a890b90f4.rlib" "/opt/rustwide/target/debug/deps/libbevy_asset-3130b33a7fcda96d.rlib" "/opt/rustwide/target/debug/deps/libnotify-9c22a773716fbe33.rlib" "/opt/rustwide/target/debug/deps/libmio_extras-4e253fcc6db24d88.rlib" "/opt/rustwide/target/debug/deps/liblazycell-c2a1b2911705803e.rlib" "/opt/rustwide/target/debug/deps/libmio-dc62d04edbbb0276.rlib" "/opt/rustwide/target/debug/deps/libslab-b2f2c2b52e54ee9b.rlib" "/opt/rustwide/target/debug/deps/libiovec-2645e805cacad11f.rlib" "/opt/rustwide/target/debug/deps/libnet2-950de1b2cb00da4e.rlib" "/opt/rustwide/target/debug/deps/libfiletime-2a0c1d17d7b89c0c.rlib" "/opt/rustwide/target/debug/deps/libanymap-a72119b6be40a66f.rlib" "/opt/rustwide/target/debug/deps/libwalkdir-82c8d3516fd0d2cf.rlib" "/opt/rustwide/target/debug/deps/libsame_file-bb2433c6426284ba.rlib" "/opt/rustwide/target/debug/deps/libinotify-c7a752cccf4d14aa.rlib" "/opt/rustwide/target/debug/deps/libinotify_sys-f58693e00b68c33b.rlib" "/opt/rustwide/target/debug/deps/libbevy_diagnostic-ec9fc3dd348967b1.rlib" "/opt/rustwide/target/debug/deps/libbevy_log-d86a2fe4b0a158f3.rlib" "/opt/rustwide/target/debug/deps/libtracing_subscriber-15851b10f21dae85.rlib" "/opt/rustwide/target/debug/deps/libchrono-3151647512299c72.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-d169db5ad3119943.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-75e6a8cf0cdadf3f.rlib" "/opt/rustwide/target/debug/deps/libtime-1248a45e87949352.rlib" "/opt/rustwide/target/debug/deps/libsharded_slab-477fd7f930df0cc4.rlib" "/opt/rustwide/target/debug/deps/libtracing_serde-dccb28bca4e88018.rlib" "/opt/rustwide/target/debug/deps/libserde_json-5645f9ef5b36f814.rlib" "/opt/rustwide/target/debug/deps/libryu-a9d03167471ca5ef.rlib" "/opt/rustwide/target/debug/deps/libitoa-0559c56f4d0657ee.rlib" "/opt/rustwide/target/debug/deps/libtracing_log-5ef2eae2e482e383.rlib" "/opt/rustwide/target/debug/deps/liblog-e9c46bed2ce39adb.rlib" "/opt/rustwide/target/debug/deps/libansi_term-bb169c4f46faf8a6.rlib" "/opt/rustwide/target/debug/deps/libmatchers-7bfe36a7806428fc.rlib" "/opt/rustwide/target/debug/deps/libregex_automata-2f6ebdd1841a0cab.rlib" "/opt/rustwide/target/debug/deps/libregex-904132196b3f13f1.rlib" "/opt/rustwide/target/debug/deps/libthread_local-f761b244993cf29a.rlib" "/opt/rustwide/target/debug/deps/libregex_syntax-8557b7c2160b49b7.rlib" "/opt/rustwide/target/debug/deps/libaho_corasick-638f73e68de51540.rlib" "/opt/rustwide/target/debug/deps/libbevy_core-1d762a97c96b242e.rlib" "/opt/rustwide/target/debug/deps/libbevy_math-87d305d0fc2239ee.rlib" "/opt/rustwide/target/debug/deps/libbevy_reflect-56753ddb429f98a9.rlib" "/opt/rustwide/target/debug/deps/liberased_serde-80893aeae2c376d1.rlib" "/opt/rustwide/target/debug/deps/libglam-d47dbf5cf7d9f134.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-7a5045041d927584.rlib" "/opt/rustwide/target/debug/deps/libmaybe_uninit-ffb7fb957bd0dd89.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-5b4fca3a9d704fa0.rlib" "/opt/rustwide/target/debug/deps/libanyhow-3fd958bb6cbce137.rlib" "/opt/rustwide/target/debug/deps/libbevy_app-1293ffab7f6cde5c.rlib" "/opt/rustwide/target/debug/deps/libbevy_ecs-ebcb20ec9bb1eba7.rlib" "/opt/rustwide/target/debug/deps/libfxhash-b38e8bd256221bb9.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-c69c557766a6b69d.rlib" "/opt/rustwide/target/debug/deps/libparking_lot-c9f398f60eabe99b.rlib" "/opt/rustwide/target/debug/deps/libparking_lot_core-e1895480bf782fea.rlib" "/opt/rustwide/target/debug/deps/libsmallvec-9b5a8f280be9ea75.rlib" "/opt/rustwide/target/debug/deps/liblock_api-92c13e2ecd9f6fe7.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-6ebe5b14c8a6c2d8.rlib" "/opt/rustwide/target/debug/deps/libfixedbitset-1b261e8d59681761.rlib" "/opt/rustwide/target/debug/deps/libbevy_tasks-b3ab19039749f399.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-6f3299100f724e86.rlib" "/opt/rustwide/target/debug/deps/libasync_channel-f1e8d2b691e4cc08.rlib" "/opt/rustwide/target/debug/deps/libasync_executor-007c1be61d13183a.rlib" "/opt/rustwide/target/debug/deps/libonce_cell-c1eee42eaeeba0e7.rlib" "/opt/rustwide/target/debug/deps/libvec_arena-4b1ca12ae8c63128.rlib" "/opt/rustwide/target/debug/deps/libconcurrent_queue-522055c6c106e494.rlib" "/opt/rustwide/target/debug/deps/libcache_padded-65d0bef863774aa2.rlib" "/opt/rustwide/target/debug/deps/libasync_task-12fd8617aedcf494.rlib" "/opt/rustwide/target/debug/deps/libevent_listener-afe8e4ab7c83fa5e.rlib" "/opt/rustwide/target/debug/deps/libfutures_lite-8424ff4d67dcdd27.rlib" "/opt/rustwide/target/debug/deps/libmemchr-eda4c84da0086cab.rlib" "/opt/rustwide/target/debug/deps/libfastrand-99321ff2ef31a4c7.rlib" "/opt/rustwide/target/debug/deps/libfutures_io-d31e0c1528d7e415.rlib" "/opt/rustwide/target/debug/deps/libfutures_core-3d098f9d72de9db6.rlib" "/opt/rustwide/target/debug/deps/libwaker_fn-316594b94716acb3.rlib" "/opt/rustwide/target/debug/deps/libparking-5d347c5922689b59.rlib" "/opt/rustwide/target/debug/deps/libpin_project_lite-cecfebad06343f07.rlib" "/opt/rustwide/target/debug/deps/libdowncast_rs-5777906e3d50784e.rlib" "/opt/rustwide/target/debug/deps/libthiserror-f7e3d1554831874b.rlib" "/opt/rustwide/target/debug/deps/libbitflags-b8f2fcfec265dfb2.rlib" "/opt/rustwide/target/debug/deps/libbevy_utils-aab4e67aadcde588.rlib" "/opt/rustwide/target/debug/deps/libuuid-e566e0c51eae9f3b.rlib" "/opt/rustwide/target/debug/deps/librand-69b81bfc404bb772.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-1bd6e5a79a553a0e.rlib" "/opt/rustwide/target/debug/deps/libppv_lite86-a9b36edfe4d694a8.rlib" "/opt/rustwide/target/debug/deps/librand_core-c93461351d398fda.rlib" "/opt/rustwide/target/debug/deps/libgetrandom-ddfb5c4a0b73fd09.rlib" "/opt/rustwide/target/debug/deps/libserde-05bc445219e970a6.rlib" "/opt/rustwide/target/debug/deps/libtracing-982fa5abab4a0345.rlib" "/opt/rustwide/target/debug/deps/libpin_project_lite-72d0da2deae731cb.rlib" "/opt/rustwide/target/debug/deps/libtracing_core-b081e70f2a952fc6.rlib" "/opt/rustwide/target/debug/deps/libinstant-fbf326b0129b64d6.rlib" "/opt/rustwide/target/debug/deps/libtime-e198b1f3d411f2b6.rlib" "/opt/rustwide/target/debug/deps/libtime_macros-19d766a1edc9d66d.rlib" "/opt/rustwide/target/debug/deps/libstandback-ff6ca6a80ad0f391.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-0128a598f57c42f0.rlib" "/opt/rustwide/target/debug/deps/libahash-72fcdd7f2d8a57ab.rlib" "/opt/rustwide/target/debug/deps/libgetrandom-a22ec8a33debd644.rlib" "/opt/rustwide/target/debug/deps/liblibc-075e6e9932aecf03.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-c6e6d9912bc66f08.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-b82c15677deef9e2.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-72b35984a787fb54.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-0fdedff926cd8b5a.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-fe0525e327a5464a.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-795b2243f06bd098.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-86ce554ff6ad08cd.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-1be635a4727d8e5e.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-1e55d89766af9c5f.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-02605c7065574d0d.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-0d17ba1067febc2c.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-2408fbe38b247900.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-b3c63e8997fdca47.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-bfa7a39ebb77d49a.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-4b955078cf51c0a1.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-1a6fbee0083900be.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-2b93db426c5a26c2.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-b30975e2b876cf32.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-cd2f2bc505f56f50.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-ec02dd343723da85.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-408115ade0360d2a.rlib" "-Wl,-Bdynamic" "-ldl" "-ldl" "-lglslang.glsltospirv" "-lHLSL.glsltospirv" "-lOGLCompiler.glsltospirv" "-lOSDependent.glsltospirv" "-lSPIRV.glsltospirv" "-lSPVRemapper.glsltospirv" "-lSPIRV-Tools-opt.glsltospirv" "-lSPIRV-Tools.glsltospirv" "-lstdc++" "-ludev" "-lasound" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/examples/level6-1e6927722be8e2fe" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" [INFO] [stdout] = note: collect2: fatal error: ld terminated with signal 9 [Killed] [INFO] [stdout] compilation terminated. [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bevy-thing` (example "level6") due to 2 previous errors; 12 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcRxz2jE/symbols.o" "/opt/rustwide/target/debug/examples/all-5f23d4f2005ef66b.all.65cba9eb4ff509f-cgu.0.rcgu.o" "/opt/rustwide/target/debug/examples/all-5f23d4f2005ef66b.4c40zq75tdq7dm9l.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/opt/rustwide/target/debug/build/minimp3-sys-bed300a39ef1e617/out" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bevy-glsl-to-spirv-0.2.1/build/linux" "-L" "/opt/rustwide/target/debug/build/spirv-reflect-8d82505cd381432b/out" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libbevy_thing-cc118f6cda8a30f7.rlib" "/opt/rustwide/target/debug/deps/libbevy_prototype_lyon-0cd3919d1eba44c8.rlib" "/opt/rustwide/target/debug/deps/liblyon-f1212f7f60289fe9.rlib" "/opt/rustwide/target/debug/deps/liblyon_tessellation-9eba7cbd1ab41595.rlib" "/opt/rustwide/target/debug/deps/liblyon_algorithms-1e4b212a06693359.rlib" "/opt/rustwide/target/debug/deps/libsid-f0ddf4f7a7bb0b31.rlib" "/opt/rustwide/target/debug/deps/liblyon_path-5a7416075474395c.rlib" "/opt/rustwide/target/debug/deps/liblyon_geom-f75653d9a8057308.rlib" "/opt/rustwide/target/debug/deps/librand-91064862339967f1.rlib" "/opt/rustwide/target/debug/deps/librand_core-9a07f976732ed2d0.rlib" "/opt/rustwide/target/debug/deps/librand_core-8bba37619bd6596e.rlib" "/opt/rustwide/target/debug/deps/libbevy_rapier2d-c58540344466a59f.rlib" "/opt/rustwide/target/debug/deps/librapier2d-d05d48cc3691dd4f.rlib" "/opt/rustwide/target/debug/deps/librustc_hash-ecab0b743b828b77.rlib" "/opt/rustwide/target/debug/deps/libncollide2d-fa4a02f027e5e83d.rlib" "/opt/rustwide/target/debug/deps/libslotmap-8e85e757ba6674ff.rlib" "/opt/rustwide/target/debug/deps/libpetgraph-d77629139fcf3a48.rlib" "/opt/rustwide/target/debug/deps/libindexmap-1a9916e187aecc3a.rlib" "/opt/rustwide/target/debug/deps/libhashbrown-9314b4f9853d4521.rlib" "/opt/rustwide/target/debug/deps/libfixedbitset-3fe553ed3b6a1f78.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam-f3227d8efd146fe5.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-95db9598ce751ef4.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-0a8212cba791f784.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_queue-8d095d275bfee393.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-8ac108183e36d4f4.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-ce3398bc5d8e3274.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-90a1859dd99392c2.rlib" "/opt/rustwide/target/debug/deps/libnalgebra-eb1ec85e9a6387d4.rlib" "/opt/rustwide/target/debug/deps/libgeneric_array-27e4d5c52adbe8f3.rlib" "/opt/rustwide/target/debug/deps/libtypenum-37e8da50dfc9f34b.rlib" "/opt/rustwide/target/debug/deps/libsimba-9b12d5216549ca8f.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-55ff228b7e4c6676.rlib" "/opt/rustwide/target/debug/deps/librand_distr-0ca154ad2b3e87c3.rlib" "/opt/rustwide/target/debug/deps/libmatrixmultiply-0c31bc10e73356ba.rlib" "/opt/rustwide/target/debug/deps/librawpointer-9a82b3d0237eca24.rlib" "/opt/rustwide/target/debug/deps/libbevy-08d90169675cff5a.rlib" "/opt/rustwide/target/debug/deps/libbevy_internal-9a6f232e95eb55f1.rlib" "/opt/rustwide/target/debug/deps/libbevy_dynamic_plugin-4ab9aebaa0c0971b.rlib" "/opt/rustwide/target/debug/deps/libbevy_wgpu-35d7007644d56b4a.rlib" "/opt/rustwide/target/debug/deps/libwgpu-823952dbb6c3eded.rlib" "/opt/rustwide/target/debug/deps/libwgpu_core-63f928facf1d97b5.rlib" "/opt/rustwide/target/debug/deps/libnaga-ca5dc28e8a124a89.rlib" "/opt/rustwide/target/debug/deps/libgfx_memory-2a8f82ad4c261de0.rlib" "/opt/rustwide/target/debug/deps/libbit_set-e4e11a20a5c2173a.rlib" "/opt/rustwide/target/debug/deps/libbit_vec-2a7a3301ea676754.rlib" "/opt/rustwide/target/debug/deps/libcopyless-a7d33c76ef5aa396.rlib" "/opt/rustwide/target/debug/deps/libwgpu_types-bc52a2a5d9541c5b.rlib" "/opt/rustwide/target/debug/deps/libgfx_descriptor-822819656d45a5bd.rlib" "/opt/rustwide/target/debug/deps/libgfx_backend_vulkan-da122bb9814f57f8.rlib" "/opt/rustwide/target/debug/deps/libinplace_it-fddbf0757bf488a7.rlib" "/opt/rustwide/target/debug/deps/libash-111159677a8d9576.rlib" "/opt/rustwide/target/debug/deps/liblibloading-b4a84f6e77fbbcd7.rlib" "/opt/rustwide/target/debug/deps/libgfx_backend_empty-a1dfd903bbe0218f.rlib" "/opt/rustwide/target/debug/deps/libgfx_hal-e0d43d5742976826.rlib" "/opt/rustwide/target/debug/deps/libtyped_arena-e01857d719dac7cd.rlib" "/opt/rustwide/target/debug/deps/libfutures-468722ce3f35466c.rlib" "/opt/rustwide/target/debug/deps/libfutures_executor-c55f7347baf0fddf.rlib" "/opt/rustwide/target/debug/deps/libfutures_util-079b28c00517a27b.rlib" "/opt/rustwide/target/debug/deps/libfutures_channel-39fa91cddb948250.rlib" "/opt/rustwide/target/debug/deps/libpin_project-f290e44d6ea59af2.rlib" "/opt/rustwide/target/debug/deps/libfutures_sink-c39139dbed95cdb4.rlib" "/opt/rustwide/target/debug/deps/libfutures_task-2a01d6d0c19671a1.rlib" "/opt/rustwide/target/debug/deps/libpin_utils-339fc95f834a67dc.rlib" "/opt/rustwide/target/debug/deps/libarrayvec-809046b8863f9430.rlib" "/opt/rustwide/target/debug/deps/libbevy_winit-8412a3b2d05922ed.rlib" "/opt/rustwide/target/debug/deps/libwinit-7630c14c01843aed.rlib" "/opt/rustwide/target/debug/deps/libx11_dl-6184ba6282aec53a.rlib" "/opt/rustwide/target/debug/deps/libpercent_encoding-cd7356c23e34a112.rlib" "/opt/rustwide/target/debug/deps/libraw_window_handle-81a8129391c2b51c.rlib" "/opt/rustwide/target/debug/deps/libbevy_ui-ea54b507c8f76f0c.rlib" "/opt/rustwide/target/debug/deps/libstretch-67930779c87522ef.rlib" "/opt/rustwide/target/debug/deps/libbevy_text-27ab5b295eaa42f4.rlib" "/opt/rustwide/target/debug/deps/libglyph_brush_layout-2c8d089085e10f6c.rlib" "/opt/rustwide/target/debug/deps/libxi_unicode-b2957e96bdab2f3f.rlib" "/opt/rustwide/target/debug/deps/libapprox-dc0773d6ff58cfb7.rlib" "/opt/rustwide/target/debug/deps/libab_glyph-610aea20577b5aeb.rlib" "/opt/rustwide/target/debug/deps/libowned_ttf_parser-d73750f66a21d9e3.rlib" "/opt/rustwide/target/debug/deps/libttf_parser-46bafe8cf5f9ba5e.rlib" "/opt/rustwide/target/debug/deps/libab_glyph_rasterizer-cee05ae636f7771f.rlib" "/opt/rustwide/target/debug/deps/libbevy_sprite-f40340294ef9b358.rlib" "/opt/rustwide/target/debug/deps/librectangle_pack-dd42244410332918.rlib" "/opt/rustwide/target/debug/deps/libguillotiere-7e2a9e22b1b033aa.rlib" "/opt/rustwide/target/debug/deps/libsvg_fmt-94a36c6ead0736dc.rlib" "/opt/rustwide/target/debug/deps/libeuclid-fabab0f99471fb11.rlib" "/opt/rustwide/target/debug/deps/libbevy_gltf-8c60fc315eafc473.rlib" "/opt/rustwide/target/debug/deps/libbase64-70ad20caa2b11358.rlib" "/opt/rustwide/target/debug/deps/libgltf-d41284bb75af0d3f.rlib" "/opt/rustwide/target/debug/deps/libgltf_json-90f609bcff7d60b5.rlib" "/opt/rustwide/target/debug/deps/libbevy_pbr-4020c3f361dfa13f.rlib" "/opt/rustwide/target/debug/deps/libbevy_render-2d584c97e4e8d067.rlib" "/opt/rustwide/target/debug/deps/libimage-114f4bdb3380c8f0.rlib" "/opt/rustwide/target/debug/deps/libcolor_quant-069bd5753da0854f.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-cac44014fc01bfc6.rlib" "/opt/rustwide/target/debug/deps/libbytemuck-1598cee03a0c39f4.rlib" "/opt/rustwide/target/debug/deps/libpng-821cf09dd1005305.rlib" "/opt/rustwide/target/debug/deps/libminiz_oxide-f77ea18dd3c8d41f.rlib" "/opt/rustwide/target/debug/deps/libcrc32fast-0f13e5f5013c6eb1.rlib" "/opt/rustwide/target/debug/deps/libdeflate-21bd6834d3e31d59.rlib" "/opt/rustwide/target/debug/deps/libadler32-99ddde7e6e69d6c1.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-5a746e88db970b37.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-e359c412442bd609.rlib" "/opt/rustwide/target/debug/deps/libbevy_glsl_to_spirv-f0add3308ce1ebe2.rlib" "/opt/rustwide/target/debug/deps/libhex-1b8732bec7769cf2.rlib" "/opt/rustwide/target/debug/deps/libspirv_reflect-49a39813d7c8b35f.rlib" "/opt/rustwide/target/debug/deps/libspirv_headers-72aa3811117b457c.rlib" "/opt/rustwide/target/debug/deps/libhexasphere-659fcd76cdc87f44.rlib" "/opt/rustwide/target/debug/deps/libbevy_gilrs-90bb701eb4bfcb20.rlib" "/opt/rustwide/target/debug/deps/libgilrs-c8c1eb2385bfe23b.rlib" "/opt/rustwide/target/debug/deps/libfnv-574dedeaa4c89e1d.rlib" "/opt/rustwide/target/debug/deps/libgilrs_core-c91167626f4323ae.rlib" "/opt/rustwide/target/debug/deps/liblibudev_sys-803e09ee69d49883.rlib" "/opt/rustwide/target/debug/deps/libnix-49a4f89b3e66091c.rlib" "/opt/rustwide/target/debug/deps/libvec_map-fc342719877893b6.rlib" "/opt/rustwide/target/debug/deps/libbevy_audio-4e04f384bc5bad8c.rlib" "/opt/rustwide/target/debug/deps/librodio-4464fed6f465f219.rlib" "/opt/rustwide/target/debug/deps/libminimp3-73ae2df49b9f8341.rlib" "/opt/rustwide/target/debug/deps/libslice_deque-057ccbfde9cc56ca.rlib" "/opt/rustwide/target/debug/deps/libminimp3_sys-2eb4d79246a9801f.rlib" "/opt/rustwide/target/debug/deps/libcpal-ade2fedd1750e308.rlib" "/opt/rustwide/target/debug/deps/libalsa-dc21720fe3e44e08.rlib" "/opt/rustwide/target/debug/deps/libnix-6b6f1f7358415f1b.rlib" "/opt/rustwide/target/debug/deps/libvoid-6ec24f4dc2b90f33.rlib" "/opt/rustwide/target/debug/deps/libalsa_sys-c48e1400bcf4f177.rlib" "/opt/rustwide/target/debug/deps/libbevy_window-b8f0866a4931ea22.rlib" "/opt/rustwide/target/debug/deps/libbevy_scene-b777188fb42fe466.rlib" "/opt/rustwide/target/debug/deps/libron-66fbb500fa7a4ee4.rlib" "/opt/rustwide/target/debug/deps/libbase64-adbd1c8fc04e1957.rlib" "/opt/rustwide/target/debug/deps/libbevy_transform-97eb15ecf621a40a.rlib" "/opt/rustwide/target/debug/deps/libbevy_input-32b2302a890b90f4.rlib" "/opt/rustwide/target/debug/deps/libbevy_asset-3130b33a7fcda96d.rlib" "/opt/rustwide/target/debug/deps/libnotify-9c22a773716fbe33.rlib" "/opt/rustwide/target/debug/deps/libmio_extras-4e253fcc6db24d88.rlib" "/opt/rustwide/target/debug/deps/liblazycell-c2a1b2911705803e.rlib" "/opt/rustwide/target/debug/deps/libmio-dc62d04edbbb0276.rlib" "/opt/rustwide/target/debug/deps/libslab-b2f2c2b52e54ee9b.rlib" "/opt/rustwide/target/debug/deps/libiovec-2645e805cacad11f.rlib" "/opt/rustwide/target/debug/deps/libnet2-950de1b2cb00da4e.rlib" "/opt/rustwide/target/debug/deps/libfiletime-2a0c1d17d7b89c0c.rlib" "/opt/rustwide/target/debug/deps/libanymap-a72119b6be40a66f.rlib" "/opt/rustwide/target/debug/deps/libwalkdir-82c8d3516fd0d2cf.rlib" "/opt/rustwide/target/debug/deps/libsame_file-bb2433c6426284ba.rlib" "/opt/rustwide/target/debug/deps/libinotify-c7a752cccf4d14aa.rlib" "/opt/rustwide/target/debug/deps/libinotify_sys-f58693e00b68c33b.rlib" "/opt/rustwide/target/debug/deps/libbevy_diagnostic-ec9fc3dd348967b1.rlib" "/opt/rustwide/target/debug/deps/libbevy_log-d86a2fe4b0a158f3.rlib" "/opt/rustwide/target/debug/deps/libtracing_subscriber-15851b10f21dae85.rlib" "/opt/rustwide/target/debug/deps/libchrono-3151647512299c72.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-d169db5ad3119943.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-75e6a8cf0cdadf3f.rlib" "/opt/rustwide/target/debug/deps/libtime-1248a45e87949352.rlib" "/opt/rustwide/target/debug/deps/libsharded_slab-477fd7f930df0cc4.rlib" "/opt/rustwide/target/debug/deps/libtracing_serde-dccb28bca4e88018.rlib" "/opt/rustwide/target/debug/deps/libserde_json-5645f9ef5b36f814.rlib" "/opt/rustwide/target/debug/deps/libryu-a9d03167471ca5ef.rlib" "/opt/rustwide/target/debug/deps/libitoa-0559c56f4d0657ee.rlib" "/opt/rustwide/target/debug/deps/libtracing_log-5ef2eae2e482e383.rlib" "/opt/rustwide/target/debug/deps/liblog-e9c46bed2ce39adb.rlib" "/opt/rustwide/target/debug/deps/libansi_term-bb169c4f46faf8a6.rlib" "/opt/rustwide/target/debug/deps/libmatchers-7bfe36a7806428fc.rlib" "/opt/rustwide/target/debug/deps/libregex_automata-2f6ebdd1841a0cab.rlib" "/opt/rustwide/target/debug/deps/libregex-904132196b3f13f1.rlib" "/opt/rustwide/target/debug/deps/libthread_local-f761b244993cf29a.rlib" "/opt/rustwide/target/debug/deps/libregex_syntax-8557b7c2160b49b7.rlib" "/opt/rustwide/target/debug/deps/libaho_corasick-638f73e68de51540.rlib" "/opt/rustwide/target/debug/deps/libbevy_core-1d762a97c96b242e.rlib" "/opt/rustwide/target/debug/deps/libbevy_math-87d305d0fc2239ee.rlib" "/opt/rustwide/target/debug/deps/libbevy_reflect-56753ddb429f98a9.rlib" "/opt/rustwide/target/debug/deps/liberased_serde-80893aeae2c376d1.rlib" "/opt/rustwide/target/debug/deps/libglam-d47dbf5cf7d9f134.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-7a5045041d927584.rlib" "/opt/rustwide/target/debug/deps/libmaybe_uninit-ffb7fb957bd0dd89.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-5b4fca3a9d704fa0.rlib" "/opt/rustwide/target/debug/deps/libanyhow-3fd958bb6cbce137.rlib" "/opt/rustwide/target/debug/deps/libbevy_app-1293ffab7f6cde5c.rlib" "/opt/rustwide/target/debug/deps/libbevy_ecs-ebcb20ec9bb1eba7.rlib" "/opt/rustwide/target/debug/deps/libfxhash-b38e8bd256221bb9.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-c69c557766a6b69d.rlib" "/opt/rustwide/target/debug/deps/libparking_lot-c9f398f60eabe99b.rlib" "/opt/rustwide/target/debug/deps/libparking_lot_core-e1895480bf782fea.rlib" "/opt/rustwide/target/debug/deps/libsmallvec-9b5a8f280be9ea75.rlib" "/opt/rustwide/target/debug/deps/liblock_api-92c13e2ecd9f6fe7.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-6ebe5b14c8a6c2d8.rlib" "/opt/rustwide/target/debug/deps/libfixedbitset-1b261e8d59681761.rlib" "/opt/rustwide/target/debug/deps/libbevy_tasks-b3ab19039749f399.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-6f3299100f724e86.rlib" "/opt/rustwide/target/debug/deps/libasync_channel-f1e8d2b691e4cc08.rlib" "/opt/rustwide/target/debug/deps/libasync_executor-007c1be61d13183a.rlib" "/opt/rustwide/target/debug/deps/libonce_cell-c1eee42eaeeba0e7.rlib" "/opt/rustwide/target/debug/deps/libvec_arena-4b1ca12ae8c63128.rlib" "/opt/rustwide/target/debug/deps/libconcurrent_queue-522055c6c106e494.rlib" "/opt/rustwide/target/debug/deps/libcache_padded-65d0bef863774aa2.rlib" "/opt/rustwide/target/debug/deps/libasync_task-12fd8617aedcf494.rlib" "/opt/rustwide/target/debug/deps/libevent_listener-afe8e4ab7c83fa5e.rlib" "/opt/rustwide/target/debug/deps/libfutures_lite-8424ff4d67dcdd27.rlib" "/opt/rustwide/target/debug/deps/libmemchr-eda4c84da0086cab.rlib" "/opt/rustwide/target/debug/deps/libfastrand-99321ff2ef31a4c7.rlib" "/opt/rustwide/target/debug/deps/libfutures_io-d31e0c1528d7e415.rlib" "/opt/rustwide/target/debug/deps/libfutures_core-3d098f9d72de9db6.rlib" "/opt/rustwide/target/debug/deps/libwaker_fn-316594b94716acb3.rlib" "/opt/rustwide/target/debug/deps/libparking-5d347c5922689b59.rlib" "/opt/rustwide/target/debug/deps/libpin_project_lite-cecfebad06343f07.rlib" "/opt/rustwide/target/debug/deps/libdowncast_rs-5777906e3d50784e.rlib" "/opt/rustwide/target/debug/deps/libthiserror-f7e3d1554831874b.rlib" "/opt/rustwide/target/debug/deps/libbitflags-b8f2fcfec265dfb2.rlib" "/opt/rustwide/target/debug/deps/libbevy_utils-aab4e67aadcde588.rlib" "/opt/rustwide/target/debug/deps/libuuid-e566e0c51eae9f3b.rlib" "/opt/rustwide/target/debug/deps/librand-69b81bfc404bb772.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-1bd6e5a79a553a0e.rlib" "/opt/rustwide/target/debug/deps/libppv_lite86-a9b36edfe4d694a8.rlib" "/opt/rustwide/target/debug/deps/librand_core-c93461351d398fda.rlib" "/opt/rustwide/target/debug/deps/libgetrandom-ddfb5c4a0b73fd09.rlib" "/opt/rustwide/target/debug/deps/libserde-05bc445219e970a6.rlib" "/opt/rustwide/target/debug/deps/libtracing-982fa5abab4a0345.rlib" "/opt/rustwide/target/debug/deps/libpin_project_lite-72d0da2deae731cb.rlib" "/opt/rustwide/target/debug/deps/libtracing_core-b081e70f2a952fc6.rlib" "/opt/rustwide/target/debug/deps/libinstant-fbf326b0129b64d6.rlib" "/opt/rustwide/target/debug/deps/libtime-e198b1f3d411f2b6.rlib" "/opt/rustwide/target/debug/deps/libtime_macros-19d766a1edc9d66d.rlib" "/opt/rustwide/target/debug/deps/libstandback-ff6ca6a80ad0f391.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-0128a598f57c42f0.rlib" "/opt/rustwide/target/debug/deps/libahash-72fcdd7f2d8a57ab.rlib" "/opt/rustwide/target/debug/deps/libgetrandom-a22ec8a33debd644.rlib" "/opt/rustwide/target/debug/deps/liblibc-075e6e9932aecf03.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-c6e6d9912bc66f08.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-b82c15677deef9e2.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-72b35984a787fb54.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-0fdedff926cd8b5a.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-fe0525e327a5464a.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-795b2243f06bd098.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-86ce554ff6ad08cd.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-1be635a4727d8e5e.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-1e55d89766af9c5f.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-02605c7065574d0d.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-0d17ba1067febc2c.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-2408fbe38b247900.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-b3c63e8997fdca47.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-bfa7a39ebb77d49a.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-4b955078cf51c0a1.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-1a6fbee0083900be.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-2b93db426c5a26c2.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-b30975e2b876cf32.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-cd2f2bc505f56f50.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-ec02dd343723da85.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-408115ade0360d2a.rlib" "-Wl,-Bdynamic" "-ldl" "-ldl" "-lglslang.glsltospirv" "-lHLSL.glsltospirv" "-lOGLCompiler.glsltospirv" "-lOSDependent.glsltospirv" "-lSPIRV.glsltospirv" "-lSPVRemapper.glsltospirv" "-lSPIRV-Tools-opt.glsltospirv" "-lSPIRV-Tools.glsltospirv" "-lstdc++" "-ludev" "-lasound" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/examples/all-5f23d4f2005ef66b" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" [INFO] [stdout] = note: collect2: fatal error: ld terminated with signal 9 [Killed] [INFO] [stdout] compilation terminated. [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bevy-thing` (example "all") due to 2 previous errors; 1 warning emitted [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcLIYkBq/symbols.o" "/opt/rustwide/target/debug/examples/level5-d0450644afadf22e.level5.49698bc2dadfe797-cgu.0.rcgu.o" "/opt/rustwide/target/debug/examples/level5-d0450644afadf22e.1hh0jpn67lm4ynjs.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/opt/rustwide/target/debug/build/minimp3-sys-bed300a39ef1e617/out" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bevy-glsl-to-spirv-0.2.1/build/linux" "-L" "/opt/rustwide/target/debug/build/spirv-reflect-8d82505cd381432b/out" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libbevy_thing-cc118f6cda8a30f7.rlib" "/opt/rustwide/target/debug/deps/libbevy_prototype_lyon-0cd3919d1eba44c8.rlib" "/opt/rustwide/target/debug/deps/liblyon-f1212f7f60289fe9.rlib" "/opt/rustwide/target/debug/deps/liblyon_tessellation-9eba7cbd1ab41595.rlib" "/opt/rustwide/target/debug/deps/liblyon_algorithms-1e4b212a06693359.rlib" "/opt/rustwide/target/debug/deps/libsid-f0ddf4f7a7bb0b31.rlib" "/opt/rustwide/target/debug/deps/liblyon_path-5a7416075474395c.rlib" "/opt/rustwide/target/debug/deps/liblyon_geom-f75653d9a8057308.rlib" "/opt/rustwide/target/debug/deps/librand-91064862339967f1.rlib" "/opt/rustwide/target/debug/deps/librand_core-9a07f976732ed2d0.rlib" "/opt/rustwide/target/debug/deps/librand_core-8bba37619bd6596e.rlib" "/opt/rustwide/target/debug/deps/libbevy_rapier2d-c58540344466a59f.rlib" "/opt/rustwide/target/debug/deps/librapier2d-d05d48cc3691dd4f.rlib" "/opt/rustwide/target/debug/deps/librustc_hash-ecab0b743b828b77.rlib" "/opt/rustwide/target/debug/deps/libncollide2d-fa4a02f027e5e83d.rlib" "/opt/rustwide/target/debug/deps/libslotmap-8e85e757ba6674ff.rlib" "/opt/rustwide/target/debug/deps/libpetgraph-d77629139fcf3a48.rlib" "/opt/rustwide/target/debug/deps/libindexmap-1a9916e187aecc3a.rlib" "/opt/rustwide/target/debug/deps/libhashbrown-9314b4f9853d4521.rlib" "/opt/rustwide/target/debug/deps/libfixedbitset-3fe553ed3b6a1f78.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam-f3227d8efd146fe5.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-95db9598ce751ef4.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-0a8212cba791f784.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_queue-8d095d275bfee393.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-8ac108183e36d4f4.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-ce3398bc5d8e3274.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-90a1859dd99392c2.rlib" "/opt/rustwide/target/debug/deps/libnalgebra-eb1ec85e9a6387d4.rlib" "/opt/rustwide/target/debug/deps/libgeneric_array-27e4d5c52adbe8f3.rlib" "/opt/rustwide/target/debug/deps/libtypenum-37e8da50dfc9f34b.rlib" "/opt/rustwide/target/debug/deps/libsimba-9b12d5216549ca8f.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-55ff228b7e4c6676.rlib" "/opt/rustwide/target/debug/deps/librand_distr-0ca154ad2b3e87c3.rlib" "/opt/rustwide/target/debug/deps/libmatrixmultiply-0c31bc10e73356ba.rlib" "/opt/rustwide/target/debug/deps/librawpointer-9a82b3d0237eca24.rlib" "/opt/rustwide/target/debug/deps/libbevy-08d90169675cff5a.rlib" "/opt/rustwide/target/debug/deps/libbevy_internal-9a6f232e95eb55f1.rlib" "/opt/rustwide/target/debug/deps/libbevy_dynamic_plugin-4ab9aebaa0c0971b.rlib" "/opt/rustwide/target/debug/deps/libbevy_wgpu-35d7007644d56b4a.rlib" "/opt/rustwide/target/debug/deps/libwgpu-823952dbb6c3eded.rlib" "/opt/rustwide/target/debug/deps/libwgpu_core-63f928facf1d97b5.rlib" "/opt/rustwide/target/debug/deps/libnaga-ca5dc28e8a124a89.rlib" "/opt/rustwide/target/debug/deps/libgfx_memory-2a8f82ad4c261de0.rlib" "/opt/rustwide/target/debug/deps/libbit_set-e4e11a20a5c2173a.rlib" "/opt/rustwide/target/debug/deps/libbit_vec-2a7a3301ea676754.rlib" "/opt/rustwide/target/debug/deps/libcopyless-a7d33c76ef5aa396.rlib" "/opt/rustwide/target/debug/deps/libwgpu_types-bc52a2a5d9541c5b.rlib" "/opt/rustwide/target/debug/deps/libgfx_descriptor-822819656d45a5bd.rlib" "/opt/rustwide/target/debug/deps/libgfx_backend_vulkan-da122bb9814f57f8.rlib" "/opt/rustwide/target/debug/deps/libinplace_it-fddbf0757bf488a7.rlib" "/opt/rustwide/target/debug/deps/libash-111159677a8d9576.rlib" "/opt/rustwide/target/debug/deps/liblibloading-b4a84f6e77fbbcd7.rlib" "/opt/rustwide/target/debug/deps/libgfx_backend_empty-a1dfd903bbe0218f.rlib" "/opt/rustwide/target/debug/deps/libgfx_hal-e0d43d5742976826.rlib" "/opt/rustwide/target/debug/deps/libtyped_arena-e01857d719dac7cd.rlib" "/opt/rustwide/target/debug/deps/libfutures-468722ce3f35466c.rlib" "/opt/rustwide/target/debug/deps/libfutures_executor-c55f7347baf0fddf.rlib" "/opt/rustwide/target/debug/deps/libfutures_util-079b28c00517a27b.rlib" "/opt/rustwide/target/debug/deps/libfutures_channel-39fa91cddb948250.rlib" "/opt/rustwide/target/debug/deps/libpin_project-f290e44d6ea59af2.rlib" "/opt/rustwide/target/debug/deps/libfutures_sink-c39139dbed95cdb4.rlib" "/opt/rustwide/target/debug/deps/libfutures_task-2a01d6d0c19671a1.rlib" "/opt/rustwide/target/debug/deps/libpin_utils-339fc95f834a67dc.rlib" "/opt/rustwide/target/debug/deps/libarrayvec-809046b8863f9430.rlib" "/opt/rustwide/target/debug/deps/libbevy_winit-8412a3b2d05922ed.rlib" "/opt/rustwide/target/debug/deps/libwinit-7630c14c01843aed.rlib" "/opt/rustwide/target/debug/deps/libx11_dl-6184ba6282aec53a.rlib" "/opt/rustwide/target/debug/deps/libpercent_encoding-cd7356c23e34a112.rlib" "/opt/rustwide/target/debug/deps/libraw_window_handle-81a8129391c2b51c.rlib" "/opt/rustwide/target/debug/deps/libbevy_ui-ea54b507c8f76f0c.rlib" "/opt/rustwide/target/debug/deps/libstretch-67930779c87522ef.rlib" "/opt/rustwide/target/debug/deps/libbevy_text-27ab5b295eaa42f4.rlib" "/opt/rustwide/target/debug/deps/libglyph_brush_layout-2c8d089085e10f6c.rlib" "/opt/rustwide/target/debug/deps/libxi_unicode-b2957e96bdab2f3f.rlib" "/opt/rustwide/target/debug/deps/libapprox-dc0773d6ff58cfb7.rlib" "/opt/rustwide/target/debug/deps/libab_glyph-610aea20577b5aeb.rlib" "/opt/rustwide/target/debug/deps/libowned_ttf_parser-d73750f66a21d9e3.rlib" "/opt/rustwide/target/debug/deps/libttf_parser-46bafe8cf5f9ba5e.rlib" "/opt/rustwide/target/debug/deps/libab_glyph_rasterizer-cee05ae636f7771f.rlib" "/opt/rustwide/target/debug/deps/libbevy_sprite-f40340294ef9b358.rlib" "/opt/rustwide/target/debug/deps/librectangle_pack-dd42244410332918.rlib" "/opt/rustwide/target/debug/deps/libguillotiere-7e2a9e22b1b033aa.rlib" "/opt/rustwide/target/debug/deps/libsvg_fmt-94a36c6ead0736dc.rlib" "/opt/rustwide/target/debug/deps/libeuclid-fabab0f99471fb11.rlib" "/opt/rustwide/target/debug/deps/libbevy_gltf-8c60fc315eafc473.rlib" "/opt/rustwide/target/debug/deps/libbase64-70ad20caa2b11358.rlib" "/opt/rustwide/target/debug/deps/libgltf-d41284bb75af0d3f.rlib" "/opt/rustwide/target/debug/deps/libgltf_json-90f609bcff7d60b5.rlib" "/opt/rustwide/target/debug/deps/libbevy_pbr-4020c3f361dfa13f.rlib" "/opt/rustwide/target/debug/deps/libbevy_render-2d584c97e4e8d067.rlib" "/opt/rustwide/target/debug/deps/libimage-114f4bdb3380c8f0.rlib" "/opt/rustwide/target/debug/deps/libcolor_quant-069bd5753da0854f.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-cac44014fc01bfc6.rlib" "/opt/rustwide/target/debug/deps/libbytemuck-1598cee03a0c39f4.rlib" "/opt/rustwide/target/debug/deps/libpng-821cf09dd1005305.rlib" "/opt/rustwide/target/debug/deps/libminiz_oxide-f77ea18dd3c8d41f.rlib" "/opt/rustwide/target/debug/deps/libcrc32fast-0f13e5f5013c6eb1.rlib" "/opt/rustwide/target/debug/deps/libdeflate-21bd6834d3e31d59.rlib" "/opt/rustwide/target/debug/deps/libadler32-99ddde7e6e69d6c1.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-5a746e88db970b37.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-e359c412442bd609.rlib" "/opt/rustwide/target/debug/deps/libbevy_glsl_to_spirv-f0add3308ce1ebe2.rlib" "/opt/rustwide/target/debug/deps/libhex-1b8732bec7769cf2.rlib" "/opt/rustwide/target/debug/deps/libspirv_reflect-49a39813d7c8b35f.rlib" "/opt/rustwide/target/debug/deps/libspirv_headers-72aa3811117b457c.rlib" "/opt/rustwide/target/debug/deps/libhexasphere-659fcd76cdc87f44.rlib" "/opt/rustwide/target/debug/deps/libbevy_gilrs-90bb701eb4bfcb20.rlib" "/opt/rustwide/target/debug/deps/libgilrs-c8c1eb2385bfe23b.rlib" "/opt/rustwide/target/debug/deps/libfnv-574dedeaa4c89e1d.rlib" "/opt/rustwide/target/debug/deps/libgilrs_core-c91167626f4323ae.rlib" "/opt/rustwide/target/debug/deps/liblibudev_sys-803e09ee69d49883.rlib" "/opt/rustwide/target/debug/deps/libnix-49a4f89b3e66091c.rlib" "/opt/rustwide/target/debug/deps/libvec_map-fc342719877893b6.rlib" "/opt/rustwide/target/debug/deps/libbevy_audio-4e04f384bc5bad8c.rlib" "/opt/rustwide/target/debug/deps/librodio-4464fed6f465f219.rlib" "/opt/rustwide/target/debug/deps/libminimp3-73ae2df49b9f8341.rlib" "/opt/rustwide/target/debug/deps/libslice_deque-057ccbfde9cc56ca.rlib" "/opt/rustwide/target/debug/deps/libminimp3_sys-2eb4d79246a9801f.rlib" "/opt/rustwide/target/debug/deps/libcpal-ade2fedd1750e308.rlib" "/opt/rustwide/target/debug/deps/libalsa-dc21720fe3e44e08.rlib" "/opt/rustwide/target/debug/deps/libnix-6b6f1f7358415f1b.rlib" "/opt/rustwide/target/debug/deps/libvoid-6ec24f4dc2b90f33.rlib" "/opt/rustwide/target/debug/deps/libalsa_sys-c48e1400bcf4f177.rlib" "/opt/rustwide/target/debug/deps/libbevy_window-b8f0866a4931ea22.rlib" "/opt/rustwide/target/debug/deps/libbevy_scene-b777188fb42fe466.rlib" "/opt/rustwide/target/debug/deps/libron-66fbb500fa7a4ee4.rlib" "/opt/rustwide/target/debug/deps/libbase64-adbd1c8fc04e1957.rlib" "/opt/rustwide/target/debug/deps/libbevy_transform-97eb15ecf621a40a.rlib" "/opt/rustwide/target/debug/deps/libbevy_input-32b2302a890b90f4.rlib" "/opt/rustwide/target/debug/deps/libbevy_asset-3130b33a7fcda96d.rlib" "/opt/rustwide/target/debug/deps/libnotify-9c22a773716fbe33.rlib" "/opt/rustwide/target/debug/deps/libmio_extras-4e253fcc6db24d88.rlib" "/opt/rustwide/target/debug/deps/liblazycell-c2a1b2911705803e.rlib" "/opt/rustwide/target/debug/deps/libmio-dc62d04edbbb0276.rlib" "/opt/rustwide/target/debug/deps/libslab-b2f2c2b52e54ee9b.rlib" "/opt/rustwide/target/debug/deps/libiovec-2645e805cacad11f.rlib" "/opt/rustwide/target/debug/deps/libnet2-950de1b2cb00da4e.rlib" "/opt/rustwide/target/debug/deps/libfiletime-2a0c1d17d7b89c0c.rlib" "/opt/rustwide/target/debug/deps/libanymap-a72119b6be40a66f.rlib" "/opt/rustwide/target/debug/deps/libwalkdir-82c8d3516fd0d2cf.rlib" "/opt/rustwide/target/debug/deps/libsame_file-bb2433c6426284ba.rlib" "/opt/rustwide/target/debug/deps/libinotify-c7a752cccf4d14aa.rlib" "/opt/rustwide/target/debug/deps/libinotify_sys-f58693e00b68c33b.rlib" "/opt/rustwide/target/debug/deps/libbevy_diagnostic-ec9fc3dd348967b1.rlib" "/opt/rustwide/target/debug/deps/libbevy_log-d86a2fe4b0a158f3.rlib" "/opt/rustwide/target/debug/deps/libtracing_subscriber-15851b10f21dae85.rlib" "/opt/rustwide/target/debug/deps/libchrono-3151647512299c72.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-d169db5ad3119943.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-75e6a8cf0cdadf3f.rlib" "/opt/rustwide/target/debug/deps/libtime-1248a45e87949352.rlib" "/opt/rustwide/target/debug/deps/libsharded_slab-477fd7f930df0cc4.rlib" "/opt/rustwide/target/debug/deps/libtracing_serde-dccb28bca4e88018.rlib" "/opt/rustwide/target/debug/deps/libserde_json-5645f9ef5b36f814.rlib" "/opt/rustwide/target/debug/deps/libryu-a9d03167471ca5ef.rlib" "/opt/rustwide/target/debug/deps/libitoa-0559c56f4d0657ee.rlib" "/opt/rustwide/target/debug/deps/libtracing_log-5ef2eae2e482e383.rlib" "/opt/rustwide/target/debug/deps/liblog-e9c46bed2ce39adb.rlib" "/opt/rustwide/target/debug/deps/libansi_term-bb169c4f46faf8a6.rlib" "/opt/rustwide/target/debug/deps/libmatchers-7bfe36a7806428fc.rlib" "/opt/rustwide/target/debug/deps/libregex_automata-2f6ebdd1841a0cab.rlib" "/opt/rustwide/target/debug/deps/libregex-904132196b3f13f1.rlib" "/opt/rustwide/target/debug/deps/libthread_local-f761b244993cf29a.rlib" "/opt/rustwide/target/debug/deps/libregex_syntax-8557b7c2160b49b7.rlib" "/opt/rustwide/target/debug/deps/libaho_corasick-638f73e68de51540.rlib" "/opt/rustwide/target/debug/deps/libbevy_core-1d762a97c96b242e.rlib" "/opt/rustwide/target/debug/deps/libbevy_math-87d305d0fc2239ee.rlib" "/opt/rustwide/target/debug/deps/libbevy_reflect-56753ddb429f98a9.rlib" "/opt/rustwide/target/debug/deps/liberased_serde-80893aeae2c376d1.rlib" "/opt/rustwide/target/debug/deps/libglam-d47dbf5cf7d9f134.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-7a5045041d927584.rlib" "/opt/rustwide/target/debug/deps/libmaybe_uninit-ffb7fb957bd0dd89.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-5b4fca3a9d704fa0.rlib" "/opt/rustwide/target/debug/deps/libanyhow-3fd958bb6cbce137.rlib" "/opt/rustwide/target/debug/deps/libbevy_app-1293ffab7f6cde5c.rlib" "/opt/rustwide/target/debug/deps/libbevy_ecs-ebcb20ec9bb1eba7.rlib" "/opt/rustwide/target/debug/deps/libfxhash-b38e8bd256221bb9.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-c69c557766a6b69d.rlib" "/opt/rustwide/target/debug/deps/libparking_lot-c9f398f60eabe99b.rlib" "/opt/rustwide/target/debug/deps/libparking_lot_core-e1895480bf782fea.rlib" "/opt/rustwide/target/debug/deps/libsmallvec-9b5a8f280be9ea75.rlib" "/opt/rustwide/target/debug/deps/liblock_api-92c13e2ecd9f6fe7.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-6ebe5b14c8a6c2d8.rlib" "/opt/rustwide/target/debug/deps/libfixedbitset-1b261e8d59681761.rlib" "/opt/rustwide/target/debug/deps/libbevy_tasks-b3ab19039749f399.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-6f3299100f724e86.rlib" "/opt/rustwide/target/debug/deps/libasync_channel-f1e8d2b691e4cc08.rlib" "/opt/rustwide/target/debug/deps/libasync_executor-007c1be61d13183a.rlib" "/opt/rustwide/target/debug/deps/libonce_cell-c1eee42eaeeba0e7.rlib" "/opt/rustwide/target/debug/deps/libvec_arena-4b1ca12ae8c63128.rlib" "/opt/rustwide/target/debug/deps/libconcurrent_queue-522055c6c106e494.rlib" "/opt/rustwide/target/debug/deps/libcache_padded-65d0bef863774aa2.rlib" "/opt/rustwide/target/debug/deps/libasync_task-12fd8617aedcf494.rlib" "/opt/rustwide/target/debug/deps/libevent_listener-afe8e4ab7c83fa5e.rlib" "/opt/rustwide/target/debug/deps/libfutures_lite-8424ff4d67dcdd27.rlib" "/opt/rustwide/target/debug/deps/libmemchr-eda4c84da0086cab.rlib" "/opt/rustwide/target/debug/deps/libfastrand-99321ff2ef31a4c7.rlib" "/opt/rustwide/target/debug/deps/libfutures_io-d31e0c1528d7e415.rlib" "/opt/rustwide/target/debug/deps/libfutures_core-3d098f9d72de9db6.rlib" "/opt/rustwide/target/debug/deps/libwaker_fn-316594b94716acb3.rlib" "/opt/rustwide/target/debug/deps/libparking-5d347c5922689b59.rlib" "/opt/rustwide/target/debug/deps/libpin_project_lite-cecfebad06343f07.rlib" "/opt/rustwide/target/debug/deps/libdowncast_rs-5777906e3d50784e.rlib" "/opt/rustwide/target/debug/deps/libthiserror-f7e3d1554831874b.rlib" "/opt/rustwide/target/debug/deps/libbitflags-b8f2fcfec265dfb2.rlib" "/opt/rustwide/target/debug/deps/libbevy_utils-aab4e67aadcde588.rlib" "/opt/rustwide/target/debug/deps/libuuid-e566e0c51eae9f3b.rlib" "/opt/rustwide/target/debug/deps/librand-69b81bfc404bb772.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-1bd6e5a79a553a0e.rlib" "/opt/rustwide/target/debug/deps/libppv_lite86-a9b36edfe4d694a8.rlib" "/opt/rustwide/target/debug/deps/librand_core-c93461351d398fda.rlib" "/opt/rustwide/target/debug/deps/libgetrandom-ddfb5c4a0b73fd09.rlib" "/opt/rustwide/target/debug/deps/libserde-05bc445219e970a6.rlib" "/opt/rustwide/target/debug/deps/libtracing-982fa5abab4a0345.rlib" "/opt/rustwide/target/debug/deps/libpin_project_lite-72d0da2deae731cb.rlib" "/opt/rustwide/target/debug/deps/libtracing_core-b081e70f2a952fc6.rlib" "/opt/rustwide/target/debug/deps/libinstant-fbf326b0129b64d6.rlib" "/opt/rustwide/target/debug/deps/libtime-e198b1f3d411f2b6.rlib" "/opt/rustwide/target/debug/deps/libtime_macros-19d766a1edc9d66d.rlib" "/opt/rustwide/target/debug/deps/libstandback-ff6ca6a80ad0f391.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-0128a598f57c42f0.rlib" "/opt/rustwide/target/debug/deps/libahash-72fcdd7f2d8a57ab.rlib" "/opt/rustwide/target/debug/deps/libgetrandom-a22ec8a33debd644.rlib" "/opt/rustwide/target/debug/deps/liblibc-075e6e9932aecf03.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-c6e6d9912bc66f08.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-b82c15677deef9e2.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-72b35984a787fb54.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-0fdedff926cd8b5a.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-fe0525e327a5464a.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-795b2243f06bd098.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-86ce554ff6ad08cd.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-1be635a4727d8e5e.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-1e55d89766af9c5f.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-02605c7065574d0d.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-0d17ba1067febc2c.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-2408fbe38b247900.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-b3c63e8997fdca47.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-bfa7a39ebb77d49a.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-4b955078cf51c0a1.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-1a6fbee0083900be.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-2b93db426c5a26c2.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-b30975e2b876cf32.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-cd2f2bc505f56f50.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-ec02dd343723da85.rlib" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-408115ade0360d2a.rlib" "-Wl,-Bdynamic" "-ldl" "-ldl" "-lglslang.glsltospirv" "-lHLSL.glsltospirv" "-lOGLCompiler.glsltospirv" "-lOSDependent.glsltospirv" "-lSPIRV.glsltospirv" "-lSPVRemapper.glsltospirv" "-lSPIRV-Tools-opt.glsltospirv" "-lSPIRV-Tools.glsltospirv" "-lstdc++" "-ludev" "-lasound" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/examples/level5-d0450644afadf22e" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" [INFO] [stdout] = note: collect2: fatal error: ld terminated with signal 9 [Killed] [INFO] [stdout] compilation terminated. [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bevy-thing` (example "level5") due to 2 previous errors [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f4fbb1ab6027c6530b55048f81548069788b485ec3c35f7bb6bc6747110e8c20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f4fbb1ab6027c6530b55048f81548069788b485ec3c35f7bb6bc6747110e8c20", kill_on_drop: false }` [INFO] [stdout] f4fbb1ab6027c6530b55048f81548069788b485ec3c35f7bb6bc6747110e8c20 [INFO] building payload/bevy-thing against try#53e03135c36e913ff664ce8329041b7e3c2fd358 for pr-117684 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpayload%2Fbevy-thing" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/payload/bevy-thing on toolchain 53e03135c36e913ff664ce8329041b7e3c2fd358 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+53e03135c36e913ff664ce8329041b7e3c2fd358" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml [INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain [INFO] started tweaking git repo https://github.com/payload/bevy-thing [INFO] finished tweaking git repo https://github.com/payload/bevy-thing [INFO] tweaked toml for git repo https://github.com/payload/bevy-thing written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/payload/bevy-thing already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+53e03135c36e913ff664ce8329041b7e3c2fd358" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+53e03135c36e913ff664ce8329041b7e3c2fd358" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f6bdf269ae70f6e7f29575c3247eef4af1554abf051b189285db8568ca4ade69 [INFO] running `Command { std: "docker" "start" "-a" "f6bdf269ae70f6e7f29575c3247eef4af1554abf051b189285db8568ca4ade69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f6bdf269ae70f6e7f29575c3247eef4af1554abf051b189285db8568ca4ade69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6bdf269ae70f6e7f29575c3247eef4af1554abf051b189285db8568ca4ade69", kill_on_drop: false }` [INFO] [stdout] f6bdf269ae70f6e7f29575c3247eef4af1554abf051b189285db8568ca4ade69 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+53e03135c36e913ff664ce8329041b7e3c2fd358" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ef5c0ffafd22171b55f98797347ecec8e1341d00dd01e10f985ad2e1d86eebb7 [INFO] running `Command { std: "docker" "start" "-a" "ef5c0ffafd22171b55f98797347ecec8e1341d00dd01e10f985ad2e1d86eebb7", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.54 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling serde_derive v1.0.118 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling serde v1.0.118 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling libm v0.2.1 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling const_fn v0.4.4 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling standback v0.2.13 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling time v0.2.23 [INFO] [stderr] Compiling futures-core v0.3.8 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling tracing-core v0.1.17 [INFO] [stderr] Compiling once_cell v1.5.2 [INFO] [stderr] Compiling getrandom v0.2.0 [INFO] [stderr] Compiling futures-io v0.3.8 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling pin-project-lite v0.2.0 [INFO] [stderr] Compiling lock_api v0.4.2 [INFO] [stderr] Compiling cache-padded v1.1.1 [INFO] [stderr] Compiling ahash v0.6.2 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling concurrent-queue v1.2.2 [INFO] [stderr] Compiling fastrand v1.4.0 [INFO] [stderr] Compiling parking v2.0.0 [INFO] [stderr] Compiling pin-project-lite v0.1.11 [INFO] [stderr] Compiling waker-fn v1.1.0 [INFO] [stderr] Compiling vec-arena v1.0.0 [INFO] [stderr] Compiling futures-lite v1.11.2 [INFO] [stderr] Compiling downcast-rs v1.2.0 [INFO] [stderr] Compiling async-task v4.0.3 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling event-listener v2.5.1 [INFO] [stderr] Compiling async-channel v1.5.1 [INFO] [stderr] Compiling slab v0.4.2 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Compiling fixedbitset v0.3.1 [INFO] [stderr] Compiling glam v0.11.2 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling async-executor v1.4.0 [INFO] [stderr] Compiling jobserver v0.1.21 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling serde_json v1.0.60 [INFO] [stderr] Compiling regex-syntax v0.6.21 [INFO] [stderr] Compiling cc v1.0.66 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling aho-corasick v0.7.15 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling tracing-log v0.1.1 [INFO] [stderr] Compiling mio-extras v2.0.6 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling sharded-slab v0.1.0 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling inotify-sys v0.1.4 [INFO] [stderr] Compiling regex-automata v0.1.9 [INFO] [stderr] Compiling regex v1.4.2 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling anyhow v1.0.35 [INFO] [stderr] Compiling walkdir v2.3.1 [INFO] [stderr] Compiling crossbeam-channel v0.4.4 [INFO] [stderr] Compiling inotify v0.8.3 [INFO] [stderr] Compiling matchers v0.0.1 [INFO] [stderr] Compiling spirv_headers v1.5.0 [INFO] [stderr] Compiling filetime v0.2.13 [INFO] [stderr] Compiling anymap v0.12.1 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Compiling base64 v0.12.3 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling notify v5.0.0-pre.4 [INFO] [stderr] Compiling raw-window-handle v0.3.3 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling spirv-reflect v0.2.3 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling deflate v0.8.6 [INFO] [stderr] Compiling euclid v0.22.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.1 [INFO] [stderr] Compiling bevy-glsl-to-spirv v0.2.1 [INFO] [stderr] Compiling time-macros-impl v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.22 [INFO] [stderr] Compiling tracing-attributes v0.1.11 [INFO] [stderr] Compiling png v0.16.8 [INFO] [stderr] Compiling time-macros v0.1.1 [INFO] [stderr] Compiling bytemuck v1.4.1 [INFO] [stderr] Compiling image v0.23.12 [INFO] [stderr] Compiling thiserror v1.0.22 [INFO] [stderr] Compiling gfx-hal v0.6.0 [INFO] [stderr] Compiling instant v0.1.9 [INFO] [stderr] Compiling tracing v0.1.22 [INFO] [stderr] Compiling bevy_tasks v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling approx v0.4.0 [INFO] [stderr] Compiling memoffset v0.6.1 [INFO] [stderr] Compiling hex v0.4.2 [INFO] [stderr] Compiling proc-macro-nested v0.1.6 [INFO] [stderr] Compiling pin-project-internal v1.0.2 [INFO] [stderr] Compiling alsa-sys v0.3.0 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Compiling libloading v0.6.6 [INFO] [stderr] Compiling nix v0.15.0 [INFO] [stderr] Compiling futures-sink v0.3.8 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling futures-channel v0.3.8 [INFO] [stderr] Compiling futures-macro v0.3.8 [INFO] [stderr] Compiling minimp3-sys v0.3.2 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling futures-task v0.3.8 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling ttf-parser v0.9.0 [INFO] [stderr] Compiling pin-project v1.0.2 [INFO] [stderr] Compiling bit-set v0.5.2 [INFO] [stderr] Compiling futures-util v0.3.8 [INFO] [stderr] Compiling crossbeam-epoch v0.9.1 [INFO] [stderr] Compiling owned_ttf_parser v0.9.0 [INFO] [stderr] Compiling ash v0.31.0 [INFO] [stderr] Compiling libm v0.1.4 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling svg_fmt v0.4.1 [INFO] [stderr] Compiling inflections v1.1.1 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.4 [INFO] [stderr] Compiling cpal v0.13.1 [INFO] [stderr] Compiling inplace_it v0.3.2 [INFO] [stderr] Compiling ab_glyph v0.2.7 [INFO] [stderr] Compiling alsa v0.4.3 [INFO] [stderr] Compiling gltf-derive v0.15.2 [INFO] [stderr] Compiling guillotiere v0.6.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.0 [INFO] [stderr] Compiling futures-executor v0.3.8 [INFO] [stderr] Compiling gfx-memory v0.2.2 [INFO] [stderr] Compiling gfx-descriptor v0.2.0 [INFO] [stderr] Compiling gfx-backend-empty v0.6.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.0 [INFO] [stderr] Compiling naga v0.2.0 [INFO] [stderr] Compiling slice-deque v0.3.0 [INFO] [stderr] Compiling wgpu-types v0.6.1 [INFO] [stderr] Compiling copyless v0.1.5 [INFO] [stderr] Compiling xi-unicode v0.3.0 [INFO] [stderr] Compiling smallvec v1.5.1 [INFO] [stderr] Compiling toml v0.5.7 [INFO] [stderr] Compiling uuid v0.8.1 [INFO] [stderr] Compiling parking_lot_core v0.8.1 [INFO] [stderr] Compiling bevy_utils v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling erased-serde v0.3.12 [INFO] [stderr] Compiling parking_lot v0.11.1 [INFO] [stderr] Compiling find-crate v0.6.1 [INFO] [stderr] Compiling tracing-serde v0.1.2 [INFO] [stderr] Compiling ron v0.6.2 [INFO] [stderr] Compiling hexasphere v3.1.0 [INFO] [stderr] Compiling rectangle-pack v0.2.0 [INFO] [stderr] Compiling bevy_ecs_macros v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_derive v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_reflect_derive v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling tracing-subscriber v0.2.15 [INFO] [stderr] Compiling bevy_ecs v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling gltf-json v0.15.2 [INFO] [stderr] Compiling winit v0.24.0 [INFO] [stderr] Compiling gilrs-core v0.3.0 [INFO] [stderr] Compiling glyph_brush_layout v0.2.1 [INFO] [stderr] Compiling gfx-backend-vulkan v0.6.5 [INFO] [stderr] Compiling futures v0.3.8 [INFO] [stderr] Compiling wgpu-core v0.6.5 [INFO] [stderr] Compiling typed-arena v2.0.1 [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling rayon-core v1.9.0 [INFO] [stderr] Compiling gilrs v0.8.0 [INFO] [stderr] Compiling bevy_app v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_reflect v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_log v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling gltf v0.15.2 [INFO] [stderr] Compiling stretch v0.3.2 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling indexmap v1.6.1 [INFO] [stderr] Compiling bevy_math v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_core v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_diagnostic v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_window v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_asset v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_transform v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_input v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_render v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_winit v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_scene v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling wgpu v0.6.2 [INFO] [stderr] Compiling base64 v0.13.0 [INFO] [stderr] Compiling bevy_gilrs v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_dynamic_plugin v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling lyon_geom v0.16.2 [INFO] [stderr] Compiling num-complex v0.3.1 [INFO] [stderr] Compiling rayon v1.5.0 [INFO] [stderr] Compiling paste v1.0.4 [INFO] [stderr] Compiling hashbrown v0.9.1 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling lyon_path v0.16.2 [INFO] [stderr] Compiling matrixmultiply v0.2.4 [INFO] [stderr] Compiling bevy_sprite v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_pbr v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_wgpu v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling simba v0.3.1 [INFO] [stderr] Compiling bevy_text v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_gltf v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_ui v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling rand_distr v0.3.0 [INFO] [stderr] Compiling sid v0.6.1 [INFO] [stderr] Compiling fixedbitset v0.2.0 [INFO] [stderr] Compiling petgraph v0.5.1 [INFO] [stderr] Compiling crossbeam-queue v0.3.1 [INFO] [stderr] Compiling inflate v0.3.4 [INFO] [stderr] Compiling deflate v0.7.20 [INFO] [stderr] Compiling rand_core v0.6.1 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling lzw v0.10.0 [INFO] [stderr] Compiling slotmap v0.4.0 [INFO] [stderr] Compiling gif v0.9.2 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling png v0.11.0 [INFO] [stderr] Compiling rand_chacha v0.3.0 [INFO] [stderr] Compiling enum_primitive v0.1.1 [INFO] [stderr] Compiling crossbeam v0.8.0 [INFO] [stderr] Compiling nalgebra v0.23.2 [INFO] [stderr] Compiling jpeg-decoder v0.1.20 [INFO] [stderr] Compiling lyon_tessellation v0.16.2 [INFO] [stderr] Compiling lyon_algorithms v0.16.0 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling num-rational v0.1.42 [INFO] [stderr] Compiling generational-arena v0.2.8 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling lyon v0.16.2 [INFO] [stderr] Compiling image v0.18.0 [INFO] [stderr] Compiling rand v0.8.2 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling interpolation v0.2.0 [INFO] [stderr] Compiling float_eq v0.5.0 [INFO] [stderr] Compiling makima_spline v1.1.3 [INFO] [stderr] Compiling minimp3 v0.5.0 [INFO] [stderr] Compiling rodio v0.13.0 [INFO] [stderr] Compiling bevy_audio v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_internal v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling noise v0.6.0 [INFO] [stderr] Compiling bevy v0.4.0 (https://github.com/bevyengine/bevy.git?branch=master#cf0e9f99) [INFO] [stderr] Compiling bevy_prototype_lyon v0.1.3 (https://github.com/Nilirad/bevy_prototype_lyon.git?branch=master#a18a3050) [INFO] [stderr] Compiling bevy_easings v0.3.0 [INFO] [stderr] Compiling ncollide2d v0.26.1 [INFO] [stderr] Compiling rapier2d v0.4.2 [INFO] [stderr] Compiling bevy_rapier2d v0.7.0 [INFO] [stderr] Compiling bevy-thing v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the feature `bool_to_option` has been stable since 1.62.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(bool_to_option)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | for selection in selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 66 | while let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:92:44 [INFO] [stdout] | [INFO] [stdout] 92 | for (mut sprite, mut trans) in sprite_query.get_mut(*slot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 92 | while let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 92 | if let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | for item in items.get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 113 | while let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 113 | if let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 98 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 98 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 115 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 115 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:374:38 [INFO] [stdout] | [INFO] [stdout] 374 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 374 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:377:38 [INFO] [stdout] | [INFO] [stdout] 377 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 377 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 377 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:383:38 [INFO] [stdout] | [INFO] [stdout] 383 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 383 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:386:38 [INFO] [stdout] | [INFO] [stdout] 386 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 386 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 386 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:242:22 [INFO] [stdout] | [INFO] [stdout] 242 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 242 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:261:22 [INFO] [stdout] | [INFO] [stdout] 261 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 261 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 261 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | for window in windows.get_primary() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 287 | while let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 287 | if let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:288:23 [INFO] [stdout] | [INFO] [stdout] 288 | for cursor in window.cursor_position() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 288 | while let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 288 | if let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/inventory.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | for pos in self.pos(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 16 | while let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 16 | if let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:36:22 [INFO] [stdout] | [INFO] [stdout] 36 | for index in self.line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 36 | while let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 36 | if let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:37:25 [INFO] [stdout] | [INFO] [stdout] 37 | for line in self.lines.get(index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 37 | while let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 60 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 104 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 104 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/steering.rs:315:21 [INFO] [stdout] | [INFO] [stdout] 315 | for body in bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 315 | while let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:31:22 [INFO] [stdout] | [INFO] [stdout] 31 | for atlas in atlases.get_mut(handle) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 31 | while let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | for tex in textures.get(atlas.texture.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 32 | while let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 59.87s [INFO] running `Command { std: "docker" "inspect" "ef5c0ffafd22171b55f98797347ecec8e1341d00dd01e10f985ad2e1d86eebb7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef5c0ffafd22171b55f98797347ecec8e1341d00dd01e10f985ad2e1d86eebb7", kill_on_drop: false }` [INFO] [stdout] ef5c0ffafd22171b55f98797347ecec8e1341d00dd01e10f985ad2e1d86eebb7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+53e03135c36e913ff664ce8329041b7e3c2fd358" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5fbcd7c0133b156dea8816ab0d99aea15eca90e922fa8b611b495976dc94f86d [INFO] running `Command { std: "docker" "start" "-a" "5fbcd7c0133b156dea8816ab0d99aea15eca90e922fa8b611b495976dc94f86d", kill_on_drop: false }` [INFO] [stdout] warning: the feature `bool_to_option` has been stable since 1.62.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(bool_to_option)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | for selection in selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 66 | while let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:92:44 [INFO] [stdout] | [INFO] [stdout] 92 | for (mut sprite, mut trans) in sprite_query.get_mut(*slot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 92 | while let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 92 | if let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | for item in items.get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 113 | while let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 113 | if let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 98 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 98 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 115 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 115 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:374:38 [INFO] [stdout] | [INFO] [stdout] 374 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 374 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:377:38 [INFO] [stdout] | [INFO] [stdout] 377 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 377 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 377 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:383:38 [INFO] [stdout] | [INFO] [stdout] 383 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 383 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:386:38 [INFO] [stdout] | [INFO] [stdout] 386 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 386 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 386 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:242:22 [INFO] [stdout] | [INFO] [stdout] 242 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 242 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:261:22 [INFO] [stdout] | [INFO] [stdout] 261 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 261 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 261 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | for window in windows.get_primary() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 287 | while let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 287 | if let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:288:23 [INFO] [stdout] | [INFO] [stdout] 288 | for cursor in window.cursor_position() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 288 | while let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 288 | if let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/inventory.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | for pos in self.pos(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 16 | while let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 16 | if let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:36:22 [INFO] [stdout] | [INFO] [stdout] 36 | for index in self.line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 36 | while let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 36 | if let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling bevy-thing v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:37:25 [INFO] [stdout] | [INFO] [stdout] 37 | for line in self.lines.get(index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 37 | while let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 60 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 104 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 104 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/steering.rs:315:21 [INFO] [stdout] | [INFO] [stdout] 315 | for body in bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 315 | while let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:31:22 [INFO] [stdout] | [INFO] [stdout] 31 | for atlas in atlases.get_mut(handle) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 31 | while let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | for tex in textures.get(atlas.texture.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 32 | while let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `bool_to_option` has been stable since 1.62.0 and no longer requires an attribute to enable [INFO] [stdout] --> examples/all.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(bool_to_option)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `bool_to_option` has been stable since 1.62.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(bool_to_option)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:222:21 [INFO] [stdout] | [INFO] [stdout] 222 | for name in self.current { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 222 | while let Some(name) = self.current { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 222 | if let Some(name) = self.current { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:223:25 [INFO] [stdout] | [INFO] [stdout] 223 | for anim in self.map.get(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 223 | while let Some(anim) = self.map.get(name) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 223 | if let Some(anim) = self.map.get(name) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:253:40 [INFO] [stdout] | [INFO] [stdout] 253 | for (mut trans, mut sprite) in sprite_query.get_mut(anim.target) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 253 | while let Ok((mut trans, mut sprite)) = sprite_query.get_mut(anim.target) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 253 | if let Ok((mut trans, mut sprite)) = sprite_query.get_mut(anim.target) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:354:29 [INFO] [stdout] | [INFO] [stdout] 354 | for body in bodies.get_mut(body.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 354 | while let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 354 | if let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:359:29 [INFO] [stdout] | [INFO] [stdout] 359 | for body in bodies.get_mut(body.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 359 | while let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 359 | if let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:370:37 [INFO] [stdout] | [INFO] [stdout] 370 | for item in oven_state.interact(&items) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 370 | while let Some(item) = oven_state.interact(&items) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 370 | if let Some(item) = oven_state.interact(&items) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:404:35 [INFO] [stdout] | [INFO] [stdout] 404 | for from_trans in transform_query.get(*from) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 404 | while let Ok(from_trans) = transform_query.get(*from) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 404 | if let Ok(from_trans) = transform_query.get(*from) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:415:33 [INFO] [stdout] | [INFO] [stdout] 415 | for item in items.get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 415 | while let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 415 | if let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:454:38 [INFO] [stdout] | [INFO] [stdout] 454 | for (name, mut inventory) in inventory_query.get_mut(transfer.1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 454 | while let Ok((name, mut inventory)) = inventory_query.get_mut(transfer.1) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 454 | if let Ok((name, mut inventory)) = inventory_query.get_mut(transfer.1) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:471:50 [INFO] [stdout] | [INFO] [stdout] 471 | for (name, mut inventory) in inventory_query.get_mut(transfer.2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 471 | while let Ok((name, mut inventory)) = inventory_query.get_mut(transfer.2) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 471 | if let Ok((name, mut inventory)) = inventory_query.get_mut(transfer.2) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:497:21 [INFO] [stdout] | [INFO] [stdout] 497 | for body in bodies.get_mut(body.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 497 | while let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 497 | if let Some(body) = bodies.get_mut(body.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> examples/level6.rs:503:26 [INFO] [stdout] | [INFO] [stdout] 503 | for x in linvel.get(0) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 503 | while let Some(x) = linvel.get(0) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 503 | if let Some(x) = linvel.get(0) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | for selection in selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 66 | while let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(selection) = selection { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:92:44 [INFO] [stdout] | [INFO] [stdout] 92 | for (mut sprite, mut trans) in sprite_query.get_mut(*slot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 92 | while let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 92 | if let Ok((mut sprite, mut trans)) = sprite_query.get_mut(*slot) { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/inventory_widget.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | for item in items.get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 113 | while let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 113 | if let Some(item) = items.get(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 98 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 98 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/entities/player.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | for proximity in player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 115 | while let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 115 | if let Some(proximity) = player.forward_sensor.and_then(|it| proximity.get(it).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:374:38 [INFO] [stdout] | [INFO] [stdout] 374 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 374 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:377:38 [INFO] [stdout] | [INFO] [stdout] 377 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 377 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 377 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:383:38 [INFO] [stdout] | [INFO] [stdout] 383 | for mut proximity in e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 383 | if let Some(mut proximity) = e1.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/levels/level4.rs:386:38 [INFO] [stdout] | [INFO] [stdout] 386 | for mut proximity in e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 386 | while let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 386 | if let Some(mut proximity) = e2.and_then(|e| proximity_q.get_mut(e).ok()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:242:22 [INFO] [stdout] | [INFO] [stdout] 242 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 242 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:261:22 [INFO] [stdout] | [INFO] [stdout] 261 | for child in gizmo.gizmo_entity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 261 | while let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 261 | if let Some(child) = gizmo.gizmo_entity { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | for window in windows.get_primary() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 287 | while let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 287 | if let Some(window) = windows.get_primary() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/context_map.rs:288:23 [INFO] [stdout] | [INFO] [stdout] 288 | for cursor in window.cursor_position() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 288 | while let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 288 | if let Some(cursor) = window.cursor_position() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/inventory.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | for pos in self.pos(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 16 | while let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 16 | if let Some(pos) = self.pos(item) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:36:22 [INFO] [stdout] | [INFO] [stdout] 36 | for index in self.line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 36 | while let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 36 | if let Some(index) = self.line { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:37:25 [INFO] [stdout] | [INFO] [stdout] 37 | for line in self.lines.get(index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 37 | while let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(line) = self.lines.get(index) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 60 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/jabber.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | for line in jabbering.get_line() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 104 | while let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 104 | if let Some(line) = jabbering.get_line() { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/steering.rs:315:21 [INFO] [stdout] | [INFO] [stdout] 315 | for body in bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 315 | while let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(body) = bodies.get_mut(body_component.handle()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:31:22 [INFO] [stdout] | [INFO] [stdout] 31 | for atlas in atlases.get_mut(handle) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 31 | while let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(atlas) = atlases.get_mut(handle) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/systems/texture_atlas_utils.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | for tex in textures.get(atlas.texture.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 32 | while let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(tex) = textures.get(atlas.texture.clone()) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 24.70s [INFO] running `Command { std: "docker" "inspect" "5fbcd7c0133b156dea8816ab0d99aea15eca90e922fa8b611b495976dc94f86d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5fbcd7c0133b156dea8816ab0d99aea15eca90e922fa8b611b495976dc94f86d", kill_on_drop: false }` [INFO] [stdout] 5fbcd7c0133b156dea8816ab0d99aea15eca90e922fa8b611b495976dc94f86d