[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] building IKchen/egui_mind_map against try#8b8eff55bd72abbb57167bc42222a7f91d41cb0d for pr-142134-abi-ast-error [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIKchen%2Fegui_mind_map" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/IKchen/egui_mind_map on toolchain 8b8eff55bd72abbb57167bc42222a7f91d41cb0d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-2-tc2/source/Cargo.toml [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" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c581c50413e63faf0173db4456d2971bc3941083919a9501d3ae3b3c5970fb02 [INFO] running `Command { std: "docker" "start" "-a" "c581c50413e63faf0173db4456d2971bc3941083919a9501d3ae3b3c5970fb02", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c581c50413e63faf0173db4456d2971bc3941083919a9501d3ae3b3c5970fb02", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c581c50413e63faf0173db4456d2971bc3941083919a9501d3ae3b3c5970fb02", kill_on_drop: false }` [INFO] [stdout] c581c50413e63faf0173db4456d2971bc3941083919a9501d3ae3b3c5970fb02 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 973bb8e20208c9d387f7faaa74a40f69e81abf557f31d2d347ac96e66dbeed05 [INFO] running `Command { std: "docker" "start" "-a" "973bb8e20208c9d387f7faaa74a40f69e81abf557f31d2d347ac96e66dbeed05", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.81 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling pin-project-lite v0.2.14 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling rustix v0.38.32 [INFO] [stderr] Compiling linux-raw-sys v0.4.13 [INFO] [stderr] Compiling memchr v2.7.2 [INFO] [stderr] Compiling log v0.4.21 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling libloading v0.8.3 [INFO] [stderr] Compiling parking v2.2.0 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling hashbrown v0.14.3 [INFO] [stderr] Compiling futures-core v0.3.30 [INFO] [stderr] Compiling dlib v0.5.2 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling toml_datetime v0.6.5 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling winnow v0.5.40 [INFO] [stderr] Compiling cc v1.0.94 [INFO] [stderr] Compiling futures-io v0.3.30 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling scoped-tls v1.0.1 [INFO] [stderr] Compiling downcast-rs v1.2.1 [INFO] [stderr] Compiling fastrand v2.0.2 [INFO] [stderr] Compiling wayland-client v0.31.6 [INFO] [stderr] Compiling endi v1.1.0 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling thiserror v1.0.62 [INFO] [stderr] Compiling futures-lite v2.3.0 [INFO] [stderr] Compiling wayland-sys v0.31.5 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling async-task v4.7.1 [INFO] [stderr] Compiling concurrent-queue v2.4.0 [INFO] [stderr] Compiling piper v0.2.1 [INFO] [stderr] Compiling quick-xml v0.36.2 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Compiling indexmap v2.2.6 [INFO] [stderr] Compiling event-listener v5.3.0 [INFO] [stderr] Compiling event-listener v4.0.3 [INFO] [stderr] Compiling cpufeatures v0.2.12 [INFO] [stderr] Compiling futures-task v0.3.30 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling ttf-parser v0.20.0 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling arrayvec v0.7.4 [INFO] [stderr] Compiling event-listener-strategy v0.5.1 [INFO] [stderr] Compiling event-listener-strategy v0.4.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling syn v2.0.65 [INFO] [stderr] Compiling async-lock v3.3.0 [INFO] [stderr] Compiling async-channel v2.2.1 [INFO] [stderr] Compiling async-broadcast v0.7.1 [INFO] [stderr] Compiling async-executor v1.11.0 [INFO] [stderr] Compiling ordered-stream v0.2.0 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling xml-rs v0.8.20 [INFO] [stderr] Compiling getrandom v0.2.14 [INFO] [stderr] Compiling blocking v1.6.1 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling xdg-home v1.1.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.8 [INFO] [stderr] Compiling wayland-backend v0.3.7 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling wayland-scanner v0.31.5 [INFO] [stderr] Compiling xkeysym v0.2.0 [INFO] [stderr] Compiling toml_edit v0.21.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling zerocopy v0.7.32 [INFO] [stderr] Compiling cursor-icon v1.1.0 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Compiling smithay-client-toolkit v0.19.2 [INFO] [stderr] Compiling xcursor v0.3.5 [INFO] [stderr] Compiling async-fs v2.1.2 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling memmap2 v0.9.4 [INFO] [stderr] Compiling strict-num v0.1.1 [INFO] [stderr] Compiling accesskit v0.16.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling arrayref v0.3.7 [INFO] [stderr] Compiling owned_ttf_parser v0.20.0 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling as-raw-xcb-connection v1.0.1 [INFO] [stderr] Compiling ab_glyph v0.2.25 [INFO] [stderr] Compiling x11rb-protocol v0.13.0 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling immutable-chunkmap v2.0.5 [INFO] [stderr] Compiling winit v0.30.5 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Compiling simd-adler32 v0.3.7 [INFO] [stderr] Compiling raw-window-handle v0.6.0 [INFO] [stderr] Compiling xkbcommon-dl v0.4.2 [INFO] [stderr] Compiling accesskit_consumer v0.24.3 [INFO] [stderr] Compiling glutin_egl_sys v0.7.0 [INFO] [stderr] Compiling glutin_glx_sys v0.6.0 [INFO] [stderr] Compiling zerocopy v0.8.0-alpha.6 [INFO] [stderr] Compiling nohash-hasher v0.2.0 [INFO] [stderr] Compiling smol_str v0.2.1 [INFO] [stderr] Compiling dpi v0.1.1 [INFO] [stderr] Compiling unicode-bidi v0.3.15 [INFO] [stderr] Compiling epaint_default_fonts v0.29.1 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling miniz_oxide v0.7.2 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling glutin v0.32.1 [INFO] [stderr] Compiling flate2 v1.0.28 [INFO] [stderr] Compiling fdeflate v0.3.4 [INFO] [stderr] Compiling unicode-normalization v0.1.23 [INFO] [stderr] Compiling glutin-winit v0.5.0 [INFO] [stderr] Compiling home v0.5.9 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Compiling glow v0.14.2 [INFO] [stderr] Compiling litrs v0.4.1 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling png v0.17.13 [INFO] [stderr] Compiling idna v0.5.0 [INFO] [stderr] Compiling proc-macro-crate v3.1.0 [INFO] [stderr] Compiling rand_core v0.9.0-alpha.1 [INFO] [stderr] Compiling url v2.5.0 [INFO] [stderr] Compiling document-features v0.2.10 [INFO] [stderr] Compiling rand_chacha v0.9.0-alpha.1 [INFO] [stderr] Compiling rand v0.9.0-alpha.1 [INFO] [stderr] Compiling webbrowser v1.0.1 [INFO] [stderr] Compiling zvariant_utils v2.1.0 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling enumflags2_derive v0.7.9 [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] Compiling serde_repr v0.1.19 [INFO] [stderr] Compiling async-trait v0.1.80 [INFO] [stderr] Compiling zbus_macros v4.4.0 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling bytemuck v1.15.0 [INFO] [stderr] Compiling tiny-skia-path v0.11.4 [INFO] [stderr] Compiling emath v0.29.1 [INFO] [stderr] Compiling image v0.25.1 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling polling v3.6.0 [INFO] [stderr] Compiling ecolor v0.29.1 [INFO] [stderr] Compiling epaint v0.29.1 [INFO] [stderr] Compiling async-io v2.3.2 [INFO] [stderr] Compiling calloop v0.13.0 [INFO] [stderr] Compiling tiny-skia v0.11.4 [INFO] [stderr] Compiling wayland-csd-frame v0.3.0 [INFO] [stderr] Compiling egui v0.29.1 [INFO] [stderr] Compiling wayland-protocols v0.32.4 [INFO] [stderr] Compiling wayland-cursor v0.31.1 [INFO] [stderr] Compiling calloop-wayland-source v0.3.0 [INFO] [stderr] Compiling enumflags2 v0.7.9 [INFO] [stderr] Compiling quick-xml v0.30.0 [INFO] [stderr] Compiling zvariant v4.2.0 [INFO] [stderr] Compiling egui_glow v0.29.1 [INFO] [stderr] Compiling zbus_names v3.0.0 [INFO] [stderr] Compiling wayland-protocols-wlr v0.3.4 [INFO] [stderr] Compiling wayland-protocols-plasma v0.3.4 [INFO] [stderr] Compiling zbus_xml v4.0.0 [INFO] [stderr] Compiling zbus v4.4.0 [INFO] [stderr] Compiling zbus-lockstep v0.4.4 [INFO] [stderr] Compiling zbus-lockstep-macros v0.4.4 [INFO] [stderr] Compiling x11rb v0.13.0 [INFO] [stderr] Compiling sctk-adwaita v0.10.1 [INFO] [stderr] Compiling smithay-clipboard v0.7.2 [INFO] [stderr] Compiling arboard v3.3.2 [INFO] [stderr] Compiling atspi-common v0.6.0 [INFO] [stderr] Compiling atspi-proxies v0.6.0 [INFO] [stderr] Compiling accesskit_atspi_common v0.9.3 [INFO] [stderr] Compiling atspi-connection v0.6.0 [INFO] [stderr] Compiling atspi v0.22.0 [INFO] [stderr] Compiling accesskit_unix v0.12.3 [INFO] [stderr] Compiling accesskit_winit v0.22.0 [INFO] [stderr] Compiling egui-winit v0.29.1 [INFO] [stderr] Compiling eframe v0.29.1 [INFO] [stderr] Compiling 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)]` 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)]` 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)]` on by default [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)]` 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:65 [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: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 `k` is assigned to, but never used [INFO] [stdout] --> src/node_graph.rs:213:70 [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: 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: 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: 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: variable `k` is assigned to, but never used [INFO] [stdout] --> src/handlers.rs:56:35 [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: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:60:61 [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: 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: 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: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: 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: 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: variable `k` is assigned to, but never used [INFO] [stdout] --> src/main.rs:140:78 [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 `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: 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: variable `k` is assigned to, but never used [INFO] [stdout] --> src/main.rs:155:78 [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: 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: 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: 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] = note: `#[warn(dead_code)]` on by default [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, [INFO] [stdout] 36 | pub last_key:Option [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)]` 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 11s [INFO] running `Command { std: "docker" "inspect" "973bb8e20208c9d387f7faaa74a40f69e81abf557f31d2d347ac96e66dbeed05", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "973bb8e20208c9d387f7faaa74a40f69e81abf557f31d2d347ac96e66dbeed05", kill_on_drop: false }` [INFO] [stdout] 973bb8e20208c9d387f7faaa74a40f69e81abf557f31d2d347ac96e66dbeed05 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] db7c88d5d2864feb827e8d26e215a78c57755e4b6d2d7f3ea3a129628b50e651 [INFO] running `Command { std: "docker" "start" "-a" "db7c88d5d2864feb827e8d26e215a78c57755e4b6d2d7f3ea3a129628b50e651", kill_on_drop: false }` [INFO] [stderr] Compiling 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)]` 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)]` 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)]` on by default [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)]` 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:65 [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: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 `k` is assigned to, but never used [INFO] [stdout] --> src/node_graph.rs:213:70 [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: 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: 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: 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: variable `k` is assigned to, but never used [INFO] [stdout] --> src/handlers.rs:56:35 [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: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:60:61 [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: 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: 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: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: 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: 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: variable `k` is assigned to, but never used [INFO] [stdout] --> src/main.rs:140:78 [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 `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: 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: variable `k` is assigned to, but never used [INFO] [stdout] --> src/main.rs:155:78 [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: 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: 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: 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] = note: `#[warn(dead_code)]` on by default [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, [INFO] [stdout] 36 | pub last_key:Option [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)]` 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 `test` profile [unoptimized + debuginfo] target(s) in 1.28s [INFO] running `Command { std: "docker" "inspect" "db7c88d5d2864feb827e8d26e215a78c57755e4b6d2d7f3ea3a129628b50e651", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db7c88d5d2864feb827e8d26e215a78c57755e4b6d2d7f3ea3a129628b50e651", kill_on_drop: false }` [INFO] [stdout] db7c88d5d2864feb827e8d26e215a78c57755e4b6d2d7f3ea3a129628b50e651