[INFO] cloning repository https://github.com/dyzdyz010/efdemo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dyzdyz010/efdemo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdyzdyz010%2Fefdemo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdyzdyz010%2Fefdemo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 449883c57bcf8b9859e2ff539bd1af5f9d746807
[INFO] checking dyzdyz010/efdemo/449883c57bcf8b9859e2ff539bd1af5f9d746807 against master#65407954098ca3c19f0d46092cb374b5d3e9dc3c for pr-157841
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdyzdyz010%2Fefdemo" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-3-tc1/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/dyzdyz010/efdemo
[INFO] finished tweaking git repo https://github.com/dyzdyz010/efdemo
[INFO] tweaked toml for git repo https://github.com/dyzdyz010/efdemo written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dyzdyz010/efdemo on toolchain 65407954098ca3c19f0d46092cb374b5d3e9dc3c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65407954098ca3c19f0d46092cb374b5d3e9dc3c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dyzdyz010/efdemo 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" "+65407954098ca3c19f0d46092cb374b5d3e9dc3c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded typetag v0.2.19
[INFO] [stderr]   Downloaded typetag-impl v0.2.19
[INFO] [stderr]   Downloaded rfd v0.15.2
[INFO] [stderr]   Downloaded enumflags2_derive v0.7.11
[INFO] [stderr]   Downloaded inventory v0.3.19
[INFO] [stderr]   Downloaded ashpd v0.10.2
[INFO] [stderr]   Downloaded wayland-backend v0.3.8
[INFO] [stderr]   Downloaded zvariant_derive v5.4.0
[INFO] [stderr]   Downloaded enumflags2 v0.7.11
[INFO] [stderr]   Downloaded zbus_macros v5.5.0
[INFO] [stderr]   Downloaded wayland-client v0.31.8
[INFO] [stderr]   Downloaded ecolor v0.31.0
[INFO] [stderr]   Downloaded wayland-cursor v0.31.8
[INFO] [stderr]   Downloaded zvariant v5.4.0
[INFO] [stderr]   Downloaded emath v0.31.0
[INFO] [stderr]   Downloaded wayland-protocols-wlr v0.3.6
[INFO] [stderr]   Downloaded wayland-protocols-plasma v0.3.6
[INFO] [stderr]   Downloaded zbus v5.5.0
[INFO] [stderr]   Downloaded epaint v0.31.0
[INFO] [stderr]   Downloaded wayland-protocols v0.32.6
[INFO] [stderr]   Downloaded eframe v0.31.0
[INFO] [stderr]   Downloaded gpu-descriptor v0.3.1
[INFO] [stderr]   Downloaded glutin v0.32.2
[INFO] [stderr]   Downloaded egui_glow v0.31.0
[INFO] [stderr]   Downloaded egui-winit v0.31.0
[INFO] [stderr]   Downloaded wgpu v24.0.1
[INFO] [stderr]   Downloaded egui v0.31.0
[INFO] [stderr]   Downloaded wgpu-core v24.0.2
[INFO] [stderr]   Downloaded wgpu-hal v24.0.2
[INFO] [stderr]   Downloaded winit v0.30.8
[INFO] [stderr]   Downloaded epaint_default_fonts v0.31.0
[INFO] [stderr]   Downloaded egui-wgpu v0.31.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d125c7dd725845629fa60f9fe4d3e016024980fe8f44b09da128c6bb89ed47be
[INFO] running `Command { std: "docker" "start" "d125c7dd725845629fa60f9fe4d3e016024980fe8f44b09da128c6bb89ed47be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d125c7dd725845629fa60f9fe4d3e016024980fe8f44b09da128c6bb89ed47be" "/opt/rustwide/cargo-home/bin/cargo" "+65407954098ca3c19f0d46092cb374b5d3e9dc3c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d125c7dd725845629fa60f9fe4d3e016024980fe8f44b09da128c6bb89ed47be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d125c7dd725845629fa60f9fe4d3e016024980fe8f44b09da128c6bb89ed47be" "/opt/rustwide/cargo-home/bin/cargo" "+65407954098ca3c19f0d46092cb374b5d3e9dc3c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.16
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling winnow v0.7.0
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling indexmap v2.7.1
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking libloading v0.8.6
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling cc v1.2.11
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]    Compiling toml_edit v0.22.23
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling quick-xml v0.37.2
[INFO] [stderr]    Compiling wayland-client v0.31.8
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]     Checking litemap v0.7.4
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.0
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]    Compiling wayland-sys v0.31.6
[INFO] [stderr]     Checking async-executor v1.13.1
[INFO] [stderr]    Compiling proc-macro-crate v3.2.0
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking icu_properties_data v1.5.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]    Compiling wayland-scanner v0.31.6
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking xcursor v0.3.8
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling wayland-backend v0.3.8
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]    Compiling naga v24.0.0
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking miniz_oxide v0.8.3
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking immutable-chunkmap v2.0.6
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling winit v0.30.8
[INFO] [stderr]    Compiling wgpu-hal v24.0.2
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking ab_glyph v0.2.29
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]    Compiling wgpu-core v24.0.2
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]    Compiling zerocopy v0.8.14
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking epaint_default_fonts v0.31.0
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling wgpu v24.0.1
[INFO] [stderr]    Compiling typeid v1.0.2
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking type-map v0.5.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]    Compiling rfd v0.15.2
[INFO] [stderr]    Compiling serde_json v1.0.138
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking rand_core v0.9.0
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking inventory v0.3.19
[INFO] [stderr]     Checking bytes v1.9.0
[INFO] [stderr]     Checking ryu v1.0.19
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking env_logger v0.11.6
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling enumflags2_derive v0.7.11
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling async-trait v0.1.86
[INFO] [stderr]    Compiling bytemuck_derive v1.8.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling serde_repr v0.1.19
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]    Compiling enumn v0.1.14
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling typetag-impl v0.2.19
[INFO] [stderr]     Checking bytemuck v1.21.0
[INFO] [stderr]     Checking image v0.25.5
[INFO] [stderr]     Checking bitflags v2.8.0
[INFO] [stderr]    Compiling enumflags2 v0.7.11
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]     Checking async-io v2.4.0
[INFO] [stderr]    Compiling quick-xml v0.30.0
[INFO] [stderr]     Checking wayland-protocols v0.32.6
[INFO] [stderr]    Compiling zbus_xml v4.0.0
[INFO] [stderr]    Compiling zbus-lockstep v0.4.4
[INFO] [stderr]    Compiling zvariant_utils v3.2.0
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking accesskit v0.17.1
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.8
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking emath v0.31.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.6
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking ecolor v0.31.0
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.6
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.1
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking accesskit_consumer v0.26.0
[INFO] [stderr]    Compiling zvariant_derive v5.4.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking wgpu-types v24.0.0
[INFO] [stderr]     Checking epaint v0.31.0
[INFO] [stderr]     Checking async-signal v0.2.10
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking async-process v2.3.0
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking webbrowser v1.0.3
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking async-net v2.0.0
[INFO] [stderr]     Checking erased-serde v0.4.5
[INFO] [stderr]     Checking arboard v3.4.1
[INFO] [stderr]     Checking tokio v1.43.0
[INFO] [stderr]     Checking petgraph v0.7.1
[INFO] [stderr]     Checking egui v0.31.0
[INFO] [stderr]     Checking typetag v0.2.19
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling zvariant v5.4.0
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking zbus_names v4.2.0
[INFO] [stderr]    Compiling zbus_macros v5.5.0
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.10.1
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.13.1
[INFO] [stderr]     Checking accesskit_winit v0.23.1
[INFO] [stderr]     Checking egui-winit v0.31.0
[INFO] [stderr]     Checking zbus v5.5.0
[INFO] [stderr]     Checking egui-wgpu v0.31.0
[INFO] [stderr]     Checking eframe v0.31.0
[INFO] [stderr]     Checking ashpd v0.10.2
[INFO] [stderr]     Checking eframe_template v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `EdgeIndex`
[INFO] [stdout]   --> src/input/state_manager.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use petgraph::graph::{EdgeIndex, NodeIndex};
[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: `ParticleSystemResource`
[INFO] [stdout]  --> src/ui/canvas/data.rs:6:52
[INFO] [stdout]   |
[INFO] [stdout] 6 |     resource::{CanvasStateResource, GraphResource, ParticleSystemResource},
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eframe::egui_wgpu`
[INFO] [stdout]  --> src/ui/canvas/helpers.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use eframe::egui_wgpu;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdgeIndex`
[INFO] [stdout]   --> src/input/state_manager.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use petgraph::graph::{EdgeIndex, NodeIndex};
[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: `gpu_render::particle::particle_callback::ParticleCallback`
[INFO] [stdout]  --> src/ui/canvas/helpers.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     gpu_render::particle::particle_callback::ParticleCallback,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParticleSystemResource`
[INFO] [stdout]  --> src/ui/canvas/data.rs:6:52
[INFO] [stdout]   |
[INFO] [stdout] 6 |     resource::{CanvasStateResource, GraphResource, ParticleSystemResource},
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/ui/canvas/input.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PointerButton`
[INFO] [stdout]  --> src/ui/canvas/input.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use egui::{Id, PointerButton};
[INFO] [stdout]   |                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BezierAnchor`, `LineAnchor`, `bezier::BezierEdge`, `edge::Edge`, `line_edge::LineEdge`, `node::Node`, `render_info::NodeRenderInfo`, and `temp_edge::TempEdgeTarget`
[INFO] [stdout]   --> src/ui/canvas/input.rs:7:18
[INFO] [stdout]    |
[INFO] [stdout]  7 |         anchor::{BezierAnchor, LineAnchor},
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]  8 |         edge::Edge,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]  9 |         node::Node,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 10 |         render_info::NodeRenderInfo,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     },
[INFO] [stdout] 12 |     ui::{bezier::BezierEdge, line_edge::LineEdge, temp_edge::TempEdgeTarget},
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eframe::egui_wgpu`
[INFO] [stdout]  --> src/ui/canvas/helpers.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use eframe::egui_wgpu;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gpu_render::particle::particle_callback::ParticleCallback`
[INFO] [stdout]  --> src/ui/canvas/helpers.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     gpu_render::particle::particle_callback::ParticleCallback,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/ui/canvas/input.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PointerButton`
[INFO] [stdout]  --> src/ui/canvas/input.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use egui::{Id, PointerButton};
[INFO] [stdout]   |                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BezierAnchor`, `LineAnchor`, `bezier::BezierEdge`, `edge::Edge`, `line_edge::LineEdge`, `node::Node`, `render_info::NodeRenderInfo`, and `temp_edge::TempEdgeTarget`
[INFO] [stdout]   --> src/ui/canvas/input.rs:7:18
[INFO] [stdout]    |
[INFO] [stdout]  7 |         anchor::{BezierAnchor, LineAnchor},
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]  8 |         edge::Edge,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]  9 |         node::Node,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 10 |         render_info::NodeRenderInfo,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     },
[INFO] [stdout] 12 |     ui::{bezier::BezierEdge, line_edge::LineEdge, temp_edge::TempEdgeTarget},
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color32`, `Id`, `Pos2`, and `Stroke`
[INFO] [stdout]  --> src/ui/canvas/widget_impl.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Color32, Id, Pos2, Stroke, Widget};
[INFO] [stdout]   |            ^^^^^^^  ^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `helpers::draw_dashed_line_with_offset`
[INFO] [stdout]  --> src/ui/canvas/widget_impl.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ui::{helpers::draw_dashed_line_with_offset, temp_edge::TempEdgeWidget};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color32`, `Id`, `Pos2`, and `Stroke`
[INFO] [stdout]  --> src/ui/canvas/widget_impl.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Color32, Id, Pos2, Stroke, Widget};
[INFO] [stdout]   |            ^^^^^^^  ^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `helpers::draw_dashed_line_with_offset`
[INFO] [stdout]  --> src/ui/canvas/widget_impl.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ui::{helpers::draw_dashed_line_with_offset, temp_edge::TempEdgeWidget};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/input/state_manager.rs:786:31
[INFO] [stdout]     |
[INFO] [stdout] 786 |             egui::Stroke::new(1.0, egui::Color32::ORANGE),
[INFO] [stdout]     |                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]     = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/input/state_manager.rs:813:35
[INFO] [stdout]     |
[INFO] [stdout] 813 |                 egui::Stroke::new(2.0, egui::Color32::YELLOW),
[INFO] [stdout]     |                                   ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/input/state_manager.rs:837:35
[INFO] [stdout]     |
[INFO] [stdout] 837 |                 egui::Stroke::new(2.0, egui::Color32::YELLOW),
[INFO] [stdout]     |                                   ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/input/state_manager.rs:842:35
[INFO] [stdout]     |
[INFO] [stdout] 842 |                 egui::Stroke::new(2.0, egui::Color32::YELLOW),
[INFO] [stdout]     |                                   ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/input/state_manager.rs:786:31
[INFO] [stdout]     |
[INFO] [stdout] 786 |             egui::Stroke::new(1.0, egui::Color32::ORANGE),
[INFO] [stdout]     |                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]     = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/input/state_manager.rs:813:35
[INFO] [stdout]     |
[INFO] [stdout] 813 |                 egui::Stroke::new(2.0, egui::Color32::YELLOW),
[INFO] [stdout]     |                                   ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/input/state_manager.rs:837:35
[INFO] [stdout]     |
[INFO] [stdout] 837 |                 egui::Stroke::new(2.0, egui::Color32::YELLOW),
[INFO] [stdout]     |                                   ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/input/state_manager.rs:842:35
[INFO] [stdout]     |
[INFO] [stdout] 842 |                 egui::Stroke::new(2.0, egui::Color32::YELLOW),
[INFO] [stdout]     |                                   ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/bezier.rs:504:55
[INFO] [stdout]     |
[INFO] [stdout] 504 |             painter.add(Shape::line(path, Stroke::new(2.0, egui::Color32::GRAY)));
[INFO] [stdout]     |                                                       ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/bezier.rs:602:25
[INFO] [stdout]     |
[INFO] [stdout] 602 |             Stroke::new(1.0, egui::Color32::ORANGE),
[INFO] [stdout]     |                         ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/bezier.rs:504:55
[INFO] [stdout]     |
[INFO] [stdout] 504 |             painter.add(Shape::line(path, Stroke::new(2.0, egui::Color32::GRAY)));
[INFO] [stdout]     |                                                       ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/bezier.rs:602:25
[INFO] [stdout]     |
[INFO] [stdout] 602 |             Stroke::new(1.0, egui::Color32::ORANGE),
[INFO] [stdout]     |                         ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/canvas/input_handlers.rs:122:33
[INFO] [stdout]     |
[INFO] [stdout] 122 |                     Stroke::new(1.0, Color32::ORANGE),
[INFO] [stdout]     |                                 ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/canvas/input_handlers.rs:122:33
[INFO] [stdout]     |
[INFO] [stdout] 122 |                     Stroke::new(1.0, Color32::ORANGE),
[INFO] [stdout]     |                                 ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/line_edge.rs:32:34
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let stroke = Stroke::new(2.0, Color32::GRAY);
[INFO] [stdout]    |                                  ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/line_edge.rs:81:34
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let stroke = Stroke::new(2.0, Color32::GRAY);
[INFO] [stdout]    |                                  ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/line_edge.rs:32:34
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let stroke = Stroke::new(2.0, Color32::GRAY);
[INFO] [stdout]    |                                  ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/line_edge.rs:81:34
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let stroke = Stroke::new(2.0, Color32::GRAY);
[INFO] [stdout]    |                                  ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/node.rs:335:29
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 Stroke::new(1.0, egui::Color32::ORANGE),
[INFO] [stdout]     |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/node.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             let stroke_width = 1.0;
[INFO] [stdout]     |                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/node.rs:357:39
[INFO] [stdout]     |
[INFO] [stdout] 357 |                     egui::Stroke::new(2.0, node_border_selected(ui.ctx().theme())), // 将线宽从20.0改为1.0
[INFO] [stdout]     |                                       ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/node.rs:487:31
[INFO] [stdout]     |
[INFO] [stdout] 487 |             egui::Stroke::new(1.0, egui::Color32::RED),
[INFO] [stdout]     |                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/node.rs:335:29
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 Stroke::new(1.0, egui::Color32::ORANGE),
[INFO] [stdout]     |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/node.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             let stroke_width = 1.0;
[INFO] [stdout]     |                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/node.rs:357:39
[INFO] [stdout]     |
[INFO] [stdout] 357 |                     egui::Stroke::new(2.0, node_border_selected(ui.ctx().theme())), // 将线宽从20.0改为1.0
[INFO] [stdout]     |                                       ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/node.rs:487:31
[INFO] [stdout]     |
[INFO] [stdout] 487 |             egui::Stroke::new(1.0, egui::Color32::RED),
[INFO] [stdout]     |                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_state_manager`
[INFO] [stdout]    --> src/app.rs:367:35
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn current_fps(ui: &mut egui::Ui, input_state_manager: &InputStateManager) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_state_manager`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_state_manager`
[INFO] [stdout]    --> src/app.rs:367:35
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn current_fps(ui: &mut egui::Ui, input_state_manager: &InputStateManager) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_state_manager`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/input/state_manager.rs:405:49
[INFO] [stdout]     |
[INFO] [stdout] 405 |     fn handle_secondary_button_press(&mut self, ui: &mut egui::Ui, target: &InputTarget) {
[INFO] [stdout]     |                                                 ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/input/state_manager.rs:428:49
[INFO] [stdout]     |
[INFO] [stdout] 428 |     fn handle_primary_button_release(&mut self, ui: &mut egui::Ui, target: &InputTarget) {
[INFO] [stdout]     |                                                 ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/input/state_manager.rs:428:68
[INFO] [stdout]     |
[INFO] [stdout] 428 |     fn handle_primary_button_release(&mut self, ui: &mut egui::Ui, target: &InputTarget) {
[INFO] [stdout]     |                                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/input/state_manager.rs:465:51
[INFO] [stdout]     |
[INFO] [stdout] 465 |     fn handle_secondary_button_release(&mut self, ui: &mut egui::Ui, target: &InputTarget) {
[INFO] [stdout]     |                                                   ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_cursor_pos`
[INFO] [stdout]    --> src/input/state_manager.rs:468:13
[INFO] [stdout]     |
[INFO] [stdout] 468 |             current_cursor_pos,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `current_cursor_pos: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/input/state_manager.rs:498:39
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn handle_mouse_motion(&mut self, ui: &mut egui::Ui, delta: Vec2, target: &InputTarget) {
[INFO] [stdout]     |                                       ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/input/state_manager.rs:498:71
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn handle_mouse_motion(&mut self, ui: &mut egui::Ui, delta: Vec2, target: &InputTarget) {
[INFO] [stdout]     |                                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/input/state_manager.rs:637:39
[INFO] [stdout]     |
[INFO] [stdout] 637 |     fn handle_double_click(&mut self, ui: &mut egui::Ui, target: &InputTarget) {
[INFO] [stdout]     |                                       ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/input/state_manager.rs:405:49
[INFO] [stdout]     |
[INFO] [stdout] 405 |     fn handle_secondary_button_press(&mut self, ui: &mut egui::Ui, target: &InputTarget) {
[INFO] [stdout]     |                                                 ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/input/state_manager.rs:428:49
[INFO] [stdout]     |
[INFO] [stdout] 428 |     fn handle_primary_button_release(&mut self, ui: &mut egui::Ui, target: &InputTarget) {
[INFO] [stdout]     |                                                 ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/input/state_manager.rs:428:68
[INFO] [stdout]     |
[INFO] [stdout] 428 |     fn handle_primary_button_release(&mut self, ui: &mut egui::Ui, target: &InputTarget) {
[INFO] [stdout]     |                                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/input/state_manager.rs:465:51
[INFO] [stdout]     |
[INFO] [stdout] 465 |     fn handle_secondary_button_release(&mut self, ui: &mut egui::Ui, target: &InputTarget) {
[INFO] [stdout]     |                                                   ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_cursor_pos`
[INFO] [stdout]    --> src/input/state_manager.rs:468:13
[INFO] [stdout]     |
[INFO] [stdout] 468 |             current_cursor_pos,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `current_cursor_pos: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/input/state_manager.rs:498:39
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn handle_mouse_motion(&mut self, ui: &mut egui::Ui, delta: Vec2, target: &InputTarget) {
[INFO] [stdout]     |                                       ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/input/state_manager.rs:498:71
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn handle_mouse_motion(&mut self, ui: &mut egui::Ui, delta: Vec2, target: &InputTarget) {
[INFO] [stdout]     |                                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_pos`
[INFO] [stdout]    --> src/input/state_manager.rs:845:13
[INFO] [stdout]     |
[INFO] [stdout] 845 |         let source_pos = self
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/input/state_manager.rs:637:39
[INFO] [stdout]     |
[INFO] [stdout] 637 |     fn handle_double_click(&mut self, ui: &mut egui::Ui, target: &InputTarget) {
[INFO] [stdout]     |                                       ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_pos`
[INFO] [stdout]    --> src/input/state_manager.rs:845:13
[INFO] [stdout]     |
[INFO] [stdout] 845 |         let source_pos = self
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/ui/canvas/input.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn pre_render_actions(&mut self, ui: &mut egui::Ui) {
[INFO] [stdout]    |                                          ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/ui/canvas/input.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn post_render_actions(&mut self, ui: &mut egui::Ui, canvas_response: &egui::Response) {
[INFO] [stdout]    |                                           ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `canvas_response`
[INFO] [stdout]   --> src/ui/canvas/input.rs:25:62
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn post_render_actions(&mut self, ui: &mut egui::Ui, canvas_response: &egui::Response) {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_canvas_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_node_canvas_pos_vec`
[INFO] [stdout]    --> src/ui/canvas/input_handlers.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |             let src_node_canvas_pos_vec = selected_node_indices
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_node_canvas_pos_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/ui/canvas/input.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn pre_render_actions(&mut self, ui: &mut egui::Ui) {
[INFO] [stdout]    |                                          ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/ui/canvas/input.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn post_render_actions(&mut self, ui: &mut egui::Ui, canvas_response: &egui::Response) {
[INFO] [stdout]    |                                           ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `canvas_response`
[INFO] [stdout]   --> src/ui/canvas/input.rs:25:62
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn post_render_actions(&mut self, ui: &mut egui::Ui, canvas_response: &egui::Response) {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_canvas_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_node_canvas_pos_vec`
[INFO] [stdout]    --> src/ui/canvas/input_handlers.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |             let src_node_canvas_pos_vec = selected_node_indices
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_node_canvas_pos_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_node_id` is never used
[INFO] [stdout]    --> src/ui/node.rs:454:8
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl NodeWidget {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 454 |     fn draw_node_id(&self, ui: &mut egui::Ui, node_response: &egui::Response) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_node_id` is never used
[INFO] [stdout]    --> src/ui/node.rs:454:8
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl NodeWidget {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 454 |     fn draw_node_id(&self, ui: &mut egui::Ui, node_response: &egui::Response) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10m 14s
[INFO] running `Command { std: "docker" "inspect" "d125c7dd725845629fa60f9fe4d3e016024980fe8f44b09da128c6bb89ed47be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d125c7dd725845629fa60f9fe4d3e016024980fe8f44b09da128c6bb89ed47be", kill_on_drop: false }`
[INFO] [stdout] d125c7dd725845629fa60f9fe4d3e016024980fe8f44b09da128c6bb89ed47be
