[INFO] fetching crate fumarole 0.1.23...
[INFO] checking fumarole-0.1.23 against master#3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777 for pr-132289
[INFO] extracting crate fumarole 0.1.23 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate fumarole 0.1.23 on toolchain 3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate fumarole 0.1.23
[INFO] finished tweaking crates.io crate fumarole 0.1.23
[INFO] tweaked toml for crates.io crate fumarole 0.1.23 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate crates.io crate fumarole 0.1.23 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" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded adler32 v1.0.4
[INFO] [stderr]   Downloaded linked-hash-map v0.5.2
[INFO] [stderr]   Downloaded ordered-float v0.5.2
[INFO] [stderr]   Downloaded stb_truetype v0.2.8
[INFO] [stderr]   Downloaded num-iter v0.1.40
[INFO] [stderr]   Downloaded num-rational v0.2.3
[INFO] [stderr]   Downloaded image v0.22.4
[INFO] [stderr]   Downloaded glutin_egl_sys v0.1.4
[INFO] [stderr]   Downloaded ordered-float v1.0.2
[INFO] [stderr]   Downloaded backtrace v0.3.43
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.6.4
[INFO] [stderr]   Downloaded rayon-core v1.7.0
[INFO] [stderr]   Downloaded dispatch v0.1.4
[INFO] [stderr]   Downloaded rusttype v0.3.0
[INFO] [stderr]   Downloaded rayon v1.3.0
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.18
[INFO] [stderr]   Downloaded rusttype v0.8.2
[INFO] [stderr]   Downloaded calloop v0.4.4
[INFO] [stderr]   Downloaded downcast-rs v1.1.1
[INFO] [stderr]   Downloaded winit v0.20.0-alpha4
[INFO] [stderr]   Downloaded xml-rs v0.8.0
[INFO] [stderr]   Downloaded glutin_gles2_sys v0.1.4
[INFO] [stderr]   Downloaded glutin_glx_sys v0.1.6
[INFO] [stderr]   Downloaded glutin_wgl_sys v0.1.4
[INFO] [stderr]   Downloaded core-video-sys v0.1.3
[INFO] [stderr]   Downloaded instant v0.1.2
[INFO] [stderr]   Downloaded dlib v0.4.1
[INFO] [stderr]   Downloaded glium v0.26.0-alpha6
[INFO] [stderr]   Downloaded glutin v0.22.0-alpha6
[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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5ccb8a4b3fa28d084a2877f2677b8c1a315a977cdc742bce82204e3e53ecf3d3
[INFO] running `Command { std: "docker" "start" "-a" "5ccb8a4b3fa28d084a2877f2677b8c1a315a977cdc742bce82204e3e53ecf3d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5ccb8a4b3fa28d084a2877f2677b8c1a315a977cdc742bce82204e3e53ecf3d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ccb8a4b3fa28d084a2877f2677b8c1a315a977cdc742bce82204e3e53ecf3d3", kill_on_drop: false }`
[INFO] [stdout] 5ccb8a4b3fa28d084a2877f2677b8c1a315a977cdc742bce82204e3e53ecf3d3
[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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ef66c4148b1b3d85a68ef20240fdff314569101ca836ec55c3dfadf401702a42
[INFO] running `Command { std: "docker" "start" "-a" "ef66c4148b1b3d85a68ef20240fdff314569101ca836ec55c3dfadf401702a42", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling xml-rs v0.8.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling cc v1.0.50
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling gl_generator v0.13.1
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking mio v0.6.21
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]     Checking arrayvec v0.5.1
[INFO] [stderr]     Checking dlib v0.4.1
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]     Checking rusttype v0.8.2
[INFO] [stderr]     Checking downcast-rs v1.1.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.9
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking smallvec v0.6.13
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking crossbeam-deque v0.7.2
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.4
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.6
[INFO] [stderr]     Checking crossbeam-queue v0.2.1
[INFO] [stderr]    Compiling backtrace-sys v0.1.32
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking num_cpus v1.12.0
[INFO] [stderr]     Checking lock_api v0.3.3
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]     Checking adler32 v1.0.4
[INFO] [stderr]    Compiling syn v1.0.16
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]     Checking calloop v0.4.4
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling num-rational v0.2.3
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking instant v0.1.2
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]    Compiling glium v0.26.0-alpha6
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]     Checking gif v0.10.3
[INFO] [stderr]     Checking backtrace v0.3.43
[INFO] [stderr]     Checking ordered-float v0.5.2
[INFO] [stderr]     Checking png v0.15.3
[INFO] [stderr]     Checking stb_truetype v0.2.8
[INFO] [stderr]     Checking linked-hash-map v0.5.2
[INFO] [stderr]     Checking takeable-option v0.5.0
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking rusttype v0.3.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.18
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]     Checking tiff v0.3.1
[INFO] [stderr]     Checking image v0.22.4
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.4
[INFO] [stderr]     Checking winit v0.20.0-alpha4
[INFO] [stderr]     Checking glutin v0.22.0-alpha6
[INFO] [stderr]     Checking fumarole v0.1.23 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/math/vec2.rs:131:60
[INFO] [stdout]     |
[INFO] [stdout] 131 | #[derive(Debug, Clone, Copy, Hash, PartialEq, Eq, Default, Serialize, Deserialize)]
[INFO] [stdout]     |                                                            ^--------
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            `Serialize` is not local
[INFO] [stdout]     |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Vec2`
[INFO] [stdout] 132 | pub struct Vec2<I> {
[INFO] [stdout]     |            ---- `Vec2` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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]    --> src/math/vec2.rs:131:71
[INFO] [stdout]     |
[INFO] [stdout] 131 | #[derive(Debug, Clone, Copy, Hash, PartialEq, Eq, Default, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                       ^----------
[INFO] [stdout]     |                                                                       |
[INFO] [stdout]     |                                                                       `Deserialize` is not local
[INFO] [stdout]     |                                                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Vec2`
[INFO] [stdout] 132 | pub struct Vec2<I> {
[INFO] [stdout]     |            ---- `Vec2` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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]   --> src/math/mat2.rs:80:60
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, Copy, Hash, PartialEq, Eq, Default, Serialize, Deserialize)]
[INFO] [stdout]    |                                                            ^--------
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            `Serialize` is not local
[INFO] [stdout]    |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Mat2`
[INFO] [stdout] 81 | pub struct Mat2<I> {
[INFO] [stdout]    |            ---- `Mat2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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]   --> src/math/mat2.rs:80:71
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, Copy, Hash, PartialEq, Eq, Default, Serialize, Deserialize)]
[INFO] [stdout]    |                                                                       ^----------
[INFO] [stdout]    |                                                                       |
[INFO] [stdout]    |                                                                       `Deserialize` is not local
[INFO] [stdout]    |                                                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mat2`
[INFO] [stdout] 81 | pub struct Mat2<I> {
[INFO] [stdout]    |            ---- `Mat2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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]  --> src/transform.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, Default, Serialize, Deserialize)]
[INFO] [stdout]   |                                       ^--------
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       `Serialize` is not local
[INFO] [stdout]   |                                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Transform`
[INFO] [stdout] 9 | pub struct Transform {
[INFO] [stdout]   |            --------- `Transform` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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]  --> src/transform.rs:8:50
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, Default, Serialize, Deserialize)]
[INFO] [stdout]   |                                                  ^----------
[INFO] [stdout]   |                                                  |
[INFO] [stdout]   |                                                  `Deserialize` is not local
[INFO] [stdout]   |                                                  move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Transform`
[INFO] [stdout] 9 | pub struct Transform {
[INFO] [stdout]   |            --------- `Transform` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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]    --> src/math/vec2.rs:131:60
[INFO] [stdout]     |
[INFO] [stdout] 131 | #[derive(Debug, Clone, Copy, Hash, PartialEq, Eq, Default, Serialize, Deserialize)]
[INFO] [stdout]     |                                                            ^--------
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            `Serialize` is not local
[INFO] [stdout]     |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Vec2`
[INFO] [stdout] 132 | pub struct Vec2<I> {
[INFO] [stdout]     |            ---- `Vec2` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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]    --> src/math/vec2.rs:131:71
[INFO] [stdout]     |
[INFO] [stdout] 131 | #[derive(Debug, Clone, Copy, Hash, PartialEq, Eq, Default, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                       ^----------
[INFO] [stdout]     |                                                                       |
[INFO] [stdout]     |                                                                       `Deserialize` is not local
[INFO] [stdout]     |                                                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Vec2`
[INFO] [stdout] 132 | pub struct Vec2<I> {
[INFO] [stdout]     |            ---- `Vec2` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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]   --> src/math/mat2.rs:80:60
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, Copy, Hash, PartialEq, Eq, Default, Serialize, Deserialize)]
[INFO] [stdout]    |                                                            ^--------
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            `Serialize` is not local
[INFO] [stdout]    |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Mat2`
[INFO] [stdout] 81 | pub struct Mat2<I> {
[INFO] [stdout]    |            ---- `Mat2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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]   --> src/math/mat2.rs:80:71
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, Copy, Hash, PartialEq, Eq, Default, Serialize, Deserialize)]
[INFO] [stdout]    |                                                                       ^----------
[INFO] [stdout]    |                                                                       |
[INFO] [stdout]    |                                                                       `Deserialize` is not local
[INFO] [stdout]    |                                                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mat2`
[INFO] [stdout] 81 | pub struct Mat2<I> {
[INFO] [stdout]    |            ---- `Mat2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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]  --> src/transform.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, Default, Serialize, Deserialize)]
[INFO] [stdout]   |                                       ^--------
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       `Serialize` is not local
[INFO] [stdout]   |                                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Transform`
[INFO] [stdout] 9 | pub struct Transform {
[INFO] [stdout]   |            --------- `Transform` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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]  --> src/transform.rs:8:50
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, Default, Serialize, Deserialize)]
[INFO] [stdout]   |                                                  ^----------
[INFO] [stdout]   |                                                  |
[INFO] [stdout]   |                                                  `Deserialize` is not local
[INFO] [stdout]   |                                                  move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Transform`
[INFO] [stdout] 9 | pub struct Transform {
[INFO] [stdout]   |            --------- `Transform` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `gui`
[INFO] [stdout]  --> tests/states.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate gui;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `gui`
[INFO] [stdout]  --> examples/text.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate gui;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `gui`
[INFO] [stdout]  --> examples/pixel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate gui;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `x` is never read
[INFO] [stdout]  --> examples/image.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct ImageExample {
[INFO] [stdout]   |        ------------ field in this struct
[INFO] [stdout] 7 |     x: f32,
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ImageExample` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `gui`
[INFO] [stdout]  --> examples/empty.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate gui;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `math`
[INFO] [stdout]  --> examples/text.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use math::*;
[INFO] [stdout]   |     ^^^^ help: a similar path exists: `image::math`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `math`
[INFO] [stdout]  --> examples/pixel.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use math::*;
[INFO] [stdout]   |     ^^^^ help: a similar path exists: `image::math`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `math`
[INFO] [stdout]  --> examples/empty.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use math::*;
[INFO] [stdout]   |     ^^^^ help: a similar path exists: `image::math`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PivotExample: StateClone` is not satisfied
[INFO] [stdout]  --> examples/pivot.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl State for PivotExample { 
[INFO] [stdout]   |                ^^^^^^^^^^^^ the trait `Clone` is not implemented for `PivotExample`, which is required by `PivotExample: StateClone`
[INFO] [stdout]   |
[INFO] [stdout]   = note: required for `PivotExample` to implement `StateClone`
[INFO] [stdout] note: required by a bound in `fumarole::State`
[INFO] [stdout]  --> /opt/rustwide/workdir/src/state/state.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait State: Send + StateClone {
[INFO] [stdout]   |                         ^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] help: consider annotating `PivotExample` with `#[derive(Clone)]`
[INFO] [stdout]   |
[INFO] [stdout] 5 + #[derive(Clone)]
[INFO] [stdout] 6 | struct PivotExample {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `State` in this scope
[INFO] [stdout]  --> tests/states.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl State for Push {
[INFO] [stdout]   |      ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]   |
[INFO] [stdout] 3 + use fumarole::State;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `StateData` in this scope
[INFO] [stdout]  --> tests/states.rs:8:30
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn update(&mut self, _: &StateData) -> Transition {
[INFO] [stdout]   |                              ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 3 + use fumarole::StateData;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Transition` in this scope
[INFO] [stdout]  --> tests/states.rs:8:44
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn update(&mut self, _: &StateData) -> Transition {
[INFO] [stdout]   |                                            ^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 3 + use fumarole::Transition;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Transition`
[INFO] [stdout]   --> tests/states.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         Transition::Push(Box::new(Trans))
[INFO] [stdout]    |         ^^^^^^^^^^ use of undeclared type `Transition`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 3  + use fumarole::Transition;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `State` in this scope
[INFO] [stdout]   --> tests/states.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl State for Trans {
[INFO] [stdout]    |      ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 3  + use fumarole::State;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `StateData` in this scope
[INFO] [stdout]   --> tests/states.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn update(&mut self, _: &StateData) -> Transition {
[INFO] [stdout]    |                              ^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 3  + use fumarole::StateData;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Transition` in this scope
[INFO] [stdout]   --> tests/states.rs:18:44
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn update(&mut self, _: &StateData) -> Transition {
[INFO] [stdout]    |                                            ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 3  + use fumarole::Transition;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Transition`
[INFO] [stdout]   --> tests/states.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Transition::Trans(Box::new(Pop))
[INFO] [stdout]    |         ^^^^^^^^^^ use of undeclared type `Transition`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 3  + use fumarole::Transition;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `State` in this scope
[INFO] [stdout]   --> tests/states.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl State for Pop {
[INFO] [stdout]    |      ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 3  + use fumarole::State;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `StateData` in this scope
[INFO] [stdout]   --> tests/states.rs:27:30
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn update(&mut self, _: &StateData) -> Transition {
[INFO] [stdout]    |                              ^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 3  + use fumarole::StateData;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Transition` in this scope
[INFO] [stdout]   --> tests/states.rs:27:44
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn update(&mut self, _: &StateData) -> Transition {
[INFO] [stdout]    |                                            ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 3  + use fumarole::Transition;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Transition`
[INFO] [stdout]   --> tests/states.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         Transition::Pop
[INFO] [stdout]    |         ^^^^^^^^^^ use of undeclared type `Transition`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 3  + use fumarole::Transition;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Application`
[INFO] [stdout]   --> tests/states.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Application::new()
[INFO] [stdout]    |     ^^^^^^^^^^^ use of undeclared type `Application`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 3  + use fumarole::Application;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `self.rotation`, which is behind a `&` reference
[INFO] [stdout]   --> examples/pivot.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn draw(&self, frame: &mut Frame, _state_data: &StateData) {
[INFO] [stdout]    |             ----- this is an immutable reference
[INFO] [stdout] ...
[INFO] [stdout] 35 |             self.rotation -= _state_data.delta_time;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `self` is a `&` reference, so the data it refers to cannot be written
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `self.rotation`, which is behind a `&` reference
[INFO] [stdout]   --> examples/pivot.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn draw(&self, frame: &mut Frame, _state_data: &StateData) {
[INFO] [stdout]    |             ----- this is an immutable reference
[INFO] [stdout] ...
[INFO] [stdout] 37 |             self.rotation += _state_data.delta_time;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `self` is a `&` reference, so the data it refers to cannot be written
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0594.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fumarole` (example "pivot") due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0432, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0412, E0433, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fumarole` (example "pixel") due to 2 previous errors
[INFO] [stderr] error: could not compile `fumarole` (example "text") due to 2 previous errors
[INFO] [stderr] error: could not compile `fumarole` (test "states") due to 14 previous errors
[INFO] [stderr] error: could not compile `fumarole` (example "empty") due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "ef66c4148b1b3d85a68ef20240fdff314569101ca836ec55c3dfadf401702a42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef66c4148b1b3d85a68ef20240fdff314569101ca836ec55c3dfadf401702a42", kill_on_drop: false }`
[INFO] [stdout] ef66c4148b1b3d85a68ef20240fdff314569101ca836ec55c3dfadf401702a42
