[INFO] fetching crate otter 1.2.1...
[INFO] documenting otter-1.2.1 against 1.97.0-beta.6 for beta-rustdoc-1.98-1
[INFO] extracting crate otter 1.2.1 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate otter 1.2.1
[INFO] finished tweaking crates.io crate otter 1.2.1
[INFO] tweaked toml for crates.io crate otter 1.2.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate otter 1.2.1 on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate otter 1.2.1 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zstd-safe v4.1.6+zstd.1.5.2
[INFO] [stderr]   Downloaded zstd v0.10.2+zstd.1.5.2
[INFO] [stderr]   Downloaded jobserver v0.1.24
[INFO] [stderr]   Downloaded zip v0.6.2
[INFO] [stderr]   Downloaded base64ct v1.0.1
[INFO] [stderr]   Downloaded unicode-bidi-mirroring v0.1.0
[INFO] [stderr]   Downloaded rctree v0.4.0
[INFO] [stderr]   Downloaded sha1 v0.10.1
[INFO] [stderr]   Downloaded ctor v0.1.22
[INFO] [stderr]   Downloaded fontdb v0.9.1
[INFO] [stderr]   Downloaded ghost v0.1.4
[INFO] [stderr]   Downloaded unicode-ccc v0.1.2
[INFO] [stderr]   Downloaded inventory v0.2.3
[INFO] [stderr]   Downloaded pbkdf2 v0.10.1
[INFO] [stderr]   Downloaded svgtypes v0.8.1
[INFO] [stderr]   Downloaded simplecss v0.2.1
[INFO] [stderr]   Downloaded memmap2 v0.5.4
[INFO] [stderr]   Downloaded password-hash v0.3.2
[INFO] [stderr]   Downloaded smallvec v1.8.1
[INFO] [stderr]   Downloaded quote v1.0.20
[INFO] [stderr]   Downloaded heck v0.4.0
[INFO] [stderr]   Downloaded typetag-impl v0.1.8
[INFO] [stderr]   Downloaded term_size v0.3.2
[INFO] [stderr]   Downloaded erased-serde v0.3.21
[INFO] [stderr]   Downloaded xmlparser v0.13.3
[INFO] [stderr]   Downloaded vecdeque-stableix v1.0.0
[INFO] [stderr]   Downloaded roxmltree v0.14.1
[INFO] [stderr]   Downloaded fontconfig-parser v0.5.0
[INFO] [stderr]   Downloaded uds v0.2.6
[INFO] [stderr]   Downloaded rustversion v1.0.7
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.10
[INFO] [stderr]   Downloaded strum_macros v0.24.2
[INFO] [stderr]   Downloaded unicode-general-category v0.4.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.40
[INFO] [stderr]   Downloaded pwd v1.3.1
[INFO] [stderr]   Downloaded unicode-script v0.5.4
[INFO] [stderr]   Downloaded typetag v0.1.8
[INFO] [stderr]   Downloaded bzip2 v0.4.3
[INFO] [stderr]   Downloaded otter-support v1.2.1
[INFO] [stderr]   Downloaded paste v1.0.7
[INFO] [stderr]   Downloaded addr2line v0.17.0
[INFO] [stderr]   Downloaded otter-base v1.2.1
[INFO] [stderr]   Downloaded if_chain v1.0.2
[INFO] [stderr]   Downloaded fehler v1.0.0
[INFO] [stderr]   Downloaded fehler-macros v1.0.0
[INFO] [stderr]   Downloaded extend v1.1.2
[INFO] [stderr]   Downloaded rmp v0.8.11
[INFO] [stderr]   Downloaded rustc-demangle v0.1.21
[INFO] [stderr]   Downloaded rmp-serde v1.1.0
[INFO] [stderr]   Downloaded semver v1.0.10
[INFO] [stderr]   Downloaded time v0.3.11
[INFO] [stderr]   Downloaded kurbo v0.8.3
[INFO] [stderr]   Downloaded slotmap-fork-otter v1.0.2
[INFO] [stderr]   Downloaded backtrace v0.3.65
[INFO] [stderr]   Downloaded unicode-segmentation v1.9.0
[INFO] [stderr]   Downloaded enum-ordinalize v3.1.11
[INFO] [stderr]   Downloaded derive-into-owned v0.2.0
[INFO] [stderr]   Downloaded ordered-float v3.0.0
[INFO] [stderr]   Downloaded usvg v0.23.0
[INFO] [stderr]   Downloaded unicode-normalization v0.1.20
[INFO] [stderr]   Downloaded mio v0.8.4
[INFO] [stderr]   Downloaded educe v0.4.19
[INFO] [stderr]   Downloaded console v0.15.0
[INFO] [stderr]   Downloaded terminal_size v0.1.17
[INFO] [stderr]   Downloaded openssh-keys v0.5.0
[INFO] [stderr]   Downloaded md-5 v0.9.1
[INFO] [stderr]   Downloaded num v0.4.0
[INFO] [stderr]   Downloaded lazy-regex v2.3.0
[INFO] [stderr]   Downloaded lazy-regex-proc_macros v2.3.0
[INFO] [stderr]   Downloaded lazy-init v0.5.0
[INFO] [stderr]   Downloaded index_vec v0.1.3
[INFO] [stderr]   Downloaded anyhow v1.0.58
[INFO] [stderr]   Downloaded itertools v0.10.3
[INFO] [stderr]   Downloaded ttf-parser v0.15.2
[INFO] [stderr]   Downloaded delegate v0.7.0
[INFO] [stderr]   Downloaded const-default v1.0.0
[INFO] [stderr]   Downloaded enum_dispatch v0.3.8
[INFO] [stderr]   Downloaded enum-map v2.4.0
[INFO] [stderr]   Downloaded enum-map-derive v0.9.0
[INFO] [stderr]   Downloaded syn v1.0.98
[INFO] [stderr]   Downloaded const-default-derive v0.2.0
[INFO] [stderr]   Downloaded cast_trait_object_macros v0.1.3
[INFO] [stderr]   Downloaded async-condvar-fair v0.2.2
[INFO] [stderr]   Downloaded dlv-list v0.3.0
[INFO] [stderr]   Downloaded cast_trait_object v0.1.3
[INFO] [stderr]   Downloaded bundle-sources v0.0.1
[INFO] [stderr]   Downloaded cargo_metadata v0.11.4
[INFO] [stderr]   Downloaded semver v0.10.0
[INFO] [stderr]   Downloaded boolinator v2.4.0
[INFO] [stderr]   Downloaded ambassador v0.3.1
[INFO] [stderr]   Downloaded object v0.28.4
[INFO] [stderr]   Downloaded flexi_logger v0.22.5
[INFO] [stderr]   Downloaded nix v0.24.1
[INFO] [stderr]   Downloaded zstd-sys v1.6.3+zstd.1.5.2
[INFO] [stderr]   Downloaded gimli v0.26.1
[INFO] [stderr]   Downloaded rustybuzz v0.5.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78
[INFO] running `Command { std: "docker" "start" "9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.40
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]     Checking regex-syntax v0.6.26
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling uncased v0.9.7
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking once_cell v1.12.0
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]     Checking cpufeatures v0.2.2
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]     Checking itoa v1.0.2
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]     Checking miniz_oxide v0.5.3
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling jobserver v0.1.24
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling phf v0.10.1
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling rustversion v1.0.7
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]     Checking gimli v0.26.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling serde_json v1.0.81
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking block-buffer v0.10.2
[INFO] [stderr]    Compiling regex v1.5.6
[INFO] [stderr]     Checking crypto-common v0.1.3
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]     Checking digest v0.10.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.10
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking slab v0.4.6
[INFO] [stderr]    Compiling unicode-xid v0.2.3
[INFO] [stderr]     Checking opaque-debug v0.3.0
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking object v0.28.4
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking ryu v1.0.10
[INFO] [stderr]    Compiling time-macros v0.2.4
[INFO] [stderr]    Compiling zstd-sys v1.6.3+zstd.1.5.2
[INFO] [stderr]    Compiling backtrace v0.3.65
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling zstd-safe v4.1.6+zstd.1.5.2
[INFO] [stderr]     Checking smallvec v1.8.1
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking lazycell v1.3.0
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.0
[INFO] [stderr]     Checking unic-char-range v0.9.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]     Checking unic-common v0.9.0
[INFO] [stderr]     Checking num_threads v0.1.6
[INFO] [stderr]     Checking unic-char-property v0.9.0
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking unic-ucd-version v0.9.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking globset v0.4.9
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking inotify v0.7.1
[INFO] [stderr]     Checking sha2 v0.10.2
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]    Compiling chrono-tz-build v0.0.2
[INFO] [stderr]     Checking filetime v0.2.16
[INFO] [stderr]     Checking thread_local v1.1.4
[INFO] [stderr]    Compiling slotmap-fork-otter v1.0.2
[INFO] [stderr]     Checking time v0.3.11
[INFO] [stderr]     Checking base64ct v1.0.1
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]    Compiling unicode-segmentation v1.9.0
[INFO] [stderr]    Compiling paste v1.0.7
[INFO] [stderr]    Compiling erased-serde v0.3.21
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling anyhow v1.0.58
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]     Checking itertools v0.10.3
[INFO] [stderr]     Checking deflate v1.0.0
[INFO] [stderr]    Compiling chrono-tz v0.6.1
[INFO] [stderr]     Checking rmp v0.8.11
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking password-hash v0.3.2
[INFO] [stderr]     Checking ignore v0.4.18
[INFO] [stderr]     Checking notify v4.0.17
[INFO] [stderr]     Checking unicode-normalization v0.1.20
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking unic-ucd-segment v0.9.0
[INFO] [stderr]     Checking addr2line v0.17.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking deunicode v0.4.3
[INFO] [stderr]     Checking if_chain v1.0.2
[INFO] [stderr]     Checking unicode-bidi v0.3.8
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking htmlescape v0.3.1
[INFO] [stderr]     Checking globwalk v0.8.1
[INFO] [stderr]     Checking aes v0.7.5
[INFO] [stderr]     Checking unic-segment v0.9.0
[INFO] [stderr]     Checking slug v0.1.4
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking console v0.15.0
[INFO] [stderr]     Checking pbkdf2 v0.10.1
[INFO] [stderr]     Checking nix v0.24.1
[INFO] [stderr]     Checking png v0.17.5
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]     Checking md-5 v0.9.1
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]     Checking sha1 v0.10.1
[INFO] [stderr]     Checking num-complex v0.4.2
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking mio v0.8.4
[INFO] [stderr]     Checking pin-project-lite v0.2.9
[INFO] [stderr]     Checking constant_time_eq v0.1.5
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking dlv-list v0.3.0
[INFO] [stderr]     Checking jpeg-decoder v0.2.6
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking fastrand v1.7.0
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]     Checking humansize v1.1.1
[INFO] [stderr]     Checking bytemuck v1.9.1
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking env_logger v0.9.0
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]     Checking async-condvar-fair v0.2.2
[INFO] [stderr]     Checking tempfile v3.3.0
[INFO] [stderr]     Checking vecdeque-stableix v1.0.0
[INFO] [stderr]     Checking ordered-float v3.0.0
[INFO] [stderr]     Checking uds v0.2.6
[INFO] [stderr]     Checking lazy-init v0.5.0
[INFO] [stderr]     Checking boolinator v2.4.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking xmlparser v0.13.3
[INFO] [stderr]     Checking num v0.4.0
[INFO] [stderr]     Checking bzip2 v0.4.3
[INFO] [stderr]     Checking image v0.24.2
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling fehler-macros v1.0.0
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]    Compiling ghost v0.1.4
[INFO] [stderr]    Compiling enum-ordinalize v3.1.11
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking thiserror v1.0.31
[INFO] [stderr]    Compiling strum_macros v0.24.2
[INFO] [stderr]    Compiling extend v1.1.2
[INFO] [stderr]    Compiling ctor v0.1.22
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling educe v0.4.19
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]     Checking inventory v0.2.3
[INFO] [stderr]     Checking pwd v1.3.1
[INFO] [stderr]     Checking fehler v1.0.0
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]    Compiling lazy-regex-proc_macros v2.3.0
[INFO] [stderr]    Compiling derive-into-owned v0.2.0
[INFO] [stderr]    Compiling typetag-impl v0.1.8
[INFO] [stderr]    Compiling enum-map-derive v0.9.0
[INFO] [stderr]     Checking lazy-regex v2.3.0
[INFO] [stderr]     Checking openssh-keys v0.5.0
[INFO] [stderr]     Checking strum v0.24.1
[INFO] [stderr]    Compiling enum_dispatch v0.3.8
[INFO] [stderr]    Compiling delegate v0.7.0
[INFO] [stderr]    Compiling ambassador v0.3.1
[INFO] [stderr]     Checking structopt v0.3.26
[INFO] [stderr]     Checking toml v0.5.9
[INFO] [stderr]     Checking serde_with v1.14.0
[INFO] [stderr]     Checking rmp-serde v1.1.0
[INFO] [stderr]     Checking index_vec v0.1.3
[INFO] [stderr]     Checking enum-map v2.4.0
[INFO] [stderr]     Checking humantime-serde v1.1.1
[INFO] [stderr]     Checking flexi_logger v0.22.5
[INFO] [stderr]     Checking typetag v0.1.8
[INFO] [stderr]     Checking tera v1.16.0
[INFO] [stderr]     Checking otter-base v1.2.1
[INFO] [stderr]     Checking otter-support v1.2.1
[INFO] [stderr]    Compiling proc-macro-crate v1.1.3
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling cast_trait_object_macros v0.1.3
[INFO] [stderr]    Compiling const-default-derive v0.2.0
[INFO] [stderr]     Checking const-default v1.0.0
[INFO] [stderr]     Checking cast_trait_object v0.1.3
[INFO] [stderr]     Checking zstd v0.10.2+zstd.1.5.2
[INFO] [stderr]     Checking zip v0.6.2
[INFO] [stderr]  Documenting otter v1.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking otter v1.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/imports.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub use crate::fastsplit::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ the name `RefTraitObjectPieceTraitExt` in the type namespace is first re-exported here
[INFO] [stdout] 91 | pub use crate::gamestate::*;
[INFO] [stdout]    |         ------------------- but the name `RefTraitObjectPieceTraitExt` in the type 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: ambiguous glob re-exports
[INFO] [stdout]   --> src/prelude.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use crate::imports::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ the name `Error` in the type namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 37 | pub use otter_support::imports::*;
[INFO] [stdout]    |         ------------------------- but the name `Error` in the type namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `Error` is ambiguous
[INFO] [stdout]     --> src/global.rs:1490:8
[INFO] [stdout]      |
[INFO] [stdout] 1490 |     E: Error,
[INFO] [stdout]      |        ^^^^^ ambiguous name
[INFO] [stdout]      |
[INFO] [stdout]      = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Error` could refer to the trait imported here
[INFO] [stdout]     --> src/prelude.rs:31:9
[INFO] [stdout]      |
[INFO] [stdout]   31 | pub use crate::imports::*;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider adding an explicit import of `Error` to disambiguate
[INFO] [stdout] note: `Error` could also refer to the enum imported here
[INFO] [stdout]     --> src/prelude.rs:37:9
[INFO] [stdout]      |
[INFO] [stdout]   37 | pub use otter_support::imports::*;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider adding an explicit import of `Error` to disambiguate
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095>
[INFO] [stdout]      = note: `#[warn(ambiguous_glob_imports)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `Error` is ambiguous
[INFO] [stdout]    --> src/updates.rs:476:30
[INFO] [stdout]     |
[INFO] [stdout] 476 |   pub fn try_map<NS2, ZC2, E:Error,
[INFO] [stdout]     |                              ^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Error` could refer to the trait imported here
[INFO] [stdout]    --> src/prelude.rs:31:9
[INFO] [stdout]     |
[INFO] [stdout]  31 | pub use crate::imports::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Error` to disambiguate
[INFO] [stdout] note: `Error` could also refer to the enum imported here
[INFO] [stdout]    --> src/prelude.rs:37:9
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub use otter_support::imports::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Error` to disambiguate
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/gamestate.rs:133:43
[INFO] [stdout]     |
[INFO] [stdout] 133 |         if s.as_bytes().iter().all(|&c:&u8| (
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 134 | |         c.is_ascii_alphanumeric() ||
[INFO] [stdout]     | |________^
[INFO] [stdout] 135 |           b"-_. ()".contains(&c)
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 136 | |       )) {
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 133 ~       if s.as_bytes().iter().all(|&c:&u8| c.is_ascii_alphanumeric() ||
[INFO] [stdout] 134 ~         b"-_. ()".contains(&c)) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]     --> src/hidden.rs:1004:7
[INFO] [stdout]      |
[INFO] [stdout] 1004 |     (|| (
[INFO] [stdout]      |  _______^
[INFO] [stdout] 1005 | |     (||{
[INFO] [stdout]      | |____^
[INFO] [stdout] ...
[INFO] [stdout] 1029 |       })
[INFO] [stdout]      |  _______^
[INFO] [stdout] 1030 | |   ))()?;
[INFO] [stdout]      | |___^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1004 ~   (|| (||{
[INFO] [stdout] 1005 |       let ogpc = gpieces.get_mut(occulter).ok_or_else(
[INFO] [stdout]  ...
[INFO] [stdout] 1027 |       e
[INFO] [stdout] 1028 ~     }))()?;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/gamestate.rs:133:43
[INFO] [stdout]     |
[INFO] [stdout] 133 |         if s.as_bytes().iter().all(|&c:&u8| (
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 134 | |         c.is_ascii_alphanumeric() ||
[INFO] [stdout]     | |________^
[INFO] [stdout] 135 |           b"-_. ()".contains(&c)
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 136 | |       )) {
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 133 ~       if s.as_bytes().iter().all(|&c:&u8| c.is_ascii_alphanumeric() ||
[INFO] [stdout] 134 ~         b"-_. ()".contains(&c)) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]     --> src/hidden.rs:1004:7
[INFO] [stdout]      |
[INFO] [stdout] 1004 |     (|| (
[INFO] [stdout]      |  _______^
[INFO] [stdout] 1005 | |     (||{
[INFO] [stdout]      | |____^
[INFO] [stdout] ...
[INFO] [stdout] 1029 |       })
[INFO] [stdout]      |  _______^
[INFO] [stdout] 1030 | |   ))()?;
[INFO] [stdout]      | |___^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1004 ~   (|| (||{
[INFO] [stdout] 1005 |       let ogpc = gpieces.get_mut(occulter).ok_or_else(
[INFO] [stdout]  ...
[INFO] [stdout] 1027 |       e
[INFO] [stdout] 1028 ~     }))()?;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Use of ambiguously glob imported trait `RefTraitObjectPieceTraitExt`
[INFO] [stdout]    --> src/currency.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | use crate::prelude::*;
[INFO] [stdout]     |     -------------- `RefTraitObjectPieceTraitExt` imported ambiguously here
[INFO] [stdout] ...
[INFO] [stdout] 159 |       .downcast_piece_fastsplit()?;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: Import `RefTraitObjectPieceTraitExt` explicitly
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #147992 <https://github.com/rust-lang/rust/issues/147992>
[INFO] [stdout]     = note: `#[warn(ambiguous_glob_imported_traits)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Use of ambiguously glob imported trait `RefTraitObjectPieceTraitExt`
[INFO] [stdout]    --> src/currency.rs:225:10
[INFO] [stdout]     |
[INFO] [stdout]  16 | use crate::prelude::*;
[INFO] [stdout]     |     -------------- `RefTraitObjectPieceTraitExt` imported ambiguously here
[INFO] [stdout] ...
[INFO] [stdout] 225 |         .downcast_piece_fastsplit().ok()?;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: Import `RefTraitObjectPieceTraitExt` explicitly
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #147992 <https://github.com/rust-lang/rust/issues/147992>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/global.rs:1290:9
[INFO] [stdout]      |
[INFO] [stdout] 1290 |     for mut p in gs.pieces.values_mut() {
[INFO] [stdout]      |         ----^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ReadSeek` is never used
[INFO] [stdout]    --> src/bundles.rs:355:7
[INFO] [stdout]     |
[INFO] [stdout] 355 | trait ReadSeek: Read + io::Seek { }
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/bundles.rs:447:6
[INFO] [stdout]     |
[INFO] [stdout] 447 |   IE(IE),
[INFO] [stdout]     |   -- ^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReloadError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 447 -   IE(IE),
[INFO] [stdout] 447 +   IE(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/bundles.rs:448:14
[INFO] [stdout]     |
[INFO] [stdout] 448 |   Unloadable(BadBundle),
[INFO] [stdout]     |   ---------- ^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReloadError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 448 -   Unloadable(BadBundle),
[INFO] [stdout] 448 +   Unloadable(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/hidden.rs:891:31
[INFO] [stdout]     |
[INFO] [stdout] 891 | pub struct NascentOccultation(Occultation);
[INFO] [stdout]     |            ------------------ ^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/occultilks.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |       Distinct(OccultIlkData),
[INFO] [stdout]    |       -------- ^^^^^^^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IOccultIlk_New` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 55 -       Distinct(OccultIlkData),
[INFO] [stdout] 55 +       Distinct(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/occultilks.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 |       Mix(OccultIlkOwningId),
[INFO] [stdout]    |       --- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IOccultIlk_New` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 56 -       Mix(OccultIlkOwningId),
[INFO] [stdout] 56 +       Mix(()),
[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]    --> src/bundles.rs:516:49
[INFO] [stdout]     |
[INFO] [stdout] 516 | #[derive(Copy,Clone,Debug,EnumCount,EnumMessage,ToPrimitive)]
[INFO] [stdout]     |                                                 ^----------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `ToPrimitive` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Phase`
[INFO] [stdout] 517 | enum Phase {
[INFO] [stdout]     |      ----- `Phase` 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: `#[warn(non_local_definitions)]` on by default
[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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bundles.rs:525:49
[INFO] [stdout]     |
[INFO] [stdout] 525 | #[derive(Copy,Clone,Debug,EnumCount,EnumMessage,ToPrimitive)]
[INFO] [stdout]     |                                                 ^----------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `ToPrimitive` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_FinishProgress`
[INFO] [stdout] 526 | enum FinishProgress {
[INFO] [stdout]     |      -------------- `FinishProgress` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bundles.rs:542:51
[INFO] [stdout]     |
[INFO] [stdout] 542 |   #[derive(Copy,Clone,Debug,EnumCount,EnumMessage,ToPrimitive)]
[INFO] [stdout]     |                                                   ^----------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   `ToPrimitive` is not local
[INFO] [stdout]     |                                                   move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_ToScan` and up 2 bodies
[INFO] [stdout] 543 |   enum ToScan {
[INFO] [stdout]     |        ------ `ToScan` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/clock.rs:423:1
[INFO] [stdout]     |
[INFO] [stdout] 423 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/clock.rs:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/clock.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 444 |   #[throws(IE)]
[INFO] [stdout]     |   ------------- move the `impl` block outside of this method `svg_piece`
[INFO] [stdout] ...
[INFO] [stdout] 461 |     impl URenderState {
[INFO] [stdout]     |     ^^^^^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `URenderState` is not local
[INFO] [stdout]     |
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/currency.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | / impl_via_ambassador!{
[INFO] [stdout] 118 | |   #[dyn_upcast]
[INFO] [stdout] 119 | |   impl OutlineTrait for Banknote { image }
[INFO] [stdout] 120 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (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/currency.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/deck.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | / impl_via_ambassador!{
[INFO] [stdout]  30 | |   #[dyn_upcast]
[INFO] [stdout]  31 | |   impl OutlineTrait for Deck { shape }
[INFO] [stdout]  32 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (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/deck.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `__SelfType` is not local
[INFO] [stdout]    | `DynCast` is not local
[INFO] [stdout]    | `__ConfigType` is not local
[INFO] [stdout]    | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/dice.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout] 313 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/dice.rs:342:1
[INFO] [stdout]     |
[INFO] [stdout] 342 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fastsplit.rs:59:1
[INFO] [stdout]     |
[INFO] [stdout]  59 | / impl_via_ambassador!{
[INFO] [stdout]  60 | |   #[dyn_upcast]
[INFO] [stdout]  61 | |   impl OutlineTrait for Piece { inner() } 
[INFO] [stdout] ...   |
[INFO] [stdout]  67 | |   impl PieceTrait for Piece { inner() }
[INFO] [stdout]  68 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (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/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fastsplit.rs:59:1
[INFO] [stdout]     |
[INFO] [stdout]  59 | / impl_via_ambassador!{
[INFO] [stdout]  60 | |   #[dyn_upcast]
[INFO] [stdout]  61 | |   impl OutlineTrait for Piece { inner() } 
[INFO] [stdout] ...   |
[INFO] [stdout]  67 | |   impl PieceTrait for Piece { inner() }
[INFO] [stdout]  68 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (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/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[dyn_upcast]
[INFO] [stdout]     | -^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Config` is not local
[INFO] [stdout]     | `DynCastConfig` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (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/gamestate.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[dyn_upcast]
[INFO] [stdout]     | -^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Config` is not local
[INFO] [stdout]     | `DynCastConfigTargetTest` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (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/gamestate.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `OutlineTrait` is not local
[INFO] [stdout]     | `GetDynCastConfig` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout] 157 | pub trait OutlineTrait: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           ------------ `OutlineTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (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/gamestate.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | #[dyn_upcast]
[INFO] [stdout]     | -^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Config` is not local
[INFO] [stdout]     | `DynCastConfig` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (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/gamestate.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | #[dyn_upcast]
[INFO] [stdout]     | -^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Config` is not local
[INFO] [stdout]     | `DynCastConfigTargetTest` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (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/gamestate.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PieceBaseTrait` is not local
[INFO] [stdout]     | `GetDynCastConfig` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout] 188 | pub trait PieceBaseTrait: OutlineTrait + Send + Debug + 'static {
[INFO] [stdout]     |           -------------- `PieceBaseTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (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/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/global.rs:305:31
[INFO] [stdout]     |
[INFO] [stdout] 305 |   pub fn lock_even_destroying(&self) -> MutexGuard<InstanceContainer> {
[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] 305 |   pub fn lock_even_destroying(&self) -> MutexGuard<'_, InstanceContainer> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/global.rs:340:62
[INFO] [stdout]     |
[INFO] [stdout] 340 |   fn lock_bundles<'r>(&'r self) -> Unauthorised<BundlesGuard<'_>, A> {
[INFO] [stdout]     |                        -- the lifetime is named here         ^^ 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] help: consistently use `'r`
[INFO] [stdout]     |
[INFO] [stdout] 340 -   fn lock_bundles<'r>(&'r self) -> Unauthorised<BundlesGuard<'_>, A> {
[INFO] [stdout] 340 +   fn lock_bundles<'r>(&'r self) -> Unauthorised<BundlesGuard<'r>, A> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/global.rs:1530:21
[INFO] [stdout]      |
[INFO] [stdout] 1530 |   pub fn values_mut(&mut self) -> sm::ValuesMut<PieceId, GPiece> {
[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] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1530 |   pub fn values_mut(&mut self) -> sm::ValuesMut<'_, PieceId, GPiece> {
[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]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/hand.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout]  79 | / impl_via_ambassador!{
[INFO] [stdout]  80 | |   #[dyn_upcast]
[INFO] [stdout]  81 | |   impl OutlineTrait for Hand { shape }
[INFO] [stdout]  82 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (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/hand.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/outline.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 |     #[dyn_upcast(OutlineTrait)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     `__SelfType` is not local
[INFO] [stdout]    |     `DynCast` is not local
[INFO] [stdout]    |     `__ConfigType` is not local
[INFO] [stdout]    |     move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout] ...
[INFO] [stdout] 51 | / shape_defns! {
[INFO] [stdout] 52 | |   Circle "Circle";
[INFO] [stdout] 53 | |   Rect   "Rect"  ;
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `shape_defns` (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/outline.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `__SelfType` is not local
[INFO] [stdout]    | `DynCast` is not local
[INFO] [stdout]    | `__ConfigType` is not local
[INFO] [stdout]    | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/outline.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `DerivedDynCast` is not local
[INFO] [stdout]     |          `ConcreteDynCastConfig` is not local
[INFO] [stdout]     |          `Config` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pieces.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | / impl_via_ambassador! {
[INFO] [stdout] 109 | |   #[dyn_upcast]
[INFO] [stdout] 110 | |   impl [ Desc, Outl:'static ]
[INFO] [stdout] 111 | |     OutlineTrait for GenericSimpleShape<Desc, Outl>
[INFO] [stdout]     | |     ------------     ------------------ `GenericSimpleShape` is not local
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     `OutlineTrait` is not local
[INFO] [stdout]     | |     `OutlineTrait` is not local
[INFO] [stdout]     | |     `OutlineTrait` is not local
[INFO] [stdout]     | |     `OutlineTrait` is not local
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (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/pieces.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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]    --> src/shapelib.rs:246:32
[INFO] [stdout]     |
[INFO] [stdout] 246 |   fn unnest<'l,U>(&'l self) -> &SvgBaseName<U> where U: ?Sized, T: Borrow<U> {
[INFO] [stdout]     |                    --          ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'l`
[INFO] [stdout]     |
[INFO] [stdout] 246 |   fn unnest<'l,U>(&'l self) -> &'l SvgBaseName<U> where U: ?Sized, T: Borrow<U> {
[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]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shapelib.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | / impl_via_ambassador!{
[INFO] [stdout] 264 | |   #[dyn_upcast]
[INFO] [stdout] 265 | |   impl OutlineTrait for ItemInertForOcculted { outline }
[INFO] [stdout] 266 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (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/shapelib.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shapelib.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | / impl_via_ambassador!{
[INFO] [stdout] 347 | |   #[dyn_upcast]
[INFO] [stdout] 348 | |   impl OutlineTrait for Item { outline }
[INFO] [stdout] 349 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (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/shapelib.rs:379:1
[INFO] [stdout]     |
[INFO] [stdout] 379 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[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: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (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/spec.rs:168:10
[INFO] [stdout]     |
[INFO] [stdout] 168 | #[derive(FromPrimitive,ToPrimitive,EnumIter)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TablePermission`
[INFO] [stdout] 169 | pub enum TablePermission {
[INFO] [stdout]     |          --------------- `TablePermission` 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]    --> src/spec.rs:168:24
[INFO] [stdout]     |
[INFO] [stdout] 168 | #[derive(FromPrimitive,ToPrimitive,EnumIter)]
[INFO] [stdout]     |                        ^----------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ToPrimitive` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_TablePermission`
[INFO] [stdout] 169 | pub enum TablePermission {
[INFO] [stdout]     |          --------------- `TablePermission` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Serialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Send` is not local
[INFO] [stdout]     |   `Serialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Sync` is not local
[INFO] [stdout]     |   `Serialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Send` is not local
[INFO] [stdout]     |   `Sync` is not local
[INFO] [stdout]     |   `Serialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Strictest` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Box` is not local
[INFO] [stdout]     |   `Send` is not local
[INFO] [stdout]     |   `Sync` is not local
[INFO] [stdout]     |   `Deserialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Box` is not local
[INFO] [stdout]     |   `Deserialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Box` is not local
[INFO] [stdout]     |   `Send` is not local
[INFO] [stdout]     |   `Deserialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Box` is not local
[INFO] [stdout]     |   `Sync` is not local
[INFO] [stdout]     |   `Deserialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/updates.rs:877:34
[INFO] [stdout]     |
[INFO] [stdout] 877 |     fn pue_piece_to_tue_p(pue_p: &PUE_P, player: PlayerId)
[INFO] [stdout]     |                                  ^^^^^^ the lifetime is elided here
[INFO] [stdout] 878 |                           -> Option<TUE_P> {
[INFO] [stdout]     |                                     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 878 |                           -> Option<TUE_P<'_>> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/updates.rs:884:34
[INFO] [stdout]     |
[INFO] [stdout] 884 |     fn pue_image_to_tue_i(pue_i: &PUE_I, player: PlayerId) -> Option<TUE_I> {
[INFO] [stdout]     |                                  ^^^^^^ the lifetime is elided here  ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 884 |     fn pue_image_to_tue_i(pue_i: &PUE_I, player: PlayerId) -> Option<TUE_I<'_>> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/updates.rs:890:32
[INFO] [stdout]     |
[INFO] [stdout] 890 |     fn pue_piece_to_tue(pue_p: &PUE_P, player: PlayerId, dest: ClientId)
[INFO] [stdout]     |                                ^^^^^^ the lifetime is elided here
[INFO] [stdout] 891 |                         -> Option<TUE> {
[INFO] [stdout]     |                                   ^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 891 |                         -> Option<TUE<'_>> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 39s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: otter v1.2.1 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]    Generated /opt/rustwide/target/doc/otter/index.html and 2 other files
[INFO] running `Command { std: "docker" "inspect" "9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "DOCS_RS=1" "-e" "RUSTC_BOOTSTRAP=1" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]  Documenting otter v1.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/gamestate.rs:133:43
[INFO] [stdout]     |
[INFO] [stdout] 133 |         if s.as_bytes().iter().all(|&c:&u8| (
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 134 | |         c.is_ascii_alphanumeric() ||
[INFO] [stdout]     | |________^
[INFO] [stdout] 135 |           b"-_. ()".contains(&c)
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 136 | |       )) {
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 133 ~       if s.as_bytes().iter().all(|&c:&u8| c.is_ascii_alphanumeric() ||
[INFO] [stdout] 134 ~         b"-_. ()".contains(&c)) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]     --> src/hidden.rs:1004:7
[INFO] [stdout]      |
[INFO] [stdout] 1004 |     (|| (
[INFO] [stdout]      |  _______^
[INFO] [stdout] 1005 | |     (||{
[INFO] [stdout]      | |____^
[INFO] [stdout] ...
[INFO] [stdout] 1029 |       })
[INFO] [stdout]      |  _______^
[INFO] [stdout] 1030 | |   ))()?;
[INFO] [stdout]      | |___^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1004 ~   (|| (||{
[INFO] [stdout] 1005 |       let ogpc = gpieces.get_mut(occulter).ok_or_else(
[INFO] [stdout]  ...
[INFO] [stdout] 1027 |       e
[INFO] [stdout] 1028 ~     }))()?;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.77s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/otter/index.html
[INFO] running `Command { std: "docker" "inspect" "9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78", kill_on_drop: false }`
[INFO] [stdout] 9afbc3df1413d7090fa67d55d8cce98bef9dc4c62ba96c319cc1a0d16eef6f78
