[INFO] cloning repository https://github.com/IKchen/egui_mind_map
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IKchen/egui_mind_map" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIKchen%2Fegui_mind_map", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIKchen%2Fegui_mind_map'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 609ee0aab61e63c9a41bf4b5f3000dd7fe4ef504
[INFO] checking IKchen/egui_mind_map/609ee0aab61e63c9a41bf4b5f3000dd7fe4ef504 against master#568b11762723b001bfa693d0f21c5dad01d4e813 for pr-149058
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIKchen%2Fegui_mind_map" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/IKchen/egui_mind_map
[INFO] finished tweaking git repo https://github.com/IKchen/egui_mind_map
[INFO] tweaked toml for git repo https://github.com/IKchen/egui_mind_map written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/IKchen/egui_mind_map on toolchain 568b11762723b001bfa693d0f21c5dad01d4e813
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/IKchen/egui_mind_map 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" "+568b11762723b001bfa693d0f21c5dad01d4e813" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glutin_wgl_sys v0.6.0
[INFO] [stderr]   Downloaded windows-interface v0.53.0
[INFO] [stderr]   Downloaded atspi v0.22.0
[INFO] [stderr]   Downloaded renderdoc-sys v1.1.0
[INFO] [stderr]   Downloaded async-channel v2.2.1
[INFO] [stderr]   Downloaded zbus v4.4.0
[INFO] [stderr]   Downloaded bit-vec v0.7.0
[INFO] [stderr]   Downloaded async-executor v1.11.0
[INFO] [stderr]   Downloaded js-sys v0.3.71
[INFO] [stderr]   Downloaded zbus-lockstep v0.4.4
[INFO] [stderr]   Downloaded type-map v0.5.0
[INFO] [stderr]   Downloaded litrs v0.4.1
[INFO] [stderr]   Downloaded accesskit_atspi_common v0.9.3
[INFO] [stderr]   Downloaded gpu-allocator v0.26.0
[INFO] [stderr]   Downloaded atspi-connection v0.6.0
[INFO] [stderr]   Downloaded accesskit_macos v0.17.3
[INFO] [stderr]   Downloaded atspi-common v0.6.0
[INFO] [stderr]   Downloaded wgpu-hal v22.0.0
[INFO] [stderr]   Downloaded widestring v1.1.0
[INFO] [stderr]   Downloaded glow v0.14.2
[INFO] [stderr]   Downloaded zvariant v4.2.0
[INFO] [stderr]   Downloaded eframe v0.29.1
[INFO] [stderr]   Downloaded epaint v0.29.1
[INFO] [stderr]   Downloaded polling v3.6.0
[INFO] [stderr]   Downloaded wgpu v22.1.0
[INFO] [stderr]   Downloaded wayland-protocols v0.32.4
[INFO] [stderr]   Downloaded zerocopy v0.8.0-alpha.6
[INFO] [stderr]   Downloaded wgpu-core v22.1.0
[INFO] [stderr]   Downloaded quick-xml v0.36.2
[INFO] [stderr]   Downloaded wayland-backend v0.3.7
[INFO] [stderr]   Downloaded wayland-client v0.31.6
[INFO] [stderr]   Downloaded naga v22.1.0
[INFO] [stderr]   Downloaded web-sys v0.3.71
[INFO] [stderr]   Downloaded wayland-protocols-plasma v0.3.4
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.0-alpha.6
[INFO] [stderr]   Downloaded egui v0.29.1
[INFO] [stderr]   Downloaded rustix v0.38.32
[INFO] [stderr]   Downloaded rand v0.9.0-alpha.1
[INFO] [stderr]   Downloaded ash v0.38.0+1.3.281
[INFO] [stderr]   Downloaded async-io v2.3.2
[INFO] [stderr]   Downloaded async-process v2.3.0
[INFO] [stderr]   Downloaded libc v0.2.159
[INFO] [stderr]   Downloaded async-trait v0.1.80
[INFO] [stderr]   Downloaded uds_windows v1.1.0
[INFO] [stderr]   Downloaded immutable-chunkmap v2.0.5
[INFO] [stderr]   Downloaded accesskit_windows v0.22.0
[INFO] [stderr]   Downloaded accesskit_winit v0.22.0
[INFO] [stderr]   Downloaded arboard v3.3.2
[INFO] [stderr]   Downloaded webbrowser v1.0.1
[INFO] [stderr]   Downloaded pin-project v1.1.6
[INFO] [stderr]   Downloaded winit v0.30.5
[INFO] [stderr]   Downloaded wayland-protocols-wlr v0.3.4
[INFO] [stderr]   Downloaded wayland-scanner v0.31.5
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.94
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.94
[INFO] [stderr]   Downloaded epaint_default_fonts v0.29.1
[INFO] [stderr]   Downloaded accesskit v0.16.3
[INFO] [stderr]   Downloaded bytemuck_derive v1.6.0
[INFO] [stderr]   Downloaded bytemuck v1.15.0
[INFO] [stderr]   Downloaded emath v0.29.1
[INFO] [stderr]   Downloaded rand_core v0.9.0-alpha.1
[INFO] [stderr]   Downloaded atspi-proxies v0.6.0
[INFO] [stderr]   Downloaded async-fs v2.1.2
[INFO] [stderr]   Downloaded fastrand v2.0.2
[INFO] [stderr]   Downloaded zbus_macros v4.4.0
[INFO] [stderr]   Downloaded zvariant_utils v2.1.0
[INFO] [stderr]   Downloaded accesskit_consumer v0.24.3
[INFO] [stderr]   Downloaded windows-implement v0.53.0
[INFO] [stderr]   Downloaded clipboard-win v5.3.1
[INFO] [stderr]   Downloaded smithay-clipboard v0.7.2
[INFO] [stderr]   Downloaded egui_glow v0.29.1
[INFO] [stderr]   Downloaded pin-project-internal v1.1.6
[INFO] [stderr]   Downloaded thiserror-impl v1.0.62
[INFO] [stderr]   Downloaded thiserror v1.0.62
[INFO] [stderr]   Downloaded wayland-sys v0.31.5
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.94
[INFO] [stderr]   Downloaded wgpu-types v22.0.0
[INFO] [stderr]   Downloaded wayland-cursor v0.31.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.94
[INFO] [stderr]   Downloaded ab_glyph v0.2.25
[INFO] [stderr]   Downloaded ecolor v0.29.1
[INFO] [stderr]   Downloaded zbus_xml v4.0.0
[INFO] [stderr]   Downloaded zbus-lockstep-macros v0.4.4
[INFO] [stderr]   Downloaded async-broadcast v0.7.1
[INFO] [stderr]   Downloaded async-recursion v1.1.1
[INFO] [stderr]   Downloaded event-listener-strategy v0.5.1
[INFO] [stderr]   Downloaded piper v0.2.1
[INFO] [stderr]   Downloaded zbus_names v3.0.0
[INFO] [stderr]   Downloaded endi v1.1.0
[INFO] [stderr]   Downloaded enumflags2_derive v0.7.9
[INFO] [stderr]   Downloaded enumflags2 v0.7.9
[INFO] [stderr]   Downloaded zvariant_derive v4.2.0
[INFO] [stderr]   Downloaded accesskit_unix v0.12.3
[INFO] [stderr]   Downloaded error-code v3.2.0
[INFO] [stderr]   Downloaded glutin_egl_sys v0.7.0
[INFO] [stderr]   Downloaded glutin-winit v0.5.0
[INFO] [stderr]   Downloaded objc2-encode v4.0.3
[INFO] [stderr]   Downloaded jobserver v0.1.30
[INFO] [stderr]   Downloaded bit-set v0.6.0
[INFO] [stderr]   Downloaded egui-wgpu v0.29.1
[INFO] [stderr]   Downloaded document-features v0.2.10
[INFO] [stderr]   Downloaded gpu-descriptor-types v0.2.0
[INFO] [stderr]   Downloaded gpu-descriptor v0.3.0
[INFO] [stderr]   Downloaded async-signal v0.2.5
[INFO] [stderr]   Downloaded event-listener v5.3.0
[INFO] [stderr]   Downloaded ordered-stream v0.2.0
[INFO] [stderr]   Downloaded xdg-home v1.1.0
[INFO] [stderr]   Downloaded egui-winit v0.29.1
[INFO] [stderr]   Downloaded glutin_glx_sys v0.6.0
[INFO] [stderr]   Downloaded xml-rs v0.8.20
[INFO] [stderr]   Downloaded glutin v0.32.1
[INFO] [stderr]   Downloaded dpi v0.1.1
[INFO] [stderr]   Downloaded memmap2 v0.9.4
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.94
[INFO] [stderr]   Downloaded libloading v0.8.3
[INFO] [stderr]   Downloaded rand_chacha v0.9.0-alpha.1
[INFO] [stderr]   Downloaded metal v0.29.0
[INFO] [stderr]   Downloaded image v0.25.1
[INFO] [stderr]   Downloaded windows v0.52.0
[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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a66804dde901494ad9bc13d90804e7e43b7db986398291fd841444ee83663362
[INFO] running `Command { std: "docker" "start" "-a" "a66804dde901494ad9bc13d90804e7e43b7db986398291fd841444ee83663362", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a66804dde901494ad9bc13d90804e7e43b7db986398291fd841444ee83663362", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a66804dde901494ad9bc13d90804e7e43b7db986398291fd841444ee83663362", kill_on_drop: false }`
[INFO] [stdout] a66804dde901494ad9bc13d90804e7e43b7db986398291fd841444ee83663362
[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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a129a9722076ff1ee18c825edbb6bedc11d8d617bc59615435c5220672d1e1a2
[INFO] running `Command { std: "docker" "start" "-a" "a129a9722076ff1ee18c825edbb6bedc11d8d617bc59615435c5220672d1e1a2", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.81
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling rustix v0.38.32
[INFO] [stderr]     Checking linux-raw-sys v0.4.13
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking libloading v0.8.3
[INFO] [stderr]     Checking parking v2.2.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking concurrent-queue v2.4.0
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling wayland-sys v0.31.5
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling cc v1.0.94
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]     Checking fastrand v2.0.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking event-listener v5.3.0
[INFO] [stderr]    Compiling quick-xml v0.36.2
[INFO] [stderr]    Compiling thiserror v1.0.62
[INFO] [stderr]    Compiling wayland-client v0.31.6
[INFO] [stderr]    Compiling syn v2.0.65
[INFO] [stderr]     Checking event-listener-strategy v0.5.1
[INFO] [stderr]     Checking futures-lite v2.3.0
[INFO] [stderr]     Checking getrandom v0.2.14
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]    Compiling wayland-scanner v0.31.5
[INFO] [stderr]     Checking event-listener v4.0.3
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling endi v1.1.0
[INFO] [stderr]     Checking event-listener-strategy v0.4.0
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]     Checking piper v0.2.1
[INFO] [stderr]     Checking async-lock v3.3.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling wayland-backend v0.3.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking async-channel v2.2.1
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking async-executor v1.11.0
[INFO] [stderr]     Checking xdg-home v1.1.0
[INFO] [stderr]     Checking async-broadcast v0.7.1
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]    Compiling proc-macro-crate v3.1.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking xkeysym v0.2.0
[INFO] [stderr]     Checking xcursor v0.3.5
[INFO] [stderr]     Checking zerocopy v0.7.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]     Checking memmap2 v0.9.4
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]     Checking accesskit v0.16.3
[INFO] [stderr]     Checking owned_ttf_parser v0.20.0
[INFO] [stderr]     Checking ab_glyph v0.2.25
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking immutable-chunkmap v2.0.5
[INFO] [stderr]    Compiling winit v0.30.5
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]     Checking raw-window-handle v0.6.0
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.0
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.0
[INFO] [stderr]     Checking accesskit_consumer v0.24.3
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]    Compiling zerocopy v0.8.0-alpha.6
[INFO] [stderr]     Checking smol_str v0.2.1
[INFO] [stderr]     Checking epaint_default_fonts v0.29.1
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]    Compiling glutin v0.32.1
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]     Checking webbrowser v1.0.1
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]     Checking rand_core v0.9.0-alpha.1
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking glow v0.14.2
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling enumflags2_derive v0.7.9
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]    Compiling bytemuck_derive v1.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.62
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]     Checking wayland-protocols v0.32.4
[INFO] [stderr]    Compiling serde_repr v0.1.19
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]     Checking bytemuck v1.15.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]     Checking wayland-cursor v0.31.1
[INFO] [stderr]     Checking polling v3.6.0
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking async-io v2.3.2
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking emath v0.29.1
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking ecolor v0.29.1
[INFO] [stderr]     Checking image v0.25.1
[INFO] [stderr]     Checking epaint v0.29.1
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]     Checking egui v0.29.1
[INFO] [stderr]     Checking rand_chacha v0.9.0-alpha.1
[INFO] [stderr]     Checking rand v0.9.0-alpha.1
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.4
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.4
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling enumflags2 v0.7.9
[INFO] [stderr]    Compiling quick-xml v0.30.0
[INFO] [stderr]     Checking egui_glow v0.29.1
[INFO] [stderr]    Compiling zvariant v4.2.0
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking x11rb v0.13.0
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking arboard v3.3.2
[INFO] [stderr]     Checking zbus_xml v4.0.0
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking zbus-lockstep v0.4.4
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.9.3
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.12.3
[INFO] [stderr]     Checking accesskit_winit v0.22.0
[INFO] [stderr]     Checking egui-winit v0.29.1
[INFO] [stderr]     Checking eframe v0.29.1
[INFO] [stderr]     Checking egui_app v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `canvas`
[INFO] [stdout]  --> src/canvas.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{canvas};
[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: `eframe::App`
[INFO] [stdout]  --> src/canvas.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::App;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CentralPanel` and `Context`
[INFO] [stdout]  --> src/canvas.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, CentralPanel, Context};
[INFO] [stdout]   |                          ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color32`, `Pos2`, `Rect`, and `vec2`
[INFO] [stdout]  --> src/canvas.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use eframe::epaint::{Color32, Pos2, Rect, vec2};
[INFO] [stdout]   |                      ^^^^^^^  ^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Label`
[INFO] [stdout]  --> src/node.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Align2, FontId, Label};
[INFO] [stdout]   |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GraphState`
[INFO] [stdout]  --> src/node.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::node_graph::{GraphState,NodeId};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CentralPanel` and `Context`
[INFO] [stdout]  --> src/node.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, CentralPanel, Context};
[INFO] [stdout]   |                          ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CircleShape`, `FontFamily`, and `vec2`
[INFO] [stdout]  --> src/node.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use eframe::epaint::{CircleShape, Color32, FontFamily, Pos2, Rect, vec2};
[INFO] [stdout]   |                      ^^^^^^^^^^^           ^^^^^^^^^^              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Area`, `Button`, `FontDefinitions`, `LayerId`, `Order`, `Response`, `Rounding`, `Stroke`, and `Widget`
[INFO] [stdout]  --> src/node.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use egui::{Area, Button, FontDefinitions, Id, Key, LayerId, Order, Response, Rounding, Sense, Stroke, Style, Ui, Vec2, Widget};
[INFO] [stdout]   |            ^^^^  ^^^^^^  ^^^^^^^^^^^^^^^           ^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^         ^^^^^^                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random`
[INFO] [stdout]  --> src/node.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{random, Rng};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/node.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pos2` and `vec2`
[INFO] [stdout]  --> src/pan_zoom.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use eframe::emath::{Pos2, TSTransform, vec2};
[INFO] [stdout]   |                     ^^^^               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/node_graph.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, thread};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rounding`
[INFO] [stdout]  --> src/node_graph.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use eframe::epaint::{Pos2, pos2, Rounding};
[INFO] [stdout]   |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Area`, `Id`, `Shape`, and `Style`
[INFO] [stdout]  --> src/node_graph.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use egui::{Area, Color32, Id, Shape, Stroke, Style, Ui};
[INFO] [stdout]   |            ^^^^           ^^  ^^^^^          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::println`
[INFO] [stdout]  --> src/traits.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::println;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rect` and `Vec2`
[INFO] [stdout]  --> src/traits.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::emath::{Rect, Vec2};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color32`, `Rounding`, and `Stroke`
[INFO] [stdout]  --> src/traits.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::epaint::{Color32, Rounding, Stroke};
[INFO] [stdout]   |                      ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::spawn`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::thread::spawn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `Order`, `Painter`, `TopBottomPanel`, and `Widget`
[INFO] [stdout]   --> src/main.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use egui::{Align2, Id, Layout, menu, Order, Painter, Rounding, Sense, TextStyle, TopBottomPanel, Widget, Window, FontData, FontFamily};
[INFO] [stdout]    |                        ^^^^^^        ^^^^^  ^^^^^^^                              ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rect` and `Stroke`
[INFO] [stdout]   --> src/main.rs:54:28
[INFO] [stdout]    |
[INFO] [stdout] 54 | use eframe::epaint::{Pos2, Rect, Stroke, vec2};
[INFO] [stdout]    |                            ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui::epaint::text::layout`
[INFO] [stdout]   --> src/main.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | use egui::epaint::text::layout;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]   --> src/main.rs:59:32
[INFO] [stdout]    |
[INFO] [stdout] 59 | use crate::node::{ButtonState, Node, NodeState};
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `canvas`
[INFO] [stdout]  --> src/canvas.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{canvas};
[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: `eframe::App`
[INFO] [stdout]  --> src/canvas.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::App;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CentralPanel` and `Context`
[INFO] [stdout]  --> src/canvas.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, CentralPanel, Context};
[INFO] [stdout]   |                          ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color32`, `Pos2`, `Rect`, and `vec2`
[INFO] [stdout]  --> src/canvas.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use eframe::epaint::{Color32, Pos2, Rect, vec2};
[INFO] [stdout]   |                      ^^^^^^^  ^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Label`
[INFO] [stdout]  --> src/node.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Align2, FontId, Label};
[INFO] [stdout]   |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GraphState`
[INFO] [stdout]  --> src/node.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::node_graph::{GraphState,NodeId};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CentralPanel` and `Context`
[INFO] [stdout]  --> src/node.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, CentralPanel, Context};
[INFO] [stdout]   |                          ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CircleShape`, `FontFamily`, and `vec2`
[INFO] [stdout]  --> src/node.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use eframe::epaint::{CircleShape, Color32, FontFamily, Pos2, Rect, vec2};
[INFO] [stdout]   |                      ^^^^^^^^^^^           ^^^^^^^^^^              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Area`, `Button`, `FontDefinitions`, `LayerId`, `Order`, `Response`, `Rounding`, `Stroke`, and `Widget`
[INFO] [stdout]  --> src/node.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use egui::{Area, Button, FontDefinitions, Id, Key, LayerId, Order, Response, Rounding, Sense, Stroke, Style, Ui, Vec2, Widget};
[INFO] [stdout]   |            ^^^^  ^^^^^^  ^^^^^^^^^^^^^^^           ^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^         ^^^^^^                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random`
[INFO] [stdout]  --> src/node.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{random, Rng};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/node.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pos2` and `vec2`
[INFO] [stdout]  --> src/pan_zoom.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use eframe::emath::{Pos2, TSTransform, vec2};
[INFO] [stdout]   |                     ^^^^               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/node_graph.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, thread};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rounding`
[INFO] [stdout]  --> src/node_graph.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use eframe::epaint::{Pos2, pos2, Rounding};
[INFO] [stdout]   |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Area`, `Id`, `Shape`, and `Style`
[INFO] [stdout]  --> src/node_graph.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use egui::{Area, Color32, Id, Shape, Stroke, Style, Ui};
[INFO] [stdout]   |            ^^^^           ^^  ^^^^^          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::println`
[INFO] [stdout]  --> src/traits.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::println;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rect` and `Vec2`
[INFO] [stdout]  --> src/traits.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::emath::{Rect, Vec2};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color32`, `Rounding`, and `Stroke`
[INFO] [stdout]  --> src/traits.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::epaint::{Color32, Rounding, Stroke};
[INFO] [stdout]   |                      ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::spawn`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::thread::spawn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `Order`, `Painter`, `TopBottomPanel`, and `Widget`
[INFO] [stdout]   --> src/main.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use egui::{Align2, Id, Layout, menu, Order, Painter, Rounding, Sense, TextStyle, TopBottomPanel, Widget, Window, FontData, FontFamily};
[INFO] [stdout]    |                        ^^^^^^        ^^^^^  ^^^^^^^                              ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rect` and `Stroke`
[INFO] [stdout]   --> src/main.rs:54:28
[INFO] [stdout]    |
[INFO] [stdout] 54 | use eframe::epaint::{Pos2, Rect, Stroke, vec2};
[INFO] [stdout]    |                            ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui::epaint::text::layout`
[INFO] [stdout]   --> src/main.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | use egui::epaint::text::layout;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]   --> src/main.rs:59:32
[INFO] [stdout]    |
[INFO] [stdout] 59 | use crate::node::{ButtonState, Node, NodeState};
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `View`
[INFO] [stdout]   --> src/main.rs:61:33
[INFO] [stdout]    |
[INFO] [stdout] 61 | use crate::traits::{NodeGraphs, View};
[INFO] [stdout]    |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `random_number`
[INFO] [stdout]   --> src/node.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let random_number: u8 = rng.gen_range(0..=255);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_number`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let mut transformed_node_pos = pan_zoom.transform* self.node_pos;
[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 `k` is assigned to, but never used
[INFO] [stdout]    --> src/node_graph.rs:192:61
[INFO] [stdout]     |
[INFO] [stdout] 192 |              graph_response.nodes_response.insert_with_key(|mut k| {
[INFO] [stdout]     |                                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]    --> src/node_graph.rs:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 |                     k = node_id;
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `k` is assigned to, but never used
[INFO] [stdout]    --> src/node_graph.rs:213:66
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 graph_response.buttons_response.insert_with_key(|mut k| {
[INFO] [stdout]     |                                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]    --> src/node_graph.rs:214:21
[INFO] [stdout]     |
[INFO] [stdout] 214 |                     k = id;
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_graph.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut node_pos=self.nodes[father_node_id].node_pos+pos2(300.0,0.0).to_vec2();//默认往右平移300，后面需要算法计算位置
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> src/node_graph.rs:257:32
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn select_node(& mut self, node_id: NodeId) {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> src/node_graph.rs:260:30
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn edite_node(&mut self, node_id: NodeId) {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> src/node_graph.rs:263:31
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn delete_node(&mut self, node_id: NodeId) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/traits.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,graph_state: &mut GraphState)-> GraphResponse{
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pan_zoom`
[INFO] [stdout]   --> src/traits.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,graph_state: &mut GraphState)-> GraphResponse{
[INFO] [stdout]    |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pan_zoom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph_state`
[INFO] [stdout]   --> src/traits.rs:12:60
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,graph_state: &mut GraphState)-> GraphResponse{
[INFO] [stdout]    |                                                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graph_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `father_node_id`
[INFO] [stdout]   --> src/traits.rs:15:45
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn add_node_with_father_node(&mut self, father_node_id:  NodeId)->NodeId{
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_father_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos2`
[INFO] [stdout]   --> src/traits.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn add_node_with_position(&mut self, pos2: Pos2)-> NodeId{
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_pos2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> src/traits.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn select_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> src/traits.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn edite_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> src/traits.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn delete_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/traits.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,node_state:&mut NodeState)->NodeResponse{
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pan_zoom`
[INFO] [stdout]   --> src/traits.rs:28:37
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,node_state:&mut NodeState)->NodeResponse{
[INFO] [stdout]    |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pan_zoom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_state`
[INFO] [stdout]   --> src/traits.rs:28:60
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,node_state:&mut NodeState)->NodeResponse{
[INFO] [stdout]    |                                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pan_zoom`
[INFO] [stdout]   --> src/traits.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn ui(& mut self, ui: &mut Ui,pan_zoom: &mut PanZoom) ->Response{
[INFO] [stdout]    |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pan_zoom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/traits.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn draw_button(& mut self, ui: &mut Ui, pan_zoom: &mut PanZoom, button_state:&mut ButtonState)->ButtonResponse{
[INFO] [stdout]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pan_zoom`
[INFO] [stdout]   --> src/traits.rs:37:45
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn draw_button(& mut self, ui: &mut Ui, pan_zoom: &mut PanZoom, button_state:&mut ButtonState)->ButtonResponse{
[INFO] [stdout]    |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pan_zoom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button_state`
[INFO] [stdout]   --> src/traits.rs:37:69
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn draw_button(& mut self, ui: &mut Ui, pan_zoom: &mut PanZoom, button_state:&mut ButtonState)->ButtonResponse{
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_button_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `k` is assigned to, but never used
[INFO] [stdout]   --> src/handlers.rs:60:57
[INFO] [stdout]    |
[INFO] [stdout] 60 |         graph_state.graph_button_state.insert_with_key(|mut k| {
[INFO] [stdout]    |                                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]   --> src/handlers.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             k = new_node;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `k` is assigned to, but never used
[INFO] [stdout]   --> src/handlers.rs:56:31
[INFO] [stdout]    |
[INFO] [stdout] 56 |             .insert_with_key(|mut k| {
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]   --> src/handlers.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             k = new_node;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nodeid`
[INFO] [stdout]   --> src/handlers.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     for (nodeid,response) in nodes_response{
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nodeid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> src/handlers.rs:81:10
[INFO] [stdout]    |
[INFO] [stdout] 81 |     for (node_id, response) in buttons_response {
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/main.rs:33:75
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn circle_interactable(ui: &mut egui::Ui, center: &mut Pos2, radius: f32, id: Id) -> Response {
[INFO] [stdout]    |                                                                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let mut response = ui.interact(rect, id, egui::Sense::click_and_drag());
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pan_delta`
[INFO] [stdout]    --> src/main.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let pan_delta = ui.ctx().input(|i| i.smooth_scroll_delta);
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pan_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:134:24
[INFO] [stdout]     |
[INFO] [stdout] 134 |                    let mut node_id= self.node_graph.add_node_with_position(pos);
[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]    --> src/main.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut node_id=self.node_graph.add_node_with_father_node(id);
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `k` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:155:74
[INFO] [stdout]     |
[INFO] [stdout] 155 |                     self.graph_state.graph_button_state.insert_with_key(|mut k| {
[INFO] [stdout]     |                                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]    --> src/main.rs:156:25
[INFO] [stdout]     |
[INFO] [stdout] 156 |                         k = node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_id` is never read
[INFO] [stdout]    --> src/main.rs:152:25
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         node_id=node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `k` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:140:74
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     self.graph_state.graph_button_state.insert_with_key(|mut k| {
[INFO] [stdout]     |                                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]    --> src/main.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |                         k = node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_id` is never read
[INFO] [stdout]    --> src/main.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         node_id=node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `central_response`
[INFO] [stdout]    --> src/main.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let central_response=CentralPanel::default().show(ctx, |ui| {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_central_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let mut myapp=MyApp::default();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `View`
[INFO] [stdout]   --> src/main.rs:61:33
[INFO] [stdout]    |
[INFO] [stdout] 61 | use crate::traits::{NodeGraphs, View};
[INFO] [stdout]    |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of variable of type `node_graph::NodeId` to itself
[INFO] [stdout]    --> src/main.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         node_id=node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `random_number`
[INFO] [stdout]   --> src/node.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let random_number: u8 = rng.gen_range(0..=255);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_number`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of variable of type `node_graph::NodeId` to itself
[INFO] [stdout]    --> src/main.rs:152:25
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         node_id=node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `custom_button` is never used
[INFO] [stdout]   --> src/main.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn custom_button(ui: &mut Ui, text: &str) -> Response {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `circle_interactable` is never used
[INFO] [stdout]   --> src/main.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn circle_interactable(ui: &mut egui::Ui, center: &mut Pos2, radius: f32, id: Id) -> Response {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `canvas`, `circle_center`, and `graph_response` are never read
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct MyApp{
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 64 |     canvas: Canvas,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 65 |     node_graph: NodeGraph,
[INFO] [stdout] 66 |     circle_center:Pos2,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     graph_response: GraphResponse,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]   --> src/canvas.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Canvas{
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 12 |    pub transform: TSTransform,
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvisibleNode` and `VisibleNode` are never constructed
[INFO] [stdout]   --> src/node.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum NodeResponse{
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     InvisibleNode(NodeId),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 29 |     VisibleNode(NodeId), 
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]   --> src/node.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Node{
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 40 |     pub node_id:NodeId,
[INFO] [stdout] 41 |     pub transform: TSTransform,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_color` and `set_pos` are never used
[INFO] [stdout]   --> src/node.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl  Node{
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 70 |     //设置节点颜色
[INFO] [stdout] 71 |     pub fn set_color(&mut self){
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn set_pos(&mut self,pos:Pos2){
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/pan_zoom.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl PanZoom{
[INFO] [stdout]   | ------------ associated function in this implementation
[INFO] [stdout] 8 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_key` is never read
[INFO] [stdout]   --> src/node_graph.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct NodeGraph {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     pub nodes: SlotMap<NodeId, Node>,
[INFO] [stdout] 36 |     pub last_key:Option<NodeId>
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_node`, `edite_node`, and `delete_node` are never used
[INFO] [stdout]   --> src/traits.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait NodeGraphs {
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn select_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 22 |     fn edite_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 23 |     fn delete_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ui` is never used
[INFO] [stdout]   --> src/traits.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait View {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn ui(& mut self, ui: &mut Ui,pan_zoom: &mut PanZoom) ->Response{
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |             handle_graph_response(&mut self.node_graph,&mut self.graph_state,graph_response);//处理response
[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] 201 |             let _ = handle_graph_response(&mut self.node_graph,&mut self.graph_state,graph_response);//处理response
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let mut transformed_node_pos = pan_zoom.transform* self.node_pos;
[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 `k` is assigned to, but never used
[INFO] [stdout]    --> src/node_graph.rs:192:61
[INFO] [stdout]     |
[INFO] [stdout] 192 |              graph_response.nodes_response.insert_with_key(|mut k| {
[INFO] [stdout]     |                                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]    --> src/node_graph.rs:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 |                     k = node_id;
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `k` is assigned to, but never used
[INFO] [stdout]    --> src/node_graph.rs:213:66
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 graph_response.buttons_response.insert_with_key(|mut k| {
[INFO] [stdout]     |                                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]    --> src/node_graph.rs:214:21
[INFO] [stdout]     |
[INFO] [stdout] 214 |                     k = id;
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_graph.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut node_pos=self.nodes[father_node_id].node_pos+pos2(300.0,0.0).to_vec2();//默认往右平移300，后面需要算法计算位置
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> src/node_graph.rs:257:32
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn select_node(& mut self, node_id: NodeId) {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> src/node_graph.rs:260:30
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn edite_node(&mut self, node_id: NodeId) {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> src/node_graph.rs:263:31
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn delete_node(&mut self, node_id: NodeId) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/traits.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,graph_state: &mut GraphState)-> GraphResponse{
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pan_zoom`
[INFO] [stdout]   --> src/traits.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,graph_state: &mut GraphState)-> GraphResponse{
[INFO] [stdout]    |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pan_zoom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph_state`
[INFO] [stdout]   --> src/traits.rs:12:60
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,graph_state: &mut GraphState)-> GraphResponse{
[INFO] [stdout]    |                                                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graph_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `father_node_id`
[INFO] [stdout]   --> src/traits.rs:15:45
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn add_node_with_father_node(&mut self, father_node_id:  NodeId)->NodeId{
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_father_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos2`
[INFO] [stdout]   --> src/traits.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn add_node_with_position(&mut self, pos2: Pos2)-> NodeId{
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_pos2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> src/traits.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn select_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> src/traits.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn edite_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> src/traits.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn delete_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/traits.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,node_state:&mut NodeState)->NodeResponse{
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pan_zoom`
[INFO] [stdout]   --> src/traits.rs:28:37
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,node_state:&mut NodeState)->NodeResponse{
[INFO] [stdout]    |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pan_zoom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_state`
[INFO] [stdout]   --> src/traits.rs:28:60
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn draw(&mut self,  ui:&mut Ui ,pan_zoom: &mut PanZoom,node_state:&mut NodeState)->NodeResponse{
[INFO] [stdout]    |                                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pan_zoom`
[INFO] [stdout]   --> src/traits.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn ui(& mut self, ui: &mut Ui,pan_zoom: &mut PanZoom) ->Response{
[INFO] [stdout]    |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pan_zoom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/traits.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn draw_button(& mut self, ui: &mut Ui, pan_zoom: &mut PanZoom, button_state:&mut ButtonState)->ButtonResponse{
[INFO] [stdout]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pan_zoom`
[INFO] [stdout]   --> src/traits.rs:37:45
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn draw_button(& mut self, ui: &mut Ui, pan_zoom: &mut PanZoom, button_state:&mut ButtonState)->ButtonResponse{
[INFO] [stdout]    |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pan_zoom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button_state`
[INFO] [stdout]   --> src/traits.rs:37:69
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn draw_button(& mut self, ui: &mut Ui, pan_zoom: &mut PanZoom, button_state:&mut ButtonState)->ButtonResponse{
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_button_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `k` is assigned to, but never used
[INFO] [stdout]   --> src/handlers.rs:60:57
[INFO] [stdout]    |
[INFO] [stdout] 60 |         graph_state.graph_button_state.insert_with_key(|mut k| {
[INFO] [stdout]    |                                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]   --> src/handlers.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             k = new_node;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `k` is assigned to, but never used
[INFO] [stdout]   --> src/handlers.rs:56:31
[INFO] [stdout]    |
[INFO] [stdout] 56 |             .insert_with_key(|mut k| {
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]   --> src/handlers.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             k = new_node;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nodeid`
[INFO] [stdout]   --> src/handlers.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     for (nodeid,response) in nodes_response{
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nodeid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> src/handlers.rs:81:10
[INFO] [stdout]    |
[INFO] [stdout] 81 |     for (node_id, response) in buttons_response {
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/main.rs:33:75
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn circle_interactable(ui: &mut egui::Ui, center: &mut Pos2, radius: f32, id: Id) -> Response {
[INFO] [stdout]    |                                                                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let mut response = ui.interact(rect, id, egui::Sense::click_and_drag());
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pan_delta`
[INFO] [stdout]    --> src/main.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let pan_delta = ui.ctx().input(|i| i.smooth_scroll_delta);
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pan_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:134:24
[INFO] [stdout]     |
[INFO] [stdout] 134 |                    let mut node_id= self.node_graph.add_node_with_position(pos);
[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]    --> src/main.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut node_id=self.node_graph.add_node_with_father_node(id);
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `k` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:155:74
[INFO] [stdout]     |
[INFO] [stdout] 155 |                     self.graph_state.graph_button_state.insert_with_key(|mut k| {
[INFO] [stdout]     |                                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]    --> src/main.rs:156:25
[INFO] [stdout]     |
[INFO] [stdout] 156 |                         k = node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_id` is never read
[INFO] [stdout]    --> src/main.rs:152:25
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         node_id=node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `k` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:140:74
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     self.graph_state.graph_button_state.insert_with_key(|mut k| {
[INFO] [stdout]     |                                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_k` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `k` is never read
[INFO] [stdout]    --> src/main.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |                         k = node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_id` is never read
[INFO] [stdout]    --> src/main.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         node_id=node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `central_response`
[INFO] [stdout]    --> src/main.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let central_response=CentralPanel::default().show(ctx, |ui| {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_central_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let mut myapp=MyApp::default();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of variable of type `node_graph::NodeId` to itself
[INFO] [stdout]    --> src/main.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         node_id=node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of variable of type `node_graph::NodeId` to itself
[INFO] [stdout]    --> src/main.rs:152:25
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         node_id=node_id;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `custom_button` is never used
[INFO] [stdout]   --> src/main.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn custom_button(ui: &mut Ui, text: &str) -> Response {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `circle_interactable` is never used
[INFO] [stdout]   --> src/main.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn circle_interactable(ui: &mut egui::Ui, center: &mut Pos2, radius: f32, id: Id) -> Response {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `canvas`, `circle_center`, and `graph_response` are never read
[INFO] [stdout]   --> src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct MyApp{
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 64 |     canvas: Canvas,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 65 |     node_graph: NodeGraph,
[INFO] [stdout] 66 |     circle_center:Pos2,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     graph_response: GraphResponse,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]   --> src/canvas.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Canvas{
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 12 |    pub transform: TSTransform,
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvisibleNode` and `VisibleNode` are never constructed
[INFO] [stdout]   --> src/node.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum NodeResponse{
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     InvisibleNode(NodeId),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 29 |     VisibleNode(NodeId), 
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]   --> src/node.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Node{
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 40 |     pub node_id:NodeId,
[INFO] [stdout] 41 |     pub transform: TSTransform,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_color` and `set_pos` are never used
[INFO] [stdout]   --> src/node.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl  Node{
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 70 |     //设置节点颜色
[INFO] [stdout] 71 |     pub fn set_color(&mut self){
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn set_pos(&mut self,pos:Pos2){
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/pan_zoom.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl PanZoom{
[INFO] [stdout]   | ------------ associated function in this implementation
[INFO] [stdout] 8 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_key` is never read
[INFO] [stdout]   --> src/node_graph.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct NodeGraph {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     pub nodes: SlotMap<NodeId, Node>,
[INFO] [stdout] 36 |     pub last_key:Option<NodeId>
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_node`, `edite_node`, and `delete_node` are never used
[INFO] [stdout]   --> src/traits.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait NodeGraphs {
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn select_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 22 |     fn edite_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 23 |     fn delete_node(&mut self,node_id:NodeId){}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ui` is never used
[INFO] [stdout]   --> src/traits.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait View {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn ui(& mut self, ui: &mut Ui,pan_zoom: &mut PanZoom) ->Response{
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |             handle_graph_response(&mut self.node_graph,&mut self.graph_state,graph_response);//处理response
[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] 201 |             let _ = handle_graph_response(&mut self.node_graph,&mut self.graph_state,graph_response);//处理response
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 20s
[INFO] running `Command { std: "docker" "inspect" "a129a9722076ff1ee18c825edbb6bedc11d8d617bc59615435c5220672d1e1a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a129a9722076ff1ee18c825edbb6bedc11d8d617bc59615435c5220672d1e1a2", kill_on_drop: false }`
[INFO] [stdout] a129a9722076ff1ee18c825edbb6bedc11d8d617bc59615435c5220672d1e1a2
