[INFO] cloning repository https://github.com/romanb/hexkit [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/romanb/hexkit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fromanb%2Fhexkit", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fromanb%2Fhexkit'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e42b6b8c2a6db91622ec5001a818b32af27cc87a [INFO] testing romanb/hexkit against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fromanb%2Fhexkit" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/romanb/hexkit [INFO] finished tweaking git repo https://github.com/romanb/hexkit [INFO] tweaked toml for git repo https://github.com/romanb/hexkit written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/romanb/hexkit on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/romanb/hexkit 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating git repository `https://github.com/ggez/ggez` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded mint v0.5.5 [INFO] [stderr] Downloaded zip v0.5.6 [INFO] [stderr] Downloaded adler32 v1.1.0 [INFO] [stderr] Downloaded num-derive v0.3.0 [INFO] [stderr] Downloaded lyon_path v0.14.0 [INFO] [stderr] Downloaded podio v0.1.7 [INFO] [stderr] Downloaded lyon_algorithms v0.14.0 [INFO] [stderr] Downloaded lyon_geom v0.14.1 [INFO] [stderr] Downloaded lyon_tessellation v0.14.2 [INFO] [stderr] Downloaded syn v1.0.34 [INFO] [stderr] Downloaded euclid v0.20.14 [INFO] [stderr] Downloaded bzip2-sys v0.1.9+1.0.8 [INFO] [stderr] Downloaded lyon v0.14.2 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 946f5ec25447a7f3382837e7d57ab4efb08134761942c9145fc1a660896ab063 [INFO] running `Command { std: "docker" "start" "-a" "946f5ec25447a7f3382837e7d57ab4efb08134761942c9145fc1a660896ab063", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "946f5ec25447a7f3382837e7d57ab4efb08134761942c9145fc1a660896ab063", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "946f5ec25447a7f3382837e7d57ab4efb08134761942c9145fc1a660896ab063", kill_on_drop: false }` [INFO] [stdout] 946f5ec25447a7f3382837e7d57ab4efb08134761942c9145fc1a660896ab063 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6d86f6debc0a0f9eb329726ead64588f950b2f779a0358f81cdf1340284d19e5 [INFO] running `Command { std: "docker" "start" "-a" "6d86f6debc0a0f9eb329726ead64588f950b2f779a0358f81cdf1340284d19e5", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.72 [INFO] [stderr] Compiling libm v0.2.1 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling xml-rs v0.8.3 [INFO] [stderr] Compiling pkg-config v0.3.18 [INFO] [stderr] Compiling serde v1.0.114 [INFO] [stderr] Compiling cc v1.0.58 [INFO] [stderr] Compiling syn v1.0.34 [INFO] [stderr] Compiling memoffset v0.5.5 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling libloading v0.6.2 [INFO] [stderr] Compiling gimli v0.22.0 [INFO] [stderr] Compiling stb_truetype v0.3.1 [INFO] [stderr] Compiling miniz_oxide v0.4.0 [INFO] [stderr] Compiling object v0.20.0 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling rustc-demangle v0.1.16 [INFO] [stderr] Compiling smallvec v0.6.13 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling dlib v0.4.2 [INFO] [stderr] Compiling error-chain v0.12.2 [INFO] [stderr] Compiling wayland-scanner v0.21.13 [INFO] [stderr] Compiling gl_generator v0.13.1 [INFO] [stderr] Compiling wayland-sys v0.21.13 [INFO] [stderr] Compiling crossbeam-deque v0.7.3 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling serde_json v1.0.56 [INFO] [stderr] Compiling alsa-sys v0.1.2 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling pulldown-cmark v0.2.0 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling glutin_glx_sys v0.1.6 [INFO] [stderr] Compiling glutin_egl_sys v0.1.4 [INFO] [stderr] Compiling gfx_gl v0.6.1 [INFO] [stderr] Compiling addr2line v0.13.0 [INFO] [stderr] Compiling approx v0.3.2 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling ordered-float v1.1.0 [INFO] [stderr] Compiling wayland-client v0.21.13 [INFO] [stderr] Compiling wayland-protocols v0.21.13 [INFO] [stderr] Compiling line_drawing v0.7.0 [INFO] [stderr] Compiling rusttype v0.8.3 [INFO] [stderr] Compiling euclid v0.20.14 [INFO] [stderr] Compiling memmap v0.7.0 [INFO] [stderr] Compiling minimp3-sys v0.3.2 [INFO] [stderr] Compiling bzip2-sys v0.1.9+1.0.8 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling lock_api v0.3.4 [INFO] [stderr] Compiling draw_state v0.8.0 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling adler32 v1.1.0 [INFO] [stderr] Compiling nix v0.15.0 [INFO] [stderr] Compiling rusttype v0.7.9 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling andrew v0.2.1 [INFO] [stderr] Compiling backtrace v0.3.50 [INFO] [stderr] Compiling gfx_core v0.9.2 [INFO] [stderr] Compiling lyon_geom v0.14.1 [INFO] [stderr] Compiling synstructure v0.12.4 [INFO] [stderr] Compiling sid v0.5.2 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling raw-window-handle v0.3.3 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Compiling bytecount v0.4.0 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling lyon_path v0.14.0 [INFO] [stderr] Compiling glob v0.2.11 [INFO] [stderr] Compiling matrixmultiply v0.2.3 [INFO] [stderr] Compiling cpal v0.10.0 [INFO] [stderr] Compiling wayland-commons v0.21.13 [INFO] [stderr] Compiling alga v0.9.3 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling serde_derive v1.0.114 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling inflate v0.4.5 [INFO] [stderr] Compiling deflate v0.7.20 [INFO] [stderr] Compiling slice-deque v0.3.0 [INFO] [stderr] Compiling ogg v0.7.0 [INFO] [stderr] Compiling xi-unicode v0.2.1 [INFO] [stderr] Compiling mint v0.5.5 [INFO] [stderr] Compiling uuid v0.8.1 [INFO] [stderr] Compiling gif v0.10.3 [INFO] [stderr] Compiling minimp3 v0.3.5 [INFO] [stderr] Compiling gfx_device_gl v0.16.2 [INFO] [stderr] Compiling glyph_brush_layout v0.1.9 [INFO] [stderr] Compiling png v0.15.3 [INFO] [stderr] Compiling lewton v0.9.4 [INFO] [stderr] Compiling bzip2 v0.3.3 [INFO] [stderr] Compiling lyon_tessellation v0.14.2 [INFO] [stderr] Compiling lyon_algorithms v0.14.0 [INFO] [stderr] Compiling nalgebra v0.18.1 [INFO] [stderr] Compiling twox-hash v1.5.0 [INFO] [stderr] Compiling dirs-sys v0.3.5 [INFO] [stderr] Compiling jpeg-decoder v0.1.20 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling podio v0.1.7 [INFO] [stderr] Compiling glyph_brush v0.6.3 [INFO] [stderr] Compiling zip v0.5.6 [INFO] [stderr] Compiling lyon v0.14.2 [INFO] [stderr] Compiling directories v2.0.2 [INFO] [stderr] Compiling num-derive v0.3.0 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Compiling smart-default v0.5.2 [INFO] [stderr] Compiling toml v0.5.6 [INFO] [stderr] Compiling gfx v0.18.2 [INFO] [stderr] Compiling either v1.5.3 [INFO] [stderr] Compiling gilrs-core v0.2.6 [INFO] [stderr] Compiling rodio v0.10.0 [INFO] [stderr] Compiling gilrs v0.7.4 [INFO] [stderr] Compiling tiff v0.3.1 [INFO] [stderr] Compiling image v0.22.5 [INFO] [stderr] Compiling cargo_metadata v0.6.4 [INFO] [stderr] Compiling skeptic v0.13.4 [INFO] [stderr] Compiling ggez v0.5.1 (https://github.com/ggez/ggez?branch=devel#b728d961) [INFO] [stderr] Compiling hexacore v0.1.0 (/opt/rustwide/workdir/hexacore) [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `Add` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use vec::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] = note: `#[warn(hidden_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `Sub` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use vec::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> hexacore/src/grid.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use coords::*; [INFO] [stdout] | ^^^^^^^^^ the name `lerp` in the value namespace is first re-exported here [INFO] [stdout] 5 | [INFO] [stdout] 6 | use crate::geo::*; [INFO] [stdout] | ------------- but the name `lerp` in the value namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/geo.rs:344:10 [INFO] [stdout] | [INFO] [stdout] 344 | #[derive(FromPrimitive, ToPrimitive, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Z6` [INFO] [stdout] 345 | pub enum Z6 { [INFO] [stdout] | -- `Z6` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/geo.rs:344:25 [INFO] [stdout] | [INFO] [stdout] 344 | #[derive(FromPrimitive, ToPrimitive, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Z6` [INFO] [stdout] 345 | pub enum Z6 { [INFO] [stdout] | -- `Z6` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> hexacore/src/grid.rs:97:32 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn iter_within<'a>(&'a self, b: &'a Bounds) [INFO] [stdout] | -- -- the lifetime is named here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] 97 | -> impl Iterator + 'a [INFO] [stdout] | ^^ ^^^^^^^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 97 | -> impl Iterator + 'a [INFO] [stdout] | ++ ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:151:10 [INFO] [stdout] | [INFO] [stdout] 151 | #[derive(FromPrimitive, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FlatTopDirection` [INFO] [stdout] 152 | pub enum FlatTopDirection { [INFO] [stdout] | ---------------- `FlatTopDirection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:173:10 [INFO] [stdout] | [INFO] [stdout] 173 | #[derive(FromPrimitive, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FlatTopDiagonal` [INFO] [stdout] 174 | pub enum FlatTopDiagonal { [INFO] [stdout] | --------------- `FlatTopDiagonal` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | #[derive(Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PointyTopDirection` [INFO] [stdout] 193 | pub enum PointyTopDirection { [INFO] [stdout] | ------------------ `PointyTopDirection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | #[derive(Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PointyTopDiagonal` [INFO] [stdout] 215 | pub enum PointyTopDiagonal { [INFO] [stdout] | ----------------- `PointyTopDiagonal` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling smithay-client-toolkit v0.4.6 [INFO] [stderr] Compiling winit v0.19.5 [INFO] [stderr] Compiling glutin v0.20.1 [INFO] [stderr] Compiling gfx_window_glutin v0.30.0 [INFO] [stderr] Compiling hexggez v0.1.0 (/opt/rustwide/workdir/hexggez) [INFO] [stderr] Compiling hexspace v0.1.0 (/opt/rustwide/workdir/hexspace) [INFO] [stdout] warning: field `start` is never read [INFO] [stdout] --> hexspace/src/world.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 159 | pub struct Movement { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 160 | pub entity: Entity, [INFO] [stdout] 161 | pub start: Coords, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> hexspace/src/ui.rs:213:54 [INFO] [stdout] | [INFO] [stdout] 213 | Button::IncreaseCost => for s in &self.selected { [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] 213 - Button::IncreaseCost => for s in &self.selected { [INFO] [stdout] 213 + Button::IncreaseCost => while let Some(s) = &self.selected { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 213 - Button::IncreaseCost => for s in &self.selected { [INFO] [stdout] 213 + Button::IncreaseCost => if let Some(s) = &self.selected { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> hexspace/src/ui.rs:216:54 [INFO] [stdout] | [INFO] [stdout] 216 | Button::DecreaseCost => for s in &self.selected { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 216 - Button::DecreaseCost => for s in &self.selected { [INFO] [stdout] 216 + Button::DecreaseCost => while let Some(s) = &self.selected { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 216 - Button::DecreaseCost => for s in &self.selected { [INFO] [stdout] 216 + Button::DecreaseCost => if let Some(s) = &self.selected { [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] --> hexspace/src/ui.rs:314:24 [INFO] [stdout] | [INFO] [stdout] 314 | for hex in self.view.grid().get(*pos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 314 - for hex in self.view.grid().get(*pos) { [INFO] [stdout] 314 + while let Some(hex) = self.view.grid().get(*pos) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 314 - for hex in self.view.grid().get(*pos) { [INFO] [stdout] 314 + if let Some(hex) = self.view.grid().get(*pos) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> hexspace/src/world.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn name(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 191 | pub fn name(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 35s [INFO] running `Command { std: "docker" "inspect" "6d86f6debc0a0f9eb329726ead64588f950b2f779a0358f81cdf1340284d19e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d86f6debc0a0f9eb329726ead64588f950b2f779a0358f81cdf1340284d19e5", kill_on_drop: false }` [INFO] [stdout] 6d86f6debc0a0f9eb329726ead64588f950b2f779a0358f81cdf1340284d19e5 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 464ab69cc2db0b7c2854f1c858400111914df87f5910158ea0a8e8d43a1702cc [INFO] running `Command { std: "docker" "start" "-a" "464ab69cc2db0b7c2854f1c858400111914df87f5910158ea0a8e8d43a1702cc", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `Add` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use vec::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] = note: `#[warn(hidden_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `Sub` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use vec::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> hexacore/src/grid.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use coords::*; [INFO] [stdout] | ^^^^^^^^^ the name `lerp` in the value namespace is first re-exported here [INFO] [stdout] 5 | [INFO] [stdout] 6 | use crate::geo::*; [INFO] [stdout] | ------------- but the name `lerp` in the value namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/geo.rs:344:10 [INFO] [stdout] | [INFO] [stdout] 344 | #[derive(FromPrimitive, ToPrimitive, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Z6` [INFO] [stdout] 345 | pub enum Z6 { [INFO] [stdout] | -- `Z6` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/geo.rs:344:25 [INFO] [stdout] | [INFO] [stdout] 344 | #[derive(FromPrimitive, ToPrimitive, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Z6` [INFO] [stdout] 345 | pub enum Z6 { [INFO] [stdout] | -- `Z6` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> hexacore/src/grid.rs:97:32 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn iter_within<'a>(&'a self, b: &'a Bounds) [INFO] [stdout] | -- -- the lifetime is named here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] 97 | -> impl Iterator + 'a [INFO] [stdout] | ^^ ^^^^^^^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 97 | -> impl Iterator + 'a [INFO] [stdout] | ++ ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:151:10 [INFO] [stdout] | [INFO] [stdout] 151 | #[derive(FromPrimitive, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FlatTopDirection` [INFO] [stdout] 152 | pub enum FlatTopDirection { [INFO] [stdout] | ---------------- `FlatTopDirection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:173:10 [INFO] [stdout] | [INFO] [stdout] 173 | #[derive(FromPrimitive, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FlatTopDiagonal` [INFO] [stdout] 174 | pub enum FlatTopDiagonal { [INFO] [stdout] | --------------- `FlatTopDiagonal` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | #[derive(Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PointyTopDirection` [INFO] [stdout] 193 | pub enum PointyTopDirection { [INFO] [stdout] | ------------------ `PointyTopDirection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | #[derive(Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PointyTopDiagonal` [INFO] [stdout] 215 | pub enum PointyTopDiagonal { [INFO] [stdout] | ----------------- `PointyTopDiagonal` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling ppv-lite86 v0.2.8 [INFO] [stderr] Compiling regex-syntax v0.6.18 [INFO] [stderr] Compiling hexggez v0.1.0 (/opt/rustwide/workdir/hexggez) [INFO] [stderr] Compiling hexspace v0.1.0 (/opt/rustwide/workdir/hexspace) [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stdout] warning: field `start` is never read [INFO] [stdout] --> hexspace/src/world.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 159 | pub struct Movement { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 160 | pub entity: Entity, [INFO] [stdout] 161 | pub start: Coords, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> hexspace/src/ui.rs:213:54 [INFO] [stdout] | [INFO] [stdout] 213 | Button::IncreaseCost => for s in &self.selected { [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] 213 - Button::IncreaseCost => for s in &self.selected { [INFO] [stdout] 213 + Button::IncreaseCost => while let Some(s) = &self.selected { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 213 - Button::IncreaseCost => for s in &self.selected { [INFO] [stdout] 213 + Button::IncreaseCost => if let Some(s) = &self.selected { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> hexspace/src/ui.rs:216:54 [INFO] [stdout] | [INFO] [stdout] 216 | Button::DecreaseCost => for s in &self.selected { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 216 - Button::DecreaseCost => for s in &self.selected { [INFO] [stdout] 216 + Button::DecreaseCost => while let Some(s) = &self.selected { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 216 - Button::DecreaseCost => for s in &self.selected { [INFO] [stdout] 216 + Button::DecreaseCost => if let Some(s) = &self.selected { [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] --> hexspace/src/ui.rs:314:24 [INFO] [stdout] | [INFO] [stdout] 314 | for hex in self.view.grid().get(*pos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 314 - for hex in self.view.grid().get(*pos) { [INFO] [stdout] 314 + while let Some(hex) = self.view.grid().get(*pos) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 314 - for hex in self.view.grid().get(*pos) { [INFO] [stdout] 314 + if let Some(hex) = self.view.grid().get(*pos) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> hexspace/src/world.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn name(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 191 | pub fn name(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling aho-corasick v0.7.13 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling regex v1.3.9 [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stderr] Compiling quickcheck v0.9.2 [INFO] [stderr] Compiling hexacore v0.1.0 (/opt/rustwide/workdir/hexacore) [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `Add` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use vec::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] = note: `#[warn(hidden_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `Sub` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use vec::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> hexacore/src/grid/coords/cube.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{ Add, Sub }; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> hexacore/src/grid.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use coords::*; [INFO] [stdout] | ^^^^^^^^^ the name `lerp` in the value namespace is first re-exported here [INFO] [stdout] 5 | [INFO] [stdout] 6 | use crate::geo::*; [INFO] [stdout] | ------------- but the name `lerp` in the value namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/geo.rs:344:10 [INFO] [stdout] | [INFO] [stdout] 344 | #[derive(FromPrimitive, ToPrimitive, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Z6` [INFO] [stdout] 345 | pub enum Z6 { [INFO] [stdout] | -- `Z6` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/geo.rs:344:25 [INFO] [stdout] | [INFO] [stdout] 344 | #[derive(FromPrimitive, ToPrimitive, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Z6` [INFO] [stdout] 345 | pub enum Z6 { [INFO] [stdout] | -- `Z6` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> hexacore/src/grid.rs:97:32 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn iter_within<'a>(&'a self, b: &'a Bounds) [INFO] [stdout] | -- -- the lifetime is named here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] 97 | -> impl Iterator + 'a [INFO] [stdout] | ^^ ^^^^^^^^ -- the same lifetime is named here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 97 | -> impl Iterator + 'a [INFO] [stdout] | ++ ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:151:10 [INFO] [stdout] | [INFO] [stdout] 151 | #[derive(FromPrimitive, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FlatTopDirection` [INFO] [stdout] 152 | pub enum FlatTopDirection { [INFO] [stdout] | ---------------- `FlatTopDirection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:173:10 [INFO] [stdout] | [INFO] [stdout] 173 | #[derive(FromPrimitive, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FlatTopDiagonal` [INFO] [stdout] 174 | pub enum FlatTopDiagonal { [INFO] [stdout] | --------------- `FlatTopDiagonal` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | #[derive(Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PointyTopDirection` [INFO] [stdout] 193 | pub enum PointyTopDirection { [INFO] [stdout] | ------------------ `PointyTopDirection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> hexacore/src/grid/coords/cube/vec.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | #[derive(Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PointyTopDiagonal` [INFO] [stdout] 215 | pub enum PointyTopDiagonal { [INFO] [stdout] | ----------------- `PointyTopDiagonal` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 8.90s [INFO] running `Command { std: "docker" "inspect" "464ab69cc2db0b7c2854f1c858400111914df87f5910158ea0a8e8d43a1702cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "464ab69cc2db0b7c2854f1c858400111914df87f5910158ea0a8e8d43a1702cc", kill_on_drop: false }` [INFO] [stdout] 464ab69cc2db0b7c2854f1c858400111914df87f5910158ea0a8e8d43a1702cc [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] cea81475f6051dd63ca4e722ff25b1e3730fa1b71145e29aabef3d8c0574fbf1 [INFO] running `Command { std: "docker" "start" "-a" "cea81475f6051dd63ca4e722ff25b1e3730fa1b71145e29aabef3d8c0574fbf1", kill_on_drop: false }` [INFO] [stderr] warning: private item shadows public glob re-export [INFO] [stderr] --> hexacore/src/grid/coords/cube.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | use std::ops::{ Add, Sub }; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: the name `Add` in the type namespace is supposed to be publicly re-exported here [INFO] [stderr] --> hexacore/src/grid/coords/cube.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | pub use vec::*; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] note: but the private item here shadows it [INFO] [stderr] --> hexacore/src/grid/coords/cube.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | use std::ops::{ Add, Sub }; [INFO] [stderr] | ^^^ [INFO] [stderr] = note: `#[warn(hidden_glob_reexports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: private item shadows public glob re-export [INFO] [stderr] --> hexacore/src/grid/coords/cube.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use std::ops::{ Add, Sub }; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: the name `Sub` in the type namespace is supposed to be publicly re-exported here [INFO] [stderr] --> hexacore/src/grid/coords/cube.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | pub use vec::*; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] note: but the private item here shadows it [INFO] [stderr] --> hexacore/src/grid/coords/cube.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use std::ops::{ Add, Sub }; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: ambiguous glob re-exports [INFO] [stderr] --> hexacore/src/grid.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | pub use coords::*; [INFO] [stderr] | ^^^^^^^^^ the name `lerp` in the value namespace is first re-exported here [INFO] [stderr] 5 | [INFO] [stderr] 6 | use crate::geo::*; [INFO] [stderr] | ------------- but the name `lerp` in the value namespace is also re-exported here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> hexacore/src/geo.rs:344:10 [INFO] [stderr] | [INFO] [stderr] 344 | #[derive(FromPrimitive, ToPrimitive, Debug)] [INFO] [stderr] | ^------------ [INFO] [stderr] | | [INFO] [stderr] | `FromPrimitive` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Z6` [INFO] [stderr] 345 | pub enum Z6 { [INFO] [stderr] | -- `Z6` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> hexacore/src/geo.rs:344:25 [INFO] [stderr] | [INFO] [stderr] 344 | #[derive(FromPrimitive, ToPrimitive, Debug)] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `ToPrimitive` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Z6` [INFO] [stderr] 345 | pub enum Z6 { [INFO] [stderr] | -- `Z6` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> hexacore/src/grid.rs:97:32 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn iter_within<'a>(&'a self, b: &'a Bounds) [INFO] [stderr] | -- -- the lifetime is named here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is named here [INFO] [stderr] 97 | -> impl Iterator + 'a [INFO] [stderr] | ^^ ^^^^^^^^ -- the same lifetime is named here [INFO] [stderr] | | | [INFO] [stderr] | | the same lifetime is elided here [INFO] [stderr] | the same lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 97 | -> impl Iterator + 'a [INFO] [stderr] | ++ ++ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> hexacore/src/grid/coords/cube/vec.rs:151:10 [INFO] [stderr] | [INFO] [stderr] 151 | #[derive(FromPrimitive, Debug)] [INFO] [stderr] | ^------------ [INFO] [stderr] | | [INFO] [stderr] | `FromPrimitive` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FlatTopDirection` [INFO] [stderr] 152 | pub enum FlatTopDirection { [INFO] [stderr] | ---------------- `FlatTopDirection` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> hexacore/src/grid/coords/cube/vec.rs:173:10 [INFO] [stderr] | [INFO] [stderr] 173 | #[derive(FromPrimitive, Debug)] [INFO] [stderr] | ^------------ [INFO] [stderr] | | [INFO] [stderr] | `FromPrimitive` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FlatTopDiagonal` [INFO] [stderr] 174 | pub enum FlatTopDiagonal { [INFO] [stderr] | --------------- `FlatTopDiagonal` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> hexacore/src/grid/coords/cube/vec.rs:192:17 [INFO] [stderr] | [INFO] [stderr] 192 | #[derive(Debug, FromPrimitive)] [INFO] [stderr] | ^------------ [INFO] [stderr] | | [INFO] [stderr] | `FromPrimitive` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PointyTopDirection` [INFO] [stderr] 193 | pub enum PointyTopDirection { [INFO] [stderr] | ------------------ `PointyTopDirection` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> hexacore/src/grid/coords/cube/vec.rs:214:17 [INFO] [stderr] | [INFO] [stderr] 214 | #[derive(Debug, FromPrimitive)] [INFO] [stderr] | ^------------ [INFO] [stderr] | | [INFO] [stderr] | `FromPrimitive` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PointyTopDiagonal` [INFO] [stderr] 215 | pub enum PointyTopDiagonal { [INFO] [stderr] | ----------------- `PointyTopDiagonal` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `hexacore` (lib) generated 10 warnings (run `cargo fix --lib -p hexacore` to apply 1 suggestion) [INFO] [stderr] warning: field `start` is never read [INFO] [stderr] --> hexspace/src/world.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 159 | pub struct Movement { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] 160 | pub entity: Entity, [INFO] [stderr] 161 | pub start: Coords, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> hexspace/src/ui.rs:213:54 [INFO] [stderr] | [INFO] [stderr] 213 | Button::IncreaseCost => for s in &self.selected { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 213 - Button::IncreaseCost => for s in &self.selected { [INFO] [stderr] 213 + Button::IncreaseCost => while let Some(s) = &self.selected { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 213 - Button::IncreaseCost => for s in &self.selected { [INFO] [stderr] 213 + Button::IncreaseCost => if let Some(s) = &self.selected { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> hexspace/src/ui.rs:216:54 [INFO] [stderr] | [INFO] [stderr] 216 | Button::DecreaseCost => for s in &self.selected { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 216 - Button::DecreaseCost => for s in &self.selected { [INFO] [stderr] 216 + Button::DecreaseCost => while let Some(s) = &self.selected { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 216 - Button::DecreaseCost => for s in &self.selected { [INFO] [stderr] 216 + Button::DecreaseCost => if let Some(s) = &self.selected { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> hexspace/src/ui.rs:314:24 [INFO] [stderr] | [INFO] [stderr] 314 | for hex in self.view.grid().get(*pos) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 314 - for hex in self.view.grid().get(*pos) { [INFO] [stderr] 314 + while let Some(hex) = self.view.grid().get(*pos) { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 314 - for hex in self.view.grid().get(*pos) { [INFO] [stderr] 314 + if let Some(hex) = self.view.grid().get(*pos) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> hexspace/src/world.rs:191:17 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn name(&self) -> Cow { [INFO] [stderr] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 191 | pub fn name(&self) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `hexspace` (bin "hexspace" test) generated 5 warnings (run `cargo fix --bin "hexspace" --tests` to apply 1 suggestion) [INFO] [stderr] warning: `hexacore` (lib test) generated 10 warnings (10 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.88s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hexacore-1546233ffc8982b4) [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test geo::tests::test_z6_add ... ok [INFO] [stdout] test geo::tests::prop_z6_associativity ... ok [INFO] [stdout] test geo::tests::prop_bounds ... ok [INFO] [stdout] test grid::coords::axial::tests::prop_from_to_cube_identity ... ok [INFO] [stdout] test geo::tests::prop_from_to_pixel_identity ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_cube_diagonal_neighbours ... ok [INFO] [stdout] test geo::tests::prop_z6_commutativity ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_cube_round_valid ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_cube_to_pixel_origin ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_cube_neighbours ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_new_cube ... ok [INFO] [stdout] test geo::tests::prop_z6_inverses ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_cube_from_to_pixel_identity ... ok [INFO] [stdout] test grid::coords::offset::tests::prop_from_to_cube_identity ... ok [INFO] [stdout] test grid::coords::cube::vec::tests::prop_vec_rotate ... ok [INFO] [stdout] test grid::coords::cube::vec::tests::test_cube_vectors_valid ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_cube_distance ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_walk_ring ... ok [INFO] [stdout] test geo::tests::prop_to_pixel_distance ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_range ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_range_visible_all ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_beeline_distance ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_range_visible_blocked_dir ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_range_overlapping ... ok [INFO] [stdout] test grid::tests::prop_new_grid ... ok [INFO] [stdout] test grid::coords::cube::tests::prop_walk_range ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.24s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hexggez-3526575b32b1d2c9) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/hexspace-15f5f4206e51e67b) [INFO] [stderr] Doc-tests hexacore [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test hexacore/src/geo.rs - geo::Schema::from_pixel (line 174) ... ignored [INFO] [stdout] test hexacore/src/geo.rs - geo::Schema::to_pixel (line 164) ... ignored [INFO] [stdout] test hexacore/src/grid/coords/cube.rs - grid::coords::cube::Cube::from_pixel (line 107) ... ignored [INFO] [stdout] test hexacore/src/grid/coords/cube.rs - grid::coords::cube::Cube::to_pixel (line 97) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests hexggez [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "cea81475f6051dd63ca4e722ff25b1e3730fa1b71145e29aabef3d8c0574fbf1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cea81475f6051dd63ca4e722ff25b1e3730fa1b71145e29aabef3d8c0574fbf1", kill_on_drop: false }` [INFO] [stdout] cea81475f6051dd63ca4e722ff25b1e3730fa1b71145e29aabef3d8c0574fbf1