[INFO] fetching crate pi_world 0.2.16...
[INFO] building pi_world-0.2.16 against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] extracting crate pi_world 0.2.16 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate pi_world 0.2.16
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate pi_world 0.2.16
[INFO] tweaked toml for crates.io crate pi_world 0.2.16 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate pi_world 0.2.16 on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate pi_world 0.2.16 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pi_wheel v0.1.0
[INFO] [stderr]   Downloaded pi_time v0.5.1
[INFO] [stderr]   Downloaded ctor v0.2.9
[INFO] [stderr]   Downloaded pi_world_macros v0.1.3
[INFO] [stderr]   Downloaded pi_share v0.5.2
[INFO] [stderr]   Downloaded pi_arr v0.20.7
[INFO] [stderr]   Downloaded pi_key_alloter v0.6.1
[INFO] [stderr]   Downloaded serde_derive v1.0.203
[INFO] [stderr]   Downloaded pi_proc_macros v0.1.0
[INFO] [stderr]   Downloaded cgmath v0.18.0
[INFO] [stderr]   Downloaded web-time v0.2.4
[INFO] [stderr]   Downloaded bevy_utils_proc_macros v0.13.2
[INFO] [stderr]   Downloaded bevy_ptr v0.13.2
[INFO] [stderr]   Downloaded derive-deref-rs v0.1.1
[INFO] [stderr]   Downloaded pi_cancel_timer v0.2.0
[INFO] [stderr]   Downloaded pi_wrr v0.1.1
[INFO] [stderr]   Downloaded serde v1.0.203
[INFO] [stderr]   Downloaded bevy_utils v0.13.2
[INFO] [stderr]   Downloaded pi_slot_deque v0.2.1
[INFO] [stderr]   Downloaded pi_append_vec v0.6.2
[INFO] [stderr]   Downloaded pi_vec_remain v0.2.1
[INFO] [stderr]   Downloaded pi_slot_wheel v0.2.0
[INFO] [stderr]   Downloaded pi_map v0.2.3
[INFO] [stderr]   Downloaded pi_ext_heap v0.1.1
[INFO] [stderr]   Downloaded pi_timer v0.1.0
[INFO] [stderr]   Downloaded cc v1.2.20
[INFO] [stderr]   Downloaded pi-async-rt v0.2.5
[INFO] [stderr]   Downloaded pi_hash v0.1.1
[INFO] [stderr]   Downloaded pi_print_any v0.1.2
[INFO] [stderr]   Downloaded pi_slot v0.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 23c94ff6fe984bb9cdabacbf3e612dda53d30e7a0930e630d673297e8a55c04d
[INFO] running `Command { std: "docker" "start" "-a" "23c94ff6fe984bb9cdabacbf3e612dda53d30e7a0930e630d673297e8a55c04d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "23c94ff6fe984bb9cdabacbf3e612dda53d30e7a0930e630d673297e8a55c04d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23c94ff6fe984bb9cdabacbf3e612dda53d30e7a0930e630d673297e8a55c04d", kill_on_drop: false }`
[INFO] [stdout] 23c94ff6fe984bb9cdabacbf3e612dda53d30e7a0930e630d673297e8a55c04d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] da523f57ebd66826f2916331f0a824451e7344ce7ea715d2a0c684a452617047
[INFO] running `Command { std: "docker" "start" "-a" "da523f57ebd66826f2916331f0a824451e7344ce7ea715d2a0c684a452617047", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling pi_share v0.5.2
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling pi_slot_deque v0.2.1
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling pi_ext_heap v0.1.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling pi_vec_remain v0.2.1
[INFO] [stderr]    Compiling pi_arr v0.20.7
[INFO] [stderr]    Compiling raw-cpuid v11.5.0
[INFO] [stderr]    Compiling event-listener v5.4.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling pi_slot_wheel v0.2.0
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling nanorand v0.7.0
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling pi_hash v0.1.1
[INFO] [stderr]    Compiling pi_wheel v0.1.0
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling toml_datetime v0.6.9
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling pi_timer v0.1.0
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling backtrace v0.3.74
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling pi_key_alloter v0.6.1
[INFO] [stderr]    Compiling pi_cancel_timer v0.2.0
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling st3 v0.4.1
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling quanta v0.12.5
[INFO] [stderr]    Compiling web-time v0.2.4
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling nonmax v0.5.5
[INFO] [stderr]    Compiling pi_wrr v0.1.1
[INFO] [stderr]    Compiling async-channel v2.3.1
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling pi_slot v0.4.1
[INFO] [stderr]    Compiling pi_append_vec v0.6.2
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling bevy_ptr v0.13.2
[INFO] [stderr]    Compiling pi_print_any v0.1.2
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling ctor v0.2.9
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.13.2
[INFO] [stderr]    Compiling derive-deref-rs v0.1.1
[INFO] [stderr]    Compiling pi_proc_macros v0.1.0
[INFO] [stderr]    Compiling pi_time v0.5.1
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling pi_world_macros v0.1.3
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling uuid v1.12.1
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling pi_map v0.2.3
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling bevy_utils v0.13.2
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling pi-async-rt v0.2.5
[INFO] [stderr]    Compiling pi_world v0.2.16 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stdout]   --> src/lib.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #![allow(elided_named_lifetimes)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Archetype`
[INFO] [stdout]   --> src/filter.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::archetype::{Archetype, ArchetypeIndex, ComponentInfo, Row, COMPONENT_TICK};
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ComponentIndex`
[INFO] [stdout]   --> src/filter.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::world::{ComponentIndex, World};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> src/multi_res.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `replace` and `transmute`
[INFO] [stdout]  --> src/multi_res.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem::{replace, transmute};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/multi_res.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/multi_res.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShareUsize` and `Share`
[INFO] [stdout]   --> src/multi_res.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use pi_share::{Share, ShareUsize};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SingleResMut` and `SingleRes`
[INFO] [stdout]   --> src/multi_res.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::single_res::{SingleRes, SingleResMut, TickRes};
[INFO] [stdout]    |                         ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Relation` and `SystemMeta`
[INFO] [stdout]   --> src/multi_res.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::system::{Relation, SystemMeta};
[INFO] [stdout]    |                     ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::system_params::SystemParam`
[INFO] [stdout]   --> src/multi_res.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::system_params::SystemParam;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_type_id` has been stable since 1.91.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_type_id)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rt`
[INFO] [stdout]    --> src/exec_graph.rs:425:9
[INFO] [stdout]     |
[INFO] [stdout] 425 |         rt: &A,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_rt`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/column.rs:366:19
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let old = unsafe { self.blob.ticks.load_alloc(row.index()) };
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/query.rs:549:13
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let addr = match self.world.entities.load(e) {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/filter.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         state: &'w Self::State,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/filter.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         index: ArchetypeIndex,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/insert.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         world: &'w World,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/insert.rs:105:41
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn get_param<'w>(&'w mut self,  world: &'w World) -> Insert<'w, B> {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/alter.rs:316:40
[INFO] [stdout]     |
[INFO] [stdout] 316 |     pub fn get_param<'w>(&'w mut self, world: &'w World) -> Alter<'_, Q, F, A, D> {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_index`
[INFO] [stdout]    --> src/exec_graph.rs:302:14
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let (node_index, is_new) = inner.find_node((id, 0u32.into()), NodeType::Res(name.clone()), &self.1);
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system_index`
[INFO] [stdout]    --> src/exec_graph.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |             let system_index = NodeIndex::new(system_index);
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sys`
[INFO] [stdout]    --> src/exec_graph.rs:312:25
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     let sys = unsafe { systems.load_unchecked(*sys_index) };
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_sys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `single`
[INFO] [stdout]    --> src/exec_graph.rs:295:9
[INFO] [stdout]     |
[INFO] [stdout] 295 |         single: bool,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_single`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/exec_graph.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         world: &World,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/exec_graph.rs:313:25
[INFO] [stdout]     |
[INFO] [stdout] 313 |                     let mut result = Flags::empty();
[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: unused variable: `sys`
[INFO] [stdout]    --> src/exec_graph.rs:367:25
[INFO] [stdout]     |
[INFO] [stdout] 367 |                     let sys = unsafe { systems.load_unchecked(*sys_index) };
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_sys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/exec_graph.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |         world: &World,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/exec_graph.rs:612:9
[INFO] [stdout]     |
[INFO] [stdout] 612 |         index: NodeIndex,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/exec_graph.rs:687:70
[INFO] [stdout]     |
[INFO] [stdout] 687 |     fn find_node(&self, id: (u128, ComponentIndex), label: NodeType, name: &str) -> (NodeIndex, bool) {
[INFO] [stdout]     |                                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ar`
[INFO] [stdout]     --> src/exec_graph.rs:1176:22
[INFO] [stdout]      |
[INFO] [stdout] 1176 |     fn listen(&self, ar: Self::Event) {
[INFO] [stdout]      |                      ^^ help: if this is intentional, prefix it with an underscore: `_ar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]     --> src/exec_graph.rs:1215:61
[INFO] [stdout]      |
[INFO] [stdout] 1215 |     pub fn add_edge(&mut self, before: usize, after: usize, graph: &GraphInner) {
[INFO] [stdout]      |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_match` is never read
[INFO] [stdout]    --> src/query.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct QueryState<Q: FetchComponents + 'static, F: FilterComponents + 'static> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 374 |     is_match: SyncUnsafeCell<bool>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QueryState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vec`, `changed_tick`, `last_run`, and `tick` are never read
[INFO] [stdout]   --> src/multi_res.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct MultiRes<'w, T: 'static> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 51 |     pub(crate) vec: &'w ResVec<T>,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 52 |     changed_tick: Tick,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 53 |     last_run: Tick,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 54 |     tick: Tick,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tick` is never read
[INFO] [stdout]    --> src/insert.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct InsertBatchIter<'w, I, B>
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 115 |     tick: Tick,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NODE_STATUS_ALIGN_MASK` is never used
[INFO] [stdout]   --> src/exec_graph.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const NODE_STATUS_ALIGN_MASK: u32 = !0x1000_0001;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_set` is never used
[INFO] [stdout]    --> src/exec_graph.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn vec_set(vec: &mut Vec<NodeIndex>, index: usize, value: NodeIndex) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_res_node`, `add_archetype_node`, `exec`, and `exec_end` are never used
[INFO] [stdout]    --> src/exec_graph.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl ExecGraph {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn add_res_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     fn add_archetype_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |     fn exec<A: AsyncRuntime>(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 606 |     fn exec_end<A: AsyncRuntime>(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `map`, `to_count`, `lock`, `sender`, and `receiver` are never read
[INFO] [stdout]    --> src/exec_graph.rs:673:5
[INFO] [stdout]     |
[INFO] [stdout] 670 | pub struct GraphInner {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 673 |     map: DashMap<(u128, ComponentIndex), NodeIndex>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 674 |     to_len: ShareU32, // 图中的end节点的数量
[INFO] [stdout] 675 |     to_count: ShareU32, // 多线程运行时数据， 表示还剩多少结束节点未执行（派发开始， to_count设置为to_len， to_count为0时， 表示本次派发完成）
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 676 |     froms: Vec<NodeIndex>,
[INFO] [stdout] 677 |     lock: ShareMutex<()>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 678 |     sender: Sender<()>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 679 |     receiver: Receiver<()>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_node`, `adjust_edges`, `adjust_edge`, `link_edge`, and `run_over` are never used
[INFO] [stdout]    --> src/exec_graph.rs:687:8
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl GraphInner {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 687 |     fn find_node(&self, id: (u128, ComponentIndex), label: NodeType, name: &str) -> (NodeIndex, bool) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 702 |     fn adjust_edges(&self, vec: &Vec<NodeIndex>, from: NodeIndex, to: NodeIndex) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 715 |     fn adjust_edge(&self, from: NodeIndex, to: NodeIndex) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 871 |     fn link_edge(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 923 |     fn run_over<A: AsyncRuntime>(&self, rt: &A) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `store` is never used
[INFO] [stdout]     --> src/exec_graph.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1106 | impl Edge {
[INFO] [stdout]      | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1128 |     fn store(&self, d: Direction, node: NodeIndex, next_edge: EdgeIndex) {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]     --> src/exec_graph.rs:1167:5
[INFO] [stdout]      |
[INFO] [stdout] 1166 | struct Notify<'a>(
[INFO] [stdout]      |        ------ fields in this struct
[INFO] [stdout] 1167 |     ExecGraph,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1168 |     Share<SafeVec<ExecSystem>>,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1169 |     bool,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]      |
[INFO] [stdout] 1167 ~     (),
[INFO] [stdout] 1168 ~     (),
[INFO] [stdout] 1169 ~     (),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from` and `to` are never read
[INFO] [stdout]     --> src/exec_graph.rs:1198:5
[INFO] [stdout]      |
[INFO] [stdout] 1196 | pub struct NGraph {
[INFO] [stdout]      |            ------ fields in this struct
[INFO] [stdout] 1197 |     nodes: pi_map::vecmap::VecMap<NGraphNode>,
[INFO] [stdout] 1198 |     from: Vec<usize>,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 1199 |     to: Vec<usize>,
[INFO] [stdout]      |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemSet1` is never constructed
[INFO] [stdout]    --> src/schedule.rs:851:19
[INFO] [stdout]     |
[INFO] [stdout] 851 | pub(crate) struct SystemSet1;
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/archetype.rs:413:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 413 |     pub drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/archetype.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub set_fn: Option<fn(&mut World, *mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: pi_world v0.2.16 (/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 2`
[INFO] running `Command { std: "docker" "inspect" "da523f57ebd66826f2916331f0a824451e7344ce7ea715d2a0c684a452617047", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da523f57ebd66826f2916331f0a824451e7344ce7ea715d2a0c684a452617047", kill_on_drop: false }`
[INFO] [stdout] da523f57ebd66826f2916331f0a824451e7344ce7ea715d2a0c684a452617047
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 743ce58d5a396ddf870f1841ade76413c9f59bd5678c217cd2947f7e1636faeb
[INFO] running `Command { std: "docker" "start" "-a" "743ce58d5a396ddf870f1841ade76413c9f59bd5678c217cd2947f7e1636faeb", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stdout] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stdout]   --> src/lib.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #![allow(elided_named_lifetimes)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Archetype`
[INFO] [stdout]   --> src/filter.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::archetype::{Archetype, ArchetypeIndex, ComponentInfo, Row, COMPONENT_TICK};
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ComponentIndex`
[INFO] [stdout]   --> src/filter.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::world::{ComponentIndex, World};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> src/multi_res.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `replace` and `transmute`
[INFO] [stdout]  --> src/multi_res.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem::{replace, transmute};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/multi_res.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/multi_res.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShareUsize` and `Share`
[INFO] [stdout]   --> src/multi_res.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use pi_share::{Share, ShareUsize};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SingleResMut` and `SingleRes`
[INFO] [stdout]   --> src/multi_res.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::single_res::{SingleRes, SingleResMut, TickRes};
[INFO] [stdout]    |                         ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Relation` and `SystemMeta`
[INFO] [stdout]   --> src/multi_res.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::system::{Relation, SystemMeta};
[INFO] [stdout]    |                     ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::system_params::SystemParam`
[INFO] [stdout]   --> src/multi_res.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::system_params::SystemParam;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_type_id` has been stable since 1.91.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_type_id)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rt`
[INFO] [stdout]    --> src/exec_graph.rs:425:9
[INFO] [stdout]     |
[INFO] [stdout] 425 |         rt: &A,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_rt`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/column.rs:366:19
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let old = unsafe { self.blob.ticks.load_alloc(row.index()) };
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/query.rs:549:13
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let addr = match self.world.entities.load(e) {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/filter.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         state: &'w Self::State,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/filter.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         index: ArchetypeIndex,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/insert.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         world: &'w World,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/insert.rs:105:41
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn get_param<'w>(&'w mut self,  world: &'w World) -> Insert<'w, B> {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/alter.rs:316:40
[INFO] [stdout]     |
[INFO] [stdout] 316 |     pub fn get_param<'w>(&'w mut self, world: &'w World) -> Alter<'_, Q, F, A, D> {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_index`
[INFO] [stdout]    --> src/exec_graph.rs:302:14
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let (node_index, is_new) = inner.find_node((id, 0u32.into()), NodeType::Res(name.clone()), &self.1);
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system_index`
[INFO] [stdout]    --> src/exec_graph.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |             let system_index = NodeIndex::new(system_index);
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sys`
[INFO] [stdout]    --> src/exec_graph.rs:312:25
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     let sys = unsafe { systems.load_unchecked(*sys_index) };
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_sys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `single`
[INFO] [stdout]    --> src/exec_graph.rs:295:9
[INFO] [stdout]     |
[INFO] [stdout] 295 |         single: bool,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_single`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/exec_graph.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         world: &World,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/exec_graph.rs:313:25
[INFO] [stdout]     |
[INFO] [stdout] 313 |                     let mut result = Flags::empty();
[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: unused variable: `sys`
[INFO] [stdout]    --> src/exec_graph.rs:367:25
[INFO] [stdout]     |
[INFO] [stdout] 367 |                     let sys = unsafe { systems.load_unchecked(*sys_index) };
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_sys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/exec_graph.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |         world: &World,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/exec_graph.rs:612:9
[INFO] [stdout]     |
[INFO] [stdout] 612 |         index: NodeIndex,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/exec_graph.rs:687:70
[INFO] [stdout]     |
[INFO] [stdout] 687 |     fn find_node(&self, id: (u128, ComponentIndex), label: NodeType, name: &str) -> (NodeIndex, bool) {
[INFO] [stdout]     |                                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ar`
[INFO] [stdout]     --> src/exec_graph.rs:1176:22
[INFO] [stdout]      |
[INFO] [stdout] 1176 |     fn listen(&self, ar: Self::Event) {
[INFO] [stdout]      |                      ^^ help: if this is intentional, prefix it with an underscore: `_ar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]     --> src/exec_graph.rs:1215:61
[INFO] [stdout]      |
[INFO] [stdout] 1215 |     pub fn add_edge(&mut self, before: usize, after: usize, graph: &GraphInner) {
[INFO] [stdout]      |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_match` is never read
[INFO] [stdout]    --> src/query.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct QueryState<Q: FetchComponents + 'static, F: FilterComponents + 'static> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 374 |     is_match: SyncUnsafeCell<bool>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QueryState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vec`, `changed_tick`, `last_run`, and `tick` are never read
[INFO] [stdout]   --> src/multi_res.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct MultiRes<'w, T: 'static> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 51 |     pub(crate) vec: &'w ResVec<T>,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 52 |     changed_tick: Tick,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 53 |     last_run: Tick,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 54 |     tick: Tick,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tick` is never read
[INFO] [stdout]    --> src/insert.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct InsertBatchIter<'w, I, B>
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 115 |     tick: Tick,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NODE_STATUS_ALIGN_MASK` is never used
[INFO] [stdout]   --> src/exec_graph.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const NODE_STATUS_ALIGN_MASK: u32 = !0x1000_0001;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_set` is never used
[INFO] [stdout]    --> src/exec_graph.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn vec_set(vec: &mut Vec<NodeIndex>, index: usize, value: NodeIndex) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_res_node`, `add_archetype_node`, `exec`, and `exec_end` are never used
[INFO] [stdout]    --> src/exec_graph.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl ExecGraph {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn add_res_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     fn add_archetype_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |     fn exec<A: AsyncRuntime>(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 606 |     fn exec_end<A: AsyncRuntime>(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `map`, `to_count`, `lock`, `sender`, and `receiver` are never read
[INFO] [stdout]    --> src/exec_graph.rs:673:5
[INFO] [stdout]     |
[INFO] [stdout] 670 | pub struct GraphInner {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 673 |     map: DashMap<(u128, ComponentIndex), NodeIndex>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 674 |     to_len: ShareU32, // 图中的end节点的数量
[INFO] [stdout] 675 |     to_count: ShareU32, // 多线程运行时数据， 表示还剩多少结束节点未执行（派发开始， to_count设置为to_len， to_count为0时， 表示本次派发完成）
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 676 |     froms: Vec<NodeIndex>,
[INFO] [stdout] 677 |     lock: ShareMutex<()>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 678 |     sender: Sender<()>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 679 |     receiver: Receiver<()>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_node`, `adjust_edges`, `adjust_edge`, `link_edge`, and `run_over` are never used
[INFO] [stdout]    --> src/exec_graph.rs:687:8
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl GraphInner {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 687 |     fn find_node(&self, id: (u128, ComponentIndex), label: NodeType, name: &str) -> (NodeIndex, bool) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 702 |     fn adjust_edges(&self, vec: &Vec<NodeIndex>, from: NodeIndex, to: NodeIndex) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 715 |     fn adjust_edge(&self, from: NodeIndex, to: NodeIndex) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 871 |     fn link_edge(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 923 |     fn run_over<A: AsyncRuntime>(&self, rt: &A) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `store` is never used
[INFO] [stdout]     --> src/exec_graph.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1106 | impl Edge {
[INFO] [stdout]      | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1128 |     fn store(&self, d: Direction, node: NodeIndex, next_edge: EdgeIndex) {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]     --> src/exec_graph.rs:1167:5
[INFO] [stdout]      |
[INFO] [stdout] 1166 | struct Notify<'a>(
[INFO] [stdout]      |        ------ fields in this struct
[INFO] [stdout] 1167 |     ExecGraph,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1168 |     Share<SafeVec<ExecSystem>>,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1169 |     bool,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]      |
[INFO] [stdout] 1167 ~     (),
[INFO] [stdout] 1168 ~     (),
[INFO] [stdout] 1169 ~     (),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from` and `to` are never read
[INFO] [stdout]     --> src/exec_graph.rs:1198:5
[INFO] [stdout]      |
[INFO] [stdout] 1196 | pub struct NGraph {
[INFO] [stdout]      |            ------ fields in this struct
[INFO] [stdout] 1197 |     nodes: pi_map::vecmap::VecMap<NGraphNode>,
[INFO] [stdout] 1198 |     from: Vec<usize>,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 1199 |     to: Vec<usize>,
[INFO] [stdout]      |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemSet1` is never constructed
[INFO] [stdout]    --> src/schedule.rs:851:19
[INFO] [stdout]     |
[INFO] [stdout] 851 | pub(crate) struct SystemSet1;
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/archetype.rs:413:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 413 |     pub drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/archetype.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub set_fn: Option<fn(&mut World, *mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling approx v0.4.0
[INFO] [stderr]    Compiling pi_world v0.2.16 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `alter1`
[INFO] [stdout]   --> tests/param_alter.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut alter1 = app.world.make_alter::<(), (), Bundle0, ()>();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_alter1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alter2`
[INFO] [stdout]   --> tests/param_alter.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut alter2 = app.world.make_alter::<(), (), Bundle1, ()>();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_alter2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alter3`
[INFO] [stdout]   --> tests/param_alter.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut alter3 = app.world.make_alter::<(), (), Bundle2, ()>();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_alter3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alter4`
[INFO] [stdout]   --> tests/param_alter.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut alter4 = app.world.make_alter::<(), (), (Bundle2, Bundle3), ()>();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_alter4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alter5`
[INFO] [stdout]   --> tests/param_alter.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut alter5 = app.world.make_alter::<(), (), (Bundle1, Bundle2, Bundle3, Bundle4, Bundle5), ()>();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_alter5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query5`
[INFO] [stdout]   --> tests/param_alter.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut query5 = app.world.make_query::<(&Age8, &Age9, &Age10, &Age11, &Age12), ()>();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_query5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/param_alter.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut alter1 = app.world.make_alter::<(), (), Bundle0, ()>();
[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: variable does not need to be mutable
[INFO] [stdout]   --> tests/param_alter.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut alter2 = app.world.make_alter::<(), (), Bundle1, ()>();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/param_alter.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut alter3 = app.world.make_alter::<(), (), Bundle2, ()>();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/param_alter.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut alter4 = app.world.make_alter::<(), (), (Bundle2, Bundle3), ()>();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/param_alter.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut alter5 = app.world.make_alter::<(), (), (Bundle1, Bundle2, Bundle3, Bundle4, Bundle5), ()>();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/param_alter.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut query5 = app.world.make_query::<(&Age8, &Age9, &Age10, &Age11, &Age12), ()>();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tests/param_alter.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         for i in 0..100 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/param_alter.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let mut info = ArchetypeDebug {
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/param_alter.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let mut info1 = ArchetypeDebug {
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/param_alter.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |             let mut q = p.p0();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/param_alter.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             alter.alter(entity, Bundle0::default());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let _ = alter.alter(entity, Bundle0::default());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/param_alter.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             alter.alter(entity, Bundle1::default());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let _ = alter.alter(entity, Bundle1::default());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/param_alter.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             alter.alter(entity, Bundle2::default());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |             let _ = alter.alter(entity, Bundle2::default());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/param_alter.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             alter.alter(entity, (Bundle2::default(), Bundle3::default()));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 137 |             let _ = alter.alter(entity, (Bundle2::default(), Bundle3::default()));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/param_alter.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |             alter.alter(entity, (Bundle1::default(), Bundle2::default(), Bundle3::default(), Bundle4::default(), Bundle5::default()));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let _ = alter.alter(entity, (Bundle1::default(), Bundle2::default(), Bundle3::default(), Bundle4::default(), Bundle5::default()));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/param_alter.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |         editor.add_components_by_index(e2, &[index]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let _ = editor.add_components_by_index(e2, &[index]);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/param_alter.rs:212:17
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 editor.add_components_by_index(*e, &[index]);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 let _ = editor.add_components_by_index(*e, &[index]);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/param_alter.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |             editor.remove_components_by_index(*e, &[index]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let _ = editor.remove_components_by_index(*e, &[index]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stdout]   --> src/lib.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #![allow(elided_named_lifetimes)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Archetype`
[INFO] [stdout]   --> src/filter.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::archetype::{Archetype, ArchetypeIndex, ComponentInfo, Row, COMPONENT_TICK};
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ComponentIndex`
[INFO] [stdout]   --> src/filter.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::world::{ComponentIndex, World};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> src/multi_res.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `replace` and `transmute`
[INFO] [stdout]  --> src/multi_res.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem::{replace, transmute};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/multi_res.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/multi_res.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShareUsize` and `Share`
[INFO] [stdout]   --> src/multi_res.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use pi_share::{Share, ShareUsize};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SingleResMut` and `SingleRes`
[INFO] [stdout]   --> src/multi_res.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::single_res::{SingleRes, SingleResMut, TickRes};
[INFO] [stdout]    |                         ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Relation` and `SystemMeta`
[INFO] [stdout]   --> src/multi_res.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::system::{Relation, SystemMeta};
[INFO] [stdout]    |                     ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::system_params::SystemParam`
[INFO] [stdout]   --> src/multi_res.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::system_params::SystemParam;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tests/schedule.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     for i in 0..1000 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_type_id` has been stable since 1.91.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_type_id)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> tests/schedule.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |         for (mut a, mut b) in query.iter_mut() {
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> tests/schedule.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |         for (mut a, mut b) in query.iter_mut() {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/schedule.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |         for (mut a, mut b) in query.iter_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: variable does not need to be mutable
[INFO] [stdout]   --> tests/schedule.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |         for (mut a, mut b) in query.iter_mut() {
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> tests/schedule.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn cd(mut query: Query<(&mut C, &mut D)>) {
[INFO] [stdout]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/schedule.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn cd(mut query: Query<(&mut C, &mut D)>) {
[INFO] [stdout]    |           ----^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> tests/schedule.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn ce(mut query: Query<(&mut C, &mut E)>) {
[INFO] [stdout]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/schedule.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn ce(mut query: Query<(&mut C, &mut E)>) {
[INFO] [stdout]    |           ----^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> tests/schedule.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 |     struct A(f32);
[INFO] [stdout]   |            - ^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[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]  --> tests/schedule.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 |     struct B(f32);
[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]   --> tests/schedule.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     struct C(f32);
[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]   --> tests/schedule.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     struct D(f32);
[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]   --> tests/schedule.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |     struct E(f32);
[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: unused import: `Query`
[INFO] [stdout]  --> tests/param_query_entry.rs:5:80
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pi_world::{debug::{ArchetypeDebug, ColumnDebug}, prelude::{App, Component, Query, Update, World}, query::EntryQuery, world::Entity};
[INFO] [stdout]   |                                                                                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rt`
[INFO] [stdout]    --> src/exec_graph.rs:425:9
[INFO] [stdout]     |
[INFO] [stdout] 425 |         rt: &A,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_rt`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/column.rs:366:19
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let old = unsafe { self.blob.ticks.load_alloc(row.index()) };
[INFO] [stdout]     |                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/query.rs:549:13
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let addr = match self.world.entities.load(e) {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/filter.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         state: &'w Self::State,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/filter.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         index: ArchetypeIndex,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/insert.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         world: &'w World,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/insert.rs:105:41
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn get_param<'w>(&'w mut self,  world: &'w World) -> Insert<'w, B> {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/alter.rs:316:40
[INFO] [stdout]     |
[INFO] [stdout] 316 |     pub fn get_param<'w>(&'w mut self, world: &'w World) -> Alter<'_, Q, F, A, D> {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_index`
[INFO] [stdout]    --> src/exec_graph.rs:302:14
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let (node_index, is_new) = inner.find_node((id, 0u32.into()), NodeType::Res(name.clone()), &self.1);
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system_index`
[INFO] [stdout]    --> src/exec_graph.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |             let system_index = NodeIndex::new(system_index);
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sys`
[INFO] [stdout]    --> src/exec_graph.rs:312:25
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     let sys = unsafe { systems.load_unchecked(*sys_index) };
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_sys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `single`
[INFO] [stdout]    --> src/exec_graph.rs:295:9
[INFO] [stdout]     |
[INFO] [stdout] 295 |         single: bool,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_single`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/exec_graph.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         world: &World,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/exec_graph.rs:313:25
[INFO] [stdout]     |
[INFO] [stdout] 313 |                     let mut result = Flags::empty();
[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: unused variable: `sys`
[INFO] [stdout]    --> src/exec_graph.rs:367:25
[INFO] [stdout]     |
[INFO] [stdout] 367 |                     let sys = unsafe { systems.load_unchecked(*sys_index) };
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_sys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/exec_graph.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |         world: &World,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/exec_graph.rs:612:9
[INFO] [stdout]     |
[INFO] [stdout] 612 |         index: NodeIndex,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/exec_graph.rs:687:70
[INFO] [stdout]     |
[INFO] [stdout] 687 |     fn find_node(&self, id: (u128, ComponentIndex), label: NodeType, name: &str) -> (NodeIndex, bool) {
[INFO] [stdout]     |                                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ar`
[INFO] [stdout]     --> src/exec_graph.rs:1176:22
[INFO] [stdout]      |
[INFO] [stdout] 1176 |     fn listen(&self, ar: Self::Event) {
[INFO] [stdout]      |                      ^^ help: if this is intentional, prefix it with an underscore: `_ar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]     --> src/exec_graph.rs:1215:61
[INFO] [stdout]      |
[INFO] [stdout] 1215 |     pub fn add_edge(&mut self, before: usize, after: usize, graph: &GraphInner) {
[INFO] [stdout]      |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_match` is never read
[INFO] [stdout]    --> src/query.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct QueryState<Q: FetchComponents + 'static, F: FilterComponents + 'static> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 374 |     is_match: SyncUnsafeCell<bool>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QueryState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vec`, `changed_tick`, `last_run`, and `tick` are never read
[INFO] [stdout]   --> src/multi_res.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct MultiRes<'w, T: 'static> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 51 |     pub(crate) vec: &'w ResVec<T>,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 52 |     changed_tick: Tick,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 53 |     last_run: Tick,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 54 |     tick: Tick,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tick` is never read
[INFO] [stdout]    --> src/insert.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct InsertBatchIter<'w, I, B>
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 115 |     tick: Tick,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NODE_STATUS_ALIGN_MASK` is never used
[INFO] [stdout]   --> src/exec_graph.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const NODE_STATUS_ALIGN_MASK: u32 = !0x1000_0001;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_set` is never used
[INFO] [stdout]    --> src/exec_graph.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn vec_set(vec: &mut Vec<NodeIndex>, index: usize, value: NodeIndex) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_res_node`, `add_archetype_node`, `exec`, and `exec_end` are never used
[INFO] [stdout]    --> src/exec_graph.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl ExecGraph {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn add_res_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     fn add_archetype_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |     fn exec<A: AsyncRuntime>(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 606 |     fn exec_end<A: AsyncRuntime>(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `map`, `to_count`, `lock`, `sender`, and `receiver` are never read
[INFO] [stdout]    --> src/exec_graph.rs:673:5
[INFO] [stdout]     |
[INFO] [stdout] 670 | pub struct GraphInner {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 673 |     map: DashMap<(u128, ComponentIndex), NodeIndex>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 674 |     to_len: ShareU32, // 图中的end节点的数量
[INFO] [stdout] 675 |     to_count: ShareU32, // 多线程运行时数据， 表示还剩多少结束节点未执行（派发开始， to_count设置为to_len， to_count为0时， 表示本次派发完成）
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 676 |     froms: Vec<NodeIndex>,
[INFO] [stdout] 677 |     lock: ShareMutex<()>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 678 |     sender: Sender<()>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 679 |     receiver: Receiver<()>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_node`, `adjust_edges`, `adjust_edge`, `link_edge`, and `run_over` are never used
[INFO] [stdout]    --> src/exec_graph.rs:687:8
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl GraphInner {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 687 |     fn find_node(&self, id: (u128, ComponentIndex), label: NodeType, name: &str) -> (NodeIndex, bool) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 702 |     fn adjust_edges(&self, vec: &Vec<NodeIndex>, from: NodeIndex, to: NodeIndex) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 715 |     fn adjust_edge(&self, from: NodeIndex, to: NodeIndex) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 871 |     fn link_edge(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 923 |     fn run_over<A: AsyncRuntime>(&self, rt: &A) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `store` is never used
[INFO] [stdout]     --> src/exec_graph.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1106 | impl Edge {
[INFO] [stdout]      | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1128 |     fn store(&self, d: Direction, node: NodeIndex, next_edge: EdgeIndex) {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]     --> src/exec_graph.rs:1167:5
[INFO] [stdout]      |
[INFO] [stdout] 1166 | struct Notify<'a>(
[INFO] [stdout]      |        ------ fields in this struct
[INFO] [stdout] 1167 |     ExecGraph,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1168 |     Share<SafeVec<ExecSystem>>,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1169 |     bool,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]      |
[INFO] [stdout] 1167 ~     (),
[INFO] [stdout] 1168 ~     (),
[INFO] [stdout] 1169 ~     (),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from` and `to` are never read
[INFO] [stdout]     --> src/exec_graph.rs:1198:5
[INFO] [stdout]      |
[INFO] [stdout] 1196 | pub struct NGraph {
[INFO] [stdout]      |            ------ fields in this struct
[INFO] [stdout] 1197 |     nodes: pi_map::vecmap::VecMap<NGraphNode>,
[INFO] [stdout] 1198 |     from: Vec<usize>,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 1199 |     to: Vec<usize>,
[INFO] [stdout]      |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemSet1` is never constructed
[INFO] [stdout]    --> src/schedule.rs:851:19
[INFO] [stdout]     |
[INFO] [stdout] 851 | pub(crate) struct SystemSet1;
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/archetype.rs:413:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 413 |     pub drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/archetype.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub set_fn: Option<fn(&mut World, *mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 29.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: pi_world v0.2.16 (/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 3`
[INFO] running `Command { std: "docker" "inspect" "743ce58d5a396ddf870f1841ade76413c9f59bd5678c217cd2947f7e1636faeb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "743ce58d5a396ddf870f1841ade76413c9f59bd5678c217cd2947f7e1636faeb", kill_on_drop: false }`
[INFO] [stdout] 743ce58d5a396ddf870f1841ade76413c9f59bd5678c217cd2947f7e1636faeb
