[INFO] fetching crate gallium_ecs 0.2.0... [INFO] checking gallium_ecs-0.2.0 against try#998b6603a58e47f42ccce7a67943234e96b6839e for pr-143170 [INFO] extracting crate gallium_ecs 0.2.0 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate gallium_ecs 0.2.0 [INFO] finished tweaking crates.io crate gallium_ecs 0.2.0 [INFO] tweaked toml for crates.io crate gallium_ecs 0.2.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate gallium_ecs 0.2.0 on toolchain 998b6603a58e47f42ccce7a67943234e96b6839e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 17 packages to latest compatible versions [INFO] [stderr] Adding ron v0.6.6 (available: v0.10.1) [INFO] [stderr] Adding typetag v0.1.8 (available: v0.2.20) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e3ac69a71c212638bf69d3f7bba55863d5794d4d0419e655113011f2dcd31d8f [INFO] running `Command { std: "docker" "start" "-a" "e3ac69a71c212638bf69d3f7bba55863d5794d4d0419e655113011f2dcd31d8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e3ac69a71c212638bf69d3f7bba55863d5794d4d0419e655113011f2dcd31d8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3ac69a71c212638bf69d3f7bba55863d5794d4d0419e655113011f2dcd31d8f", kill_on_drop: false }` [INFO] [stdout] e3ac69a71c212638bf69d3f7bba55863d5794d4d0419e655113011f2dcd31d8f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bf9345f7da6f62247d0f49f84b7dd0f3195e9b63cdbdc3d02160720b1c2ec4af [INFO] running `Command { std: "docker" "start" "-a" "bf9345f7da6f62247d0f49f84b7dd0f3195e9b63cdbdc3d02160720b1c2ec4af", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling ghost v0.1.19 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking erased-serde v0.3.31 [INFO] [stderr] Checking ron v0.6.6 [INFO] [stderr] Compiling ctor v0.1.26 [INFO] [stderr] Compiling typetag-impl v0.1.8 [INFO] [stderr] Checking inventory v0.2.3 [INFO] [stderr] Checking typetag v0.1.8 [INFO] [stderr] Checking gallium_ecs v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::any::TypeId` [INFO] [stdout] --> src/support.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::TypeId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use ron::*; [INFO] [stdout] | ^^^^^^ the name `de` in the type namespace is first re-exported here [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | -------- but the name `de` 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/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use ron::*; [INFO] [stdout] | ^^^^^^ the name `ser` in the type namespace is first re-exported here [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | -------- but the name `ser` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use ron::*; [INFO] [stdout] | ^^^^^^ the name `Deserializer` in the type namespace is first re-exported here [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | -------- but the name `Deserializer` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use ron::*; [INFO] [stdout] | ^^^^^^ the name `Serializer` in the type namespace is first re-exported here [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | -------- but the name `Serializer` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | ^^^^^^^^ the name `Deserialize` in the type namespace is first re-exported here [INFO] [stdout] 18 | pub use typetag::*; [INFO] [stdout] | ---------- but the name `Deserialize` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | ^^^^^^^^ the name `Serialize` in the type namespace is first re-exported here [INFO] [stdout] 18 | pub use typetag::*; [INFO] [stdout] | ---------- but the name `Serialize` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::TypeId` [INFO] [stdout] --> src/support.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::TypeId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use ron::*; [INFO] [stdout] | ^^^^^^ the name `de` in the type namespace is first re-exported here [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | -------- but the name `de` 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/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use ron::*; [INFO] [stdout] | ^^^^^^ the name `ser` in the type namespace is first re-exported here [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | -------- but the name `ser` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use ron::*; [INFO] [stdout] | ^^^^^^ the name `Deserializer` in the type namespace is first re-exported here [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | -------- but the name `Deserializer` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use ron::*; [INFO] [stdout] | ^^^^^^ the name `Serializer` in the type namespace is first re-exported here [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | -------- but the name `Serializer` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | ^^^^^^^^ the name `Deserialize` in the type namespace is first re-exported here [INFO] [stdout] 18 | pub use typetag::*; [INFO] [stdout] | ---------- but the name `Deserialize` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use serde::*; [INFO] [stdout] | ^^^^^^^^ the name `Serialize` in the type namespace is first re-exported here [INFO] [stdout] 18 | pub use typetag::*; [INFO] [stdout] | ---------- but the name `Serialize` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `typeid` is never used [INFO] [stdout] --> src/support.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) fn typeid(_: &T) -> std::any::TypeId { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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: `#[warn(non_local_definitions)]` on by default [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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[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 `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[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 `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[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 `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Strictest` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[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 `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[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 `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[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 `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[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 `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Strictest` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[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 `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/entity.rs:83:50 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn get_component(&self) -> Option> { [INFO] [stdout] | ^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 83 | pub fn get_component(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/scene.rs:55:23 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_entity(&self, id: usize) -> Option> { [INFO] [stdout] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_entity(&self, id: usize) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/scene.rs:63:25 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn get_entities(&self) -> Vec> { [INFO] [stdout] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 63 | pub fn get_entities(&self) -> Vec> { [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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [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 `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [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 `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [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 `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Strictest` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [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 `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/world.rs:40:37 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn get_resource(&self) -> Option> { [INFO] [stdout] | ^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 40 | pub fn get_resource(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `typeid` is never used [INFO] [stdout] --> src/support.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) fn typeid(_: &T) -> std::any::TypeId { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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: `#[warn(non_local_definitions)]` on by default [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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[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 `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[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 `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[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 `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Strictest` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[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 `_Component_registry` [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- `Component` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[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 `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[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 `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[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 `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Strictest` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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/component.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[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 `_ComponentStorage_registry` [INFO] [stdout] 14 | pub trait ComponentStorage { [INFO] [stdout] | ---------------- `ComponentStorage` 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/entity.rs:83:50 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn get_component(&self) -> Option> { [INFO] [stdout] | ^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 83 | pub fn get_component(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/scene.rs:55:23 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_entity(&self, id: usize) -> Option> { [INFO] [stdout] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_entity(&self, id: usize) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/scene.rs:63:25 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn get_entities(&self) -> Vec> { [INFO] [stdout] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 63 | pub fn get_entities(&self) -> Vec> { [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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [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 `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [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 `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [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 `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Strictest` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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/system.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[typetag::serde(tag = "system")] [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 `_System_registry` [INFO] [stdout] 5 | pub trait System { [INFO] [stdout] | ------ `System` 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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/world.rs:40:37 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn get_resource(&self) -> Option> { [INFO] [stdout] | ^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 40 | pub fn get_resource(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.20s [INFO] running `Command { std: "docker" "inspect" "bf9345f7da6f62247d0f49f84b7dd0f3195e9b63cdbdc3d02160720b1c2ec4af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf9345f7da6f62247d0f49f84b7dd0f3195e9b63cdbdc3d02160720b1c2ec4af", kill_on_drop: false }` [INFO] [stdout] bf9345f7da6f62247d0f49f84b7dd0f3195e9b63cdbdc3d02160720b1c2ec4af