[INFO] cloning repository https://github.com/pcmaclk/z [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pcmaclk/z" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpcmaclk%2Fz", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpcmaclk%2Fz'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ba12edde82294941d01f664d4e3cafd0d3737850 [INFO] checking pcmaclk/z against try#39605810efb1a0d52f955bfba9e4eec7a01d5deb for pr-153692 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpcmaclk%2Fz" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/pcmaclk/z [INFO] finished tweaking git repo https://github.com/pcmaclk/z [INFO] tweaked toml for git repo https://github.com/pcmaclk/z written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pcmaclk/z on toolchain 39605810efb1a0d52f955bfba9e4eec7a01d5deb [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/pcmaclk/z 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" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 34c9735a7a676526aef8e780afc0b9f1fc00689e6b369b53410c48c35582f670 [INFO] running `Command { std: "docker" "start" "-a" "34c9735a7a676526aef8e780afc0b9f1fc00689e6b369b53410c48c35582f670", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "34c9735a7a676526aef8e780afc0b9f1fc00689e6b369b53410c48c35582f670", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34c9735a7a676526aef8e780afc0b9f1fc00689e6b369b53410c48c35582f670", kill_on_drop: false }` [INFO] [stdout] 34c9735a7a676526aef8e780afc0b9f1fc00689e6b369b53410c48c35582f670 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4dada79141370ef5aaf7c8c4ae38118aa10005c7bec59fd2a043c9fee848cc61 [INFO] running `Command { std: "docker" "start" "-a" "4dada79141370ef5aaf7c8c4ae38118aa10005c7bec59fd2a043c9fee848cc61", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling portable-atomic v1.13.0 [INFO] [stderr] Checking critical-section v1.2.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Checking libloading v0.8.9 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling find-msvc-tools v0.1.8 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking slab v0.4.11 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling cc v1.2.53 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling wayland-sys v0.31.8 [INFO] [stderr] Checking core_maths v0.1.1 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Compiling wayland-client v0.31.12 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking simd-adler32 v0.3.8 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Compiling wayland-backend v0.3.12 [INFO] [stderr] Checking ttf-parser v0.25.1 [INFO] [stderr] Checking memmap2 v0.9.9 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Checking flate2 v1.1.8 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling endi v1.1.1 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling async-io v2.6.0 [INFO] [stderr] Checking float-cmp v0.9.0 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling zmij v1.0.15 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Checking async-task v4.7.1 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Checking async-lock v3.4.2 [INFO] [stderr] Compiling slotmap v1.1.1 [INFO] [stderr] Checking xkeysym v0.2.1 [INFO] [stderr] Compiling xml-rs v0.8.28 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling cpp_common v0.5.10 [INFO] [stderr] Checking cursor-icon v1.2.0 [INFO] [stderr] Checking xcursor v0.3.10 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking async-executor v1.13.3 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking async-broadcast v0.7.2 [INFO] [stderr] Checking ordered-stream v0.2.0 [INFO] [stderr] Checking async-signal v0.2.13 [INFO] [stderr] Compiling yeslogic-fontconfig-sys v6.0.0 [INFO] [stderr] Checking async-process v2.5.0 [INFO] [stderr] Checking uuid v1.19.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking as-raw-xcb-connection v1.0.1 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling field-offset v0.3.6 [INFO] [stderr] Checking gethostname v1.1.0 [INFO] [stderr] Checking euclid v0.22.11 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Checking bytemuck v1.24.0 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Checking font-types v0.10.1 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking read-fonts v0.35.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling zerocopy-derive v0.8.33 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Checking x11rb-protocol v0.13.2 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Checking enumflags2 v0.7.12 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling zvariant_utils v3.3.0 [INFO] [stderr] Compiling zvariant_derive v5.9.1 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling zvariant v5.9.1 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Compiling wayland-scanner v0.31.8 [INFO] [stderr] Compiling cpp_build v0.5.10 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Checking lyon_geom v1.0.18 [INFO] [stderr] Checking tinyvec v1.10.0 [INFO] [stderr] Compiling zbus_names v4.3.1 [INFO] [stderr] Checking pxfm v0.1.27 [INFO] [stderr] Checking kurbo v0.11.3 [INFO] [stderr] Compiling zbus_xml v5.1.0 [INFO] [stderr] Checking linebender_resource_handle v0.1.1 [INFO] [stderr] Compiling zbus_macros v5.13.1 [INFO] [stderr] Checking unicode-ccc v0.4.0 [INFO] [stderr] Checking unicode-bidi-mirroring v0.4.0 [INFO] [stderr] Checking zbus-lockstep v0.5.2 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking siphasher v1.0.1 [INFO] [stderr] Checking zune-core v0.5.1 [INFO] [stderr] Compiling smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking unicode-script v0.5.8 [INFO] [stderr] Checking unicode-properties v0.1.4 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Checking svgtypes v0.15.3 [INFO] [stderr] Checking zune-jpeg v0.5.9 [INFO] [stderr] Compiling zbus-lockstep-macros v0.5.2 [INFO] [stderr] Checking rustybuzz v0.20.1 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking wayland-protocols v0.32.10 [INFO] [stderr] Checking wayland-cursor v0.31.12 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Checking fontique v0.6.0 [INFO] [stderr] Checking skrifa v0.37.0 [INFO] [stderr] Checking moxcms v0.7.11 [INFO] [stderr] Checking lyon_path v1.0.16 [INFO] [stderr] Checking fontdb v0.23.0 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking rgb v0.8.52 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Checking zbus v5.13.1 [INFO] [stderr] Compiling const-field-offset-macro v0.1.5 [INFO] [stderr] Checking owned_ttf_parser v0.25.1 [INFO] [stderr] Checking png v0.18.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking simplecss v0.2.2 [INFO] [stderr] Checking unicode-vo v0.1.0 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking imagesize v0.13.0 [INFO] [stderr] Checking pico-args v0.5.0 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Checking weezl v0.1.12 [INFO] [stderr] Checking xmlwriter v0.1.0 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Checking data-url v0.3.2 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.10 [INFO] [stderr] Checking roxmltree v0.20.0 [INFO] [stderr] Checking ab_glyph v0.2.32 [INFO] [stderr] Checking gif v0.13.3 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Checking zune-jpeg v0.4.21 [INFO] [stderr] Checking usvg v0.45.1 [INFO] [stderr] Checking image-webp v0.2.4 [INFO] [stderr] Checking image v0.25.9 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.10 [INFO] [stderr] Checking swash v0.2.6 [INFO] [stderr] Checking const-field-offset v0.1.5 [INFO] [stderr] Checking harfrust v0.3.2 [INFO] [stderr] Compiling qttypes v0.2.12 [INFO] [stderr] Checking calloop v0.14.3 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling vtable-macro v0.3.0 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling glutin_egl_sys v0.7.1 [INFO] [stderr] Checking atspi-common v0.9.0 [INFO] [stderr] Compiling glutin_glx_sys v0.6.1 [INFO] [stderr] Compiling derive_utils v0.15.0 [INFO] [stderr] Compiling winit v0.30.12 [INFO] [stderr] Checking iana-time-zone v0.1.64 [INFO] [stderr] Checking ttf-parser v0.21.1 [INFO] [stderr] Checking accesskit v0.21.1 [INFO] [stderr] Compiling smithay-client-toolkit v0.20.0 [INFO] [stderr] Checking accesskit_consumer v0.31.0 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking vtable v0.3.0 [INFO] [stderr] Compiling auto_enums v0.8.7 [INFO] [stderr] Checking sctk-adwaita v0.10.1 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking calloop-wayland-source v0.4.1 [INFO] [stderr] Checking parley v0.6.0 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Checking fontdue v0.9.3 [INFO] [stderr] Checking resvg v0.45.1 [INFO] [stderr] Checking wayland-protocols-experimental v20250721.0.1 [INFO] [stderr] Checking wayland-protocols-misc v0.3.10 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.10 [INFO] [stderr] Compiling i-slint-core-macros v1.14.1 [INFO] [stderr] Checking lyon_extra v1.0.3 [INFO] [stderr] Checking lyon_algorithms v1.0.16 [INFO] [stderr] Checking i-slint-common v1.14.1 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Checking strum v0.27.2 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Compiling glutin v0.32.3 [INFO] [stderr] Checking integer-sqrt v0.1.5 [INFO] [stderr] Compiling tiny-xlib v0.2.4 [INFO] [stderr] Checking dpi v0.1.2 [INFO] [stderr] Checking sys-locale v0.3.2 [INFO] [stderr] Checking clru v0.6.2 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Checking pin-weak v1.1.0 [INFO] [stderr] Checking unicode-linebreak v0.1.5 [INFO] [stderr] Checking scoped-tls-hkt v0.1.5 [INFO] [stderr] Compiling cpp_macros v0.5.10 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Checking i-slint-core v1.14.1 [INFO] [stderr] Compiling i-slint-backend-qt v1.14.1 [INFO] [stderr] Checking atspi-proxies v0.9.0 [INFO] [stderr] Checking accesskit_atspi_common v0.14.2 [INFO] [stderr] Compiling glutin-winit v0.5.0 [INFO] [stderr] Checking glow v0.16.0 [INFO] [stderr] Checking ctor-lite v0.1.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Checking imgref v1.12.0 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Checking smithay-clipboard v0.7.3 [INFO] [stderr] Checking cpp v0.5.10 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking x11-clipboard v0.9.3 [INFO] [stderr] Checking atspi-connection v0.9.0 [INFO] [stderr] Checking atspi v0.25.0 [INFO] [stderr] Checking femtovg v0.19.3 [INFO] [stderr] Compiling num_enum_derive v0.7.5 [INFO] [stderr] Checking accesskit_unix v0.17.2 [INFO] [stderr] Compiling i-slint-backend-winit v1.14.1 [INFO] [stderr] Compiling countme v3.0.1 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling text-size v1.1.1 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling i-slint-compiler v1.14.1 [INFO] [stderr] Compiling codemap v0.1.3 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling linked-hash-map v0.5.6 [INFO] [stderr] Compiling codemap-diagnostic v0.1.2 [INFO] [stderr] Compiling num_enum v0.7.5 [INFO] [stderr] Compiling linked_hash_set v0.1.6 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Checking copypasta v0.10.2 [INFO] [stderr] Compiling rowan v0.16.1 [INFO] [stderr] Checking i-slint-renderer-femtovg v1.14.1 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking softbuffer v0.4.8 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling i-slint-backend-selector v1.14.1 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Checking accesskit_winit v0.29.2 [INFO] [stderr] Compiling smol_str v0.3.5 [INFO] [stderr] Compiling time-core v0.1.7 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling by_address v1.2.1 [INFO] [stderr] Compiling typed-index-collections v3.4.0 [INFO] [stderr] Compiling spin_on v0.1.1 [INFO] [stderr] Compiling time-macros v0.2.25 [INFO] [stderr] Checking deranged v0.5.5 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Checking clap_lex v0.7.7 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking clap_builder v4.5.54 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking time v0.3.45 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking chardetng v0.1.17 [INFO] [stderr] Checking clap v4.5.54 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking simplelog v0.12.2 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking keyboard-types v0.7.0 [INFO] [stderr] Checking tempfile v3.24.0 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking is-terminal v0.4.17 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking oorandom v11.1.5 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Compiling slint-macros v1.14.1 [INFO] [stderr] Checking slint v1.14.1 [INFO] [stderr] Checking zedit v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `WriteLogger` [INFO] [stdout] --> src/main.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use simplelog::{SimpleLogger, WriteLogger, Config}; [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: `unicode_segmentation::UnicodeSegmentation` [INFO] [stdout] --> src/core/buffer/piece_table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use unicode_segmentation::UnicodeSegmentation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/core/buffer/mode.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OriginalBuffer`, `PieceType`, and `Piece` [INFO] [stdout] --> src/core/buffer/mod.rs:10:41 [INFO] [stdout] | [INFO] [stdout] 10 | pub use self::piece_table::{PieceTable, Piece, PieceType, OriginalBuffer}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::mode::BufferMode` [INFO] [stdout] --> src/core/buffer/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use self::mode::BufferMode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::utf8::Utf8Validator` [INFO] [stdout] --> src/core/buffer/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use self::utf8::Utf8Validator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::mmap::MmapBuffer` [INFO] [stdout] --> src/core/buffer/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use self::mmap::MmapBuffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::lines::Lines` [INFO] [stdout] --> src/core/buffer/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub use self::lines::Lines; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeletionInfo` and `DeletionPiece` [INFO] [stdout] --> src/core/buffer/mod.rs:15:31 [INFO] [stdout] | [INFO] [stdout] 15 | pub use self::deletion_info::{DeletionInfo, DeletionPiece}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::chunk_iter::ChunkIter` [INFO] [stdout] --> src/core/buffer/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use self::chunk_iter::ChunkIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionResult` [INFO] [stdout] --> src/core/transaction/mod.rs:5:63 [INFO] [stdout] | [INFO] [stdout] 5 | pub use self::transaction::{EditTransaction, TransactionType, TransactionResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UndoStackConfig` [INFO] [stdout] --> src/core/transaction/mod.rs:6:39 [INFO] [stdout] | [INFO] [stdout] 6 | pub use self::undo_stack::{UndoStack, UndoStackConfig}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DEFAULT_CHUNK_SIZE`, `DocumentStats`, `EditTransaction`, `cursor::Cursor`, and `selection::Selection` [INFO] [stdout] --> src/core/editor/core.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | buffer::{PieceTable, DEFAULT_CHUNK_SIZE}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | transaction::{EditTransaction, UndoStack}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | editor::{ [INFO] [stdout] 6 | cursor::Cursor, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 7 | selection::Selection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | state::{EditorState, EditorStateSnapshot, DocumentStats}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Range` [INFO] [stdout] --> src/core/editor/cursor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unicode_segmentation::UnicodeSegmentation` [INFO] [stdout] --> src/core/editor/cursor.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use unicode_segmentation::UnicodeSegmentation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EditorAction`, `EditorCoreImpl`, `EditorCore`, `ViewportData`, and `ViewportQuery` [INFO] [stdout] --> src/core/editor/mod.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | pub use self::core::{EditorCore, EditorCoreImpl, EditorAction, ViewportQuery, ViewportData}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CursorPosition` and `Cursor` [INFO] [stdout] --> src/core/editor/mod.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | pub use self::cursor::{Cursor, CursorPosition}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SelectionMode`, `SelectionRange`, and `Selection` [INFO] [stdout] --> src/core/editor/mod.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | pub use self::selection::{Selection, SelectionMode, SelectionRange}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EditorStateSnapshot` and `EditorState` [INFO] [stdout] --> src/core/editor/mod.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | pub use self::state::{EditorStateSnapshot, EditorState}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::action::*` [INFO] [stdout] --> src/core/action/mod.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::action::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/system/input/input.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InputEvent`, `KeyCode`, `KeyModifiers`, `MouseButton`, and `MouseEventType` [INFO] [stdout] --> src/system/input/mod.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | InputSystem, InputEvent, KeyEvent, MouseEvent, ImeEvent, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | KeyCode, KeyModifiers, MouseButton, MouseEventType, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::editor::core::EditorCoreImpl` [INFO] [stdout] --> src/system/viewport/viewport.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::core::editor::core::EditorCoreImpl; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ViewportConfig` [INFO] [stdout] --> src/system/viewport/mod.rs:4:42 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::viewport::{ViewportSystem, ViewportConfig}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::editor::core::ViewportQuery` [INFO] [stdout] --> src/system/viewport/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use crate::core::editor::core::ViewportQuery; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unicode_segmentation::UnicodeSegmentation` [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use unicode_segmentation::UnicodeSegmentation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EditorCore` [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | core::{EditorCore, ViewportData}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ViewModelConfig` [INFO] [stdout] --> src/system/viewmodel/mod.rs:4:55 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::viewmodel::{EditorViewModel, ViewModel, ViewModelConfig, LineViewModel}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GlyphMetrics`, `LayoutConfig`, and `LayoutModel` [INFO] [stdout] --> src/system/layout/mod.rs:4:38 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::layout::{LayoutSystem, LayoutConfig, LayoutModel, GlyphMetrics}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ui/slint/ui.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | /// 主窗口组件 [INFO] [stdout] | ^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ImeEvent`, `KeyEvent`, and `MouseEvent` [INFO] [stdout] --> src/ui/slint/ui.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::system::input::{InputSystem, KeyEvent, MouseEvent, ImeEvent}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EditorAction` [INFO] [stdout] --> src/ui/slint/ui.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | core::{EditorCore, EditorAction}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/ui/slint/ui.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / slint::slint! { [INFO] [stdout] 12 | | export component MainWindow inherits Window { [INFO] [stdout] 13 | | width: 800px; [INFO] [stdout] 14 | | height: 600px; [INFO] [stdout] ... | [INFO] [stdout] 106 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] = note: `#[deny(self_lifetime_elision_not_applicable)]` (part of `#[deny(future_incompatible)]`) on by default [INFO] [stdout] = note: this error originates in the macro `slint::slint` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MainWindow` [INFO] [stdout] --> src/ui/slint/mod.rs:4:29 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::ui::{SlintUi, MainWindow}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ApplicationConfig` and `Application` [INFO] [stdout] --> src/framework/mod.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::app::{Application, ApplicationConfig}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `ui::slint::ui::_::WARNING`: padding only has effect on layout elements [INFO] [stdout] --> src/ui/slint/ui.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | padding: 8px; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WriteLogger` [INFO] [stdout] --> src/main.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use simplelog::{SimpleLogger, WriteLogger, Config}; [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: `unicode_segmentation::UnicodeSegmentation` [INFO] [stdout] --> src/core/buffer/piece_table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use unicode_segmentation::UnicodeSegmentation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::NamedTempFile` [INFO] [stdout] --> src/core/buffer/piece_table.rs:524:9 [INFO] [stdout] | [INFO] [stdout] 524 | use tempfile::NamedTempFile; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/core/buffer/mode.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OriginalBuffer`, `PieceType`, and `Piece` [INFO] [stdout] --> src/core/buffer/mod.rs:10:41 [INFO] [stdout] | [INFO] [stdout] 10 | pub use self::piece_table::{PieceTable, Piece, PieceType, OriginalBuffer}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::mode::BufferMode` [INFO] [stdout] --> src/core/buffer/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use self::mode::BufferMode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::utf8::Utf8Validator` [INFO] [stdout] --> src/core/buffer/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use self::utf8::Utf8Validator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::mmap::MmapBuffer` [INFO] [stdout] --> src/core/buffer/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use self::mmap::MmapBuffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::lines::Lines` [INFO] [stdout] --> src/core/buffer/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub use self::lines::Lines; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeletionInfo` and `DeletionPiece` [INFO] [stdout] --> src/core/buffer/mod.rs:15:31 [INFO] [stdout] | [INFO] [stdout] 15 | pub use self::deletion_info::{DeletionInfo, DeletionPiece}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::chunk_iter::ChunkIter` [INFO] [stdout] --> src/core/buffer/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use self::chunk_iter::ChunkIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionResult` [INFO] [stdout] --> src/core/transaction/mod.rs:5:63 [INFO] [stdout] | [INFO] [stdout] 5 | pub use self::transaction::{EditTransaction, TransactionType, TransactionResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UndoStackConfig` [INFO] [stdout] --> src/core/transaction/mod.rs:6:39 [INFO] [stdout] | [INFO] [stdout] 6 | pub use self::undo_stack::{UndoStack, UndoStackConfig}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DEFAULT_CHUNK_SIZE`, `DocumentStats`, `EditTransaction`, `cursor::Cursor`, and `selection::Selection` [INFO] [stdout] --> src/core/editor/core.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | buffer::{PieceTable, DEFAULT_CHUNK_SIZE}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | transaction::{EditTransaction, UndoStack}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | editor::{ [INFO] [stdout] 6 | cursor::Cursor, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 7 | selection::Selection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | state::{EditorState, EditorStateSnapshot, DocumentStats}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Range` [INFO] [stdout] --> src/core/editor/cursor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EditorAction`, `EditorCoreImpl`, `EditorCore`, `ViewportData`, and `ViewportQuery` [INFO] [stdout] --> src/core/editor/mod.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | pub use self::core::{EditorCore, EditorCoreImpl, EditorAction, ViewportQuery, ViewportData}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CursorPosition` and `Cursor` [INFO] [stdout] --> src/core/editor/mod.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | pub use self::cursor::{Cursor, CursorPosition}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SelectionMode`, `SelectionRange`, and `Selection` [INFO] [stdout] --> src/core/editor/mod.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | pub use self::selection::{Selection, SelectionMode, SelectionRange}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EditorStateSnapshot` and `EditorState` [INFO] [stdout] --> src/core/editor/mod.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | pub use self::state::{EditorStateSnapshot, EditorState}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::action::*` [INFO] [stdout] --> src/core/action/mod.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::action::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/system/input/input.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InputEvent`, `KeyCode`, `KeyModifiers`, `MouseButton`, and `MouseEventType` [INFO] [stdout] --> src/system/input/mod.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | InputSystem, InputEvent, KeyEvent, MouseEvent, ImeEvent, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | KeyCode, KeyModifiers, MouseButton, MouseEventType, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::editor::core::EditorCoreImpl` [INFO] [stdout] --> src/system/viewport/viewport.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::core::editor::core::EditorCoreImpl; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ViewportConfig` [INFO] [stdout] --> src/system/viewport/mod.rs:4:42 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::viewport::{ViewportSystem, ViewportConfig}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::editor::core::ViewportQuery` [INFO] [stdout] --> src/system/viewport/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use crate::core::editor::core::ViewportQuery; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unicode_segmentation::UnicodeSegmentation` [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use unicode_segmentation::UnicodeSegmentation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ViewModelConfig` [INFO] [stdout] --> src/system/viewmodel/mod.rs:4:55 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::viewmodel::{EditorViewModel, ViewModel, ViewModelConfig, LineViewModel}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GlyphMetrics`, `LayoutConfig`, and `LayoutModel` [INFO] [stdout] --> src/system/layout/mod.rs:4:38 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::layout::{LayoutSystem, LayoutConfig, LayoutModel, GlyphMetrics}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ui/slint/ui.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | /// 主窗口组件 [INFO] [stdout] | ^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ImeEvent`, `KeyEvent`, and `MouseEvent` [INFO] [stdout] --> src/ui/slint/ui.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::system::input::{InputSystem, KeyEvent, MouseEvent, ImeEvent}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EditorAction` [INFO] [stdout] --> src/ui/slint/ui.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | core::{EditorCore, EditorAction}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/ui/slint/ui.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / slint::slint! { [INFO] [stdout] 12 | | export component MainWindow inherits Window { [INFO] [stdout] 13 | | width: 800px; [INFO] [stdout] 14 | | height: 600px; [INFO] [stdout] ... | [INFO] [stdout] 106 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] = note: `#[deny(self_lifetime_elision_not_applicable)]` (part of `#[deny(future_incompatible)]`) on by default [INFO] [stdout] = note: this error originates in the macro `slint::slint` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MainWindow` [INFO] [stdout] --> src/ui/slint/mod.rs:4:29 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::ui::{SlintUi, MainWindow}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ApplicationConfig` and `Application` [INFO] [stdout] --> src/framework/mod.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | pub use self::app::{Application, ApplicationConfig}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `ui::slint::ui::_::WARNING`: padding only has effect on layout elements [INFO] [stdout] --> src/ui/slint/ui.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | padding: 8px; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/buffer/lines.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut current_pos = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line_start` [INFO] [stdout] --> src/core/buffer/lines.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let line_start = self.line_starts[line_number]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_start` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_pos` [INFO] [stdout] --> src/core/buffer/lines.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut current_pos = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/buffer/deletion_info.rs:73:21 [INFO] [stdout] | [INFO] [stdout] 73 | if let Some(mut prev) = self.deletions.pop_back() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t2` [INFO] [stdout] --> src/core/transaction/transaction.rs:126:108 [INFO] [stdout] | [INFO] [stdout] 126 | (TransactionType::Insert { offset: o1, text: t1 }, TransactionType::Insert { offset: o2, text: t2 }) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_t2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t1` [INFO] [stdout] --> src/core/transaction/transaction.rs:129:58 [INFO] [stdout] | [INFO] [stdout] 129 | (TransactionType::Delete { offset: o1, text: t1 }, TransactionType::Delete { offset: o2, text: t2 }) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_t1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o1` [INFO] [stdout] --> src/core/transaction/transaction.rs:146:48 [INFO] [stdout] | [INFO] [stdout] 146 | (TransactionType::Delete { offset: o1, text: t1 }, TransactionType::Delete { offset: o2, text: t2 }) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_o1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `direction` [INFO] [stdout] --> src/core/editor/cursor.rs:138:35 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn move_cursor(&mut self, direction: CursorDirection, distance: CursorDistance) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `distance` [INFO] [stdout] --> src/core/editor/cursor.rs:138:63 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn move_cursor(&mut self, direction: CursorDirection, distance: CursorDistance) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top` [INFO] [stdout] --> src/core/editor/selection.rs:62:43 [INFO] [stdout] | [INFO] [stdout] 62 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `top: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/core/editor/selection.rs:62:48 [INFO] [stdout] | [INFO] [stdout] 62 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `left: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bottom` [INFO] [stdout] --> src/core/editor/selection.rs:62:54 [INFO] [stdout] | [INFO] [stdout] 62 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `bottom: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/core/editor/selection.rs:62:62 [INFO] [stdout] | [INFO] [stdout] 62 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `right: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top` [INFO] [stdout] --> src/core/editor/selection.rs:83:43 [INFO] [stdout] | [INFO] [stdout] 83 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `top: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/core/editor/selection.rs:83:48 [INFO] [stdout] | [INFO] [stdout] 83 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `left: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bottom` [INFO] [stdout] --> src/core/editor/selection.rs:83:54 [INFO] [stdout] | [INFO] [stdout] 83 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `bottom: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/core/editor/selection.rs:83:62 [INFO] [stdout] | [INFO] [stdout] 83 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `right: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `modifiers` [INFO] [stdout] --> src/system/input/input.rs:317:54 [INFO] [stdout] | [INFO] [stdout] 317 | fn handle_special_keys(&self, key_code: KeyCode, modifiers: KeyModifiers) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dirty_range` [INFO] [stdout] --> src/system/viewport/viewport.rs:192:21 [INFO] [stdout] | [INFO] [stdout] 192 | if let Some(dirty_range) = &snapshot.dirty_range { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dirty_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `line_number` is assigned to, but never used [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | let mut line_number = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_line_number` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `byte_offset` is assigned to, but never used [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | let mut byte_offset = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_byte_offset` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `line_number` is never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | line_number += 1; [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: value assigned to `byte_offset` is never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | byte_offset += line_info.length; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_snapshot` [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:240:21 [INFO] [stdout] | [INFO] [stdout] 240 | if let Some(last_snapshot) = &self.last_snapshot { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_snapshot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:283:17 [INFO] [stdout] | [INFO] [stdout] 283 | let mut current_pos = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_pos` [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:283:17 [INFO] [stdout] | [INFO] [stdout] 283 | let mut current_pos = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/system/layout/layout.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | for i in 0..glyph_count { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | let main_window = main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | let main_window = main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | let main_window = main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:174:17 [INFO] [stdout] | [INFO] [stdout] 174 | let main_window = main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:183:17 [INFO] [stdout] | [INFO] [stdout] 183 | let main_window = main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | let main_window = self.main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `layout` [INFO] [stdout] --> src/framework/app.rs:221:25 [INFO] [stdout] | [INFO] [stdout] 221 | let layout = layout_system.compute_layout(vm.get_view_model()); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/buffer/lines.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut current_pos = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line_start` [INFO] [stdout] --> src/core/buffer/lines.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let line_start = self.line_starts[line_number]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_start` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_pos` [INFO] [stdout] --> src/core/buffer/lines.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut current_pos = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/buffer/deletion_info.rs:73:21 [INFO] [stdout] | [INFO] [stdout] 73 | if let Some(mut prev) = self.deletions.pop_back() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `InputState` is more private than the item `InputSystem::get_state` [INFO] [stdout] --> src/system/input/input.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 362 | pub fn get_state(&self) -> &InputState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `InputSystem::get_state` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `InputState` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/system/input/input.rs:206:1 [INFO] [stdout] | [INFO] [stdout] 206 | struct InputState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SMALL_FILE_THRESHOLD` is never used [INFO] [stdout] --> src/core/buffer/mod.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const SMALL_FILE_THRESHOLD: usize = 10 * 1024 * 1024; // 10MB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LARGE_FILE_THRESHOLD` is never used [INFO] [stdout] --> src/core/buffer/mod.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const LARGE_FILE_THRESHOLD: usize = 100 * 1024 * 1024; // 100MB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_CHUNK_SIZE` is never used [INFO] [stdout] --> src/core/buffer/mod.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const DEFAULT_CHUNK_SIZE: usize = 64 * 1024; // 64KB,流式处理块大小 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LARGE_OPERATION_THRESHOLD` is never used [INFO] [stdout] --> src/core/buffer/mod.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const LARGE_OPERATION_THRESHOLD: usize = 10 * 1024 * 1024; // 10MB,大型操作阈值 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Original` and `Add` are never constructed [INFO] [stdout] --> src/core/buffer/piece_table.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum PieceType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 16 | /// 原始缓冲区(只读) [INFO] [stdout] 17 | Original, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 18 | /// 追加缓冲区(可写) [INFO] [stdout] 19 | Add, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PieceType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_empty`, `split`, and `merge_with` are never used [INFO] [stdout] --> src/core/buffer/piece_table.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Piece { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 34 | pub fn new(piece_type: PieceType, offset: usize, length: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn split(&self, split_offset: usize) -> (Self, Self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn merge_with(&self, other: &Self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `len` and `is_empty` are never used [INFO] [stdout] --> src/core/buffer/piece_table.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 78 | impl OriginalBuffer { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mode`, `utf8_validator`, `deletion_info`, and `last_merge_time` are never read [INFO] [stdout] --> src/core/buffer/piece_table.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub struct PieceTable { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 135 | mode: BufferMode, [INFO] [stdout] | ^^^^ [INFO] [stdout] 136 | /// UTF-8 验证器 [INFO] [stdout] 137 | utf8_validator: Utf8Validator, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | deletion_info: DeletionInfo, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 142 | /// 最后合并时间 [INFO] [stdout] 143 | last_merge_time: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PieceTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/buffer/piece_table.rs:148:19 [INFO] [stdout] | [INFO] [stdout] 146 | impl PieceTable { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 147 | /// 获取 pieces 字段的不可变引用(用于 ChunkIter) [INFO] [stdout] 148 | pub(crate) fn pieces(&self) -> &Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub(crate) fn original_buffer(&self) -> &Arc { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub(crate) fn add_buffer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn from_file(file_path: &std::path::Path) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn get_text(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn insert(&mut self, offset: usize, text: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub fn delete(&mut self, range: Range) -> Result<(), String> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | fn find_piece_at(&self, offset: usize) -> Option<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 395 | fn check_and_merge(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | fn merge_pieces(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub fn line_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 500 | pub fn mode(&self) -> BufferMode { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 505 | pub fn add_buffer_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 510 | pub fn piece_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `MemoryMapped` and `Restricted` are never constructed [INFO] [stdout] --> src/core/buffer/mode.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum BufferMode { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 15 | MemoryMapped { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | Restricted { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BufferMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `for_file_size`, `merge_threshold`, `should_merge_on_edit`, `should_merge_on_idle`, `max_merge_size`, and `is_merge_disabled` are never used [INFO] [stdout] --> src/core/buffer/mode.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl BufferMode { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 34 | /// 根据文件大小选择模式(按冻结清单实现) [INFO] [stdout] 35 | pub fn for_file_size(file_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn merge_threshold(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn should_merge_on_edit(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn should_merge_on_idle(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn max_merge_size(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn is_merge_disabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/buffer/utf8.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Utf8Validator { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 8 | /// 创建新的 UTF-8 验证器 [INFO] [stdout] 9 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn validate_full_text(&self, text: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn validate_full_text_static(text: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn is_valid_utf8(bytes: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn find_utf8_boundary(bytes: &[u8], offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn is_utf8_char_boundary(bytes: &[u8], offset: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn byte_to_char_offset(text: &str, byte_offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn char_to_byte_offset(text: &str, char_offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn safe_read_char(text: &str, byte_offset: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn sanitize_text(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_empty` is never used [INFO] [stdout] --> src/core/buffer/mmap.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl MmapBuffer { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `count`, `get_line_number`, `update_on_insert`, `update_on_delete`, and `recalculate` are never used [INFO] [stdout] --> src/core/buffer/lines.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Lines { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn count(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn get_line_number(&self, offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn update_on_insert(&mut self, offset: usize, text: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn update_on_delete(&mut self, offset: usize, length: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn recalculate(&mut self, text: &str) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `deletions` and `max_deletions` are never read [INFO] [stdout] --> src/core/buffer/deletion_info.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct DeletionInfo { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 19 | /// 删除历史记录 [INFO] [stdout] 20 | deletions: VecDeque, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | /// 最大删除历史记录数 [INFO] [stdout] 22 | max_deletions: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DeletionInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/buffer/deletion_info.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl DeletionInfo { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn with_capacity(capacity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn add_deletion(&mut self, start_piece: usize, end_piece: usize, offset: usize, length: usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_deletions(&self) -> &VecDeque { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn can_merge_with_previous(&self, new_deletion: &DeletionPiece) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn try_merge_deletions(&mut self, new_deletion: &DeletionPiece) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn adjust_piece_indices(&mut self, start_idx: usize, count: isize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChunkIterConfig` is never constructed [INFO] [stdout] --> src/core/buffer/chunk_iter.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ChunkIterConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChunkIter` is never constructed [INFO] [stdout] --> src/core/buffer/chunk_iter.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct ChunkIter<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_config`, `with_range`, `with_range_and_config`, `get_chunk_data`, and `find_utf8_boundary` are never used [INFO] [stdout] --> src/core/buffer/chunk_iter.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl<'a> ChunkIter<'a> { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 35 | /// 创建新的块迭代器,遍历整个文档 [INFO] [stdout] 36 | pub fn new(piece_table: &'a PieceTable) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn with_config(piece_table: &'a PieceTable, config: ChunkIterConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn with_range(piece_table: &'a PieceTable, range: Range) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn with_range_and_config(piece_table: &'a PieceTable, range: Range, config: ChunkIterConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn get_chunk_data(&self, start: usize, end: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | fn find_utf8_boundary(&self, data: &[u8], offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/core/transaction/transaction.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum TransactionType { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 6 | /// 插入文本 [INFO] [stdout] 7 | Insert { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | Delete { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | Replace { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | Cut { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | Copy { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | Paste { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | Redo, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TransactionType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TransactionResult` is never used [INFO] [stdout] --> src/core/transaction/transaction.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum TransactionResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `transaction_type`, `version`, and `affected_range` are never read [INFO] [stdout] --> src/core/transaction/transaction.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct EditTransaction { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 59 | /// 事务类型 [INFO] [stdout] 60 | pub transaction_type: TransactionType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | /// 事务版本号(用于增量更新) [INFO] [stdout] 62 | pub version: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 63 | /// 受影响的范围 [INFO] [stdout] 64 | pub affected_range: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EditTransaction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_delete` and `is_insert` are never used [INFO] [stdout] --> src/core/transaction/transaction.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl TransactionType { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 68 | /// 检查是否是删除操作 [INFO] [stdout] 69 | pub fn is_delete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn is_insert(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `can_merge`, `merge_with`, and `inverse` are never used [INFO] [stdout] --> src/core/transaction/transaction.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl EditTransaction { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn can_merge(&self, other: &EditTransaction) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn merge_with(self, other: EditTransaction) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn inverse(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `auto_merge` is never read [INFO] [stdout] --> src/core/transaction/undo_stack.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct UndoStackConfig { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 10 | pub auto_merge: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UndoStackConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/core/transaction/undo_stack.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct UndoStack { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 30 | config: UndoStackConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UndoStack` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/transaction/undo_stack.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl UndoStack { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn push(&mut self, transaction: EditTransaction) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn undo(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn redo(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn undo_stack_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn redo_stack_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn undo_stack_content(&self) -> &VecDeque { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn redo_stack_content(&self) -> &VecDeque { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn trim_undo_stack(&mut self, new_size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn config(&self) -> &UndoStackConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn update_config(&mut self, config: UndoStackConfig) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `offset` and `text` are never read [INFO] [stdout] --> src/core/editor/core.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | InsertText { offset: usize, text: String }, [INFO] [stdout] | ---------- ^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `EditorAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `range` is never read [INFO] [stdout] --> src/core/editor/core.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | DeleteText { range: Range }, [INFO] [stdout] | ---------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `EditorAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `offset` is never read [INFO] [stdout] --> src/core/editor/core.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 22 | MoveCursor { offset: usize }, [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `EditorAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ReplaceText` and `SetSelection` are never constructed [INFO] [stdout] --> src/core/editor/core.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum EditorAction { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 20 | ReplaceText { range: Range, new_text: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | SetSelection { anchor: usize, active: usize }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EditorAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `include_syntax` is never read [INFO] [stdout] --> src/core/editor/core.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct ViewportQuery { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub include_syntax: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewportQuery` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `line_number` is never read [INFO] [stdout] --> src/core/editor/core.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct LineInfo { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 54 | /// 行号 [INFO] [stdout] 55 | pub line_number: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LineInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `line_range` is never read [INFO] [stdout] --> src/core/editor/core.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct ViewportDirtyNotification { [INFO] [stdout] | ------------------------- field in this struct [INFO] [stdout] 65 | /// 受影响的行范围 [INFO] [stdout] 66 | pub line_range: Range, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewportDirtyNotification` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `apply_action` and `subscribe_dirty_notification` are never used [INFO] [stdout] --> src/core/editor/core.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 70 | pub trait EditorCore: Send { [INFO] [stdout] | ---------- methods in this trait [INFO] [stdout] 71 | /// 应用编辑动作,返回新状态快照 [INFO] [stdout] 72 | fn apply_action(&mut self, action: EditorAction) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn subscribe_dirty_notification(&mut self, subscriber: Box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_file` and `notify_dirty` are never used [INFO] [stdout] --> src/core/editor/core.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl EditorCoreImpl { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn from_file(file_path: &std::path::Path) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn notify_dirty(&self, range: Range) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `apply_action_from_transaction` is never used [INFO] [stdout] --> src/core/editor/core.rs:298:8 [INFO] [stdout] | [INFO] [stdout] 296 | impl EditorCoreImpl { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 297 | /// 内部方法:从事务创建操作 [INFO] [stdout] 298 | fn apply_action_from_transaction(&mut self, transaction: &crate::core::transaction::EditTransaction) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `same_line`, `same_column`, `distance_to`, `is_before`, and `is_after` are never used [INFO] [stdout] --> src/core/editor/cursor.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl CursorPosition { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 18 | /// 创建新的光标位置 [INFO] [stdout] 19 | pub fn new(offset: usize, char_offset: usize, line: usize, column: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn same_line(&self, other: &CursorPosition) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn same_column(&self, other: &CursorPosition) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn distance_to(&self, other: &CursorPosition) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn is_before(&self, other: &CursorPosition) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn is_after(&self, other: &CursorPosition) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CursorDirection` is never used [INFO] [stdout] --> src/core/editor/cursor.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | pub enum CursorDirection { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CursorDistance` is never used [INFO] [stdout] --> src/core/editor/cursor.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum CursorDistance { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_position` and `move_cursor` are never used [INFO] [stdout] --> src/core/editor/cursor.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl Cursor { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn with_position(position: CursorPosition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn move_cursor(&mut self, direction: CursorDirection, distance: CursorDistance) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Rectangular` is never constructed [INFO] [stdout] --> src/core/editor/selection.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum SelectionMode { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 11 | Rectangular, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SelectionMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Rectangular` is never constructed [INFO] [stdout] --> src/core/editor/selection.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum SelectionRange { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 23 | Rectangular { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SelectionRange` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `rectangular`, `byte_range`, `is_empty`, `length`, and `contains_offset` are never used [INFO] [stdout] --> src/core/editor/selection.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl SelectionRange { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn rectangular(top: usize, left: usize, bottom: usize, right: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn byte_range(&self) -> Range { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn length(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn contains_offset(&self, offset: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/editor/selection.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Selection { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn with_range(range: SelectionRange) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn stream(anchor: CursorPosition, active: CursorPosition) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn rectangular(anchor: CursorPosition, active: CursorPosition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn update(&mut self, anchor: CursorPosition, active: CursorPosition) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn set_mode(&mut self, mode: SelectionMode) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn get_text(&self, text: &str) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn extend(&mut self, new_active: CursorPosition) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn contract(&mut self, new_active: CursorPosition) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `update` are never used [INFO] [stdout] --> src/core/editor/state.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl DocumentStats { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 21 | /// 创建新的文档统计信息 [INFO] [stdout] 22 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn update(&mut self, text: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_content`, `set_file_path`, and `reset_modified` are never used [INFO] [stdout] --> src/core/editor/state.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl EditorState { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn update_content(&mut self, new_content: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn set_file_path(&mut self, file_path: std::path::PathBuf) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn reset_modified(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `can_undo` and `can_redo` are never read [INFO] [stdout] --> src/core/editor/state.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct EditorStateSnapshot { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 119 | pub can_undo: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 120 | /// 可重做标志 [INFO] [stdout] 121 | pub can_redo: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EditorStateSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EditorAction` is never used [INFO] [stdout] --> src/core/action/action.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum EditorAction { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `insert`, `delete`, `replace`, `move_cursor`, `set_selection`, and `affected_range` are never used [INFO] [stdout] --> src/core/action/action.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl EditorAction { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 48 | /// 创建插入文本操作 [INFO] [stdout] 49 | pub fn insert(offset: usize, text: String) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn delete(start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn replace(start: usize, end: usize, new_text: String) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn move_cursor(offset: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn set_selection(anchor: usize, active: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn affected_range(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyEvent` is never constructed [INFO] [stdout] --> src/system/input/input.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct KeyEvent { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t2` [INFO] [stdout] --> src/core/transaction/transaction.rs:126:108 [INFO] [stdout] | [INFO] [stdout] 126 | (TransactionType::Insert { offset: o1, text: t1 }, TransactionType::Insert { offset: o2, text: t2 }) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_t2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MouseButton` is never used [INFO] [stdout] --> src/system/input/input.rs:153:10 [INFO] [stdout] | [INFO] [stdout] 153 | pub enum MouseButton { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t1` [INFO] [stdout] --> src/core/transaction/transaction.rs:129:58 [INFO] [stdout] | [INFO] [stdout] 129 | (TransactionType::Delete { offset: o1, text: t1 }, TransactionType::Delete { offset: o2, text: t2 }) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_t1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MouseEventType` is never used [INFO] [stdout] --> src/system/input/input.rs:161:10 [INFO] [stdout] | [INFO] [stdout] 161 | pub enum MouseEventType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MouseEvent` is never constructed [INFO] [stdout] --> src/system/input/input.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct MouseEvent { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImeEvent` is never constructed [INFO] [stdout] --> src/system/input/input.rs:181:12 [INFO] [stdout] | [INFO] [stdout] 181 | pub struct ImeEvent { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InputEvent` is never used [INFO] [stdout] --> src/system/input/input.rs:189:10 [INFO] [stdout] | [INFO] [stdout] 189 | pub enum InputEvent { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o1` [INFO] [stdout] --> src/core/transaction/transaction.rs:146:48 [INFO] [stdout] | [INFO] [stdout] 146 | (TransactionType::Delete { offset: o1, text: t1 }, TransactionType::Delete { offset: o2, text: t2 }) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_o1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key_map` and `state` are never read [INFO] [stdout] --> src/system/input/input.rs:199:5 [INFO] [stdout] | [INFO] [stdout] 197 | pub struct InputSystem { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 198 | /// 快捷键映射 [INFO] [stdout] 199 | key_map: Vec<(KeyCode, KeyModifiers, EditorAction)>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 200 | /// 输入状态 [INFO] [stdout] 201 | state: InputState, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InputSystem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `in_ime_composition` and `ime_composition_text` are never read [INFO] [stdout] --> src/system/input/input.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 206 | struct InputState { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 207 | /// 是否处于 IME 合成中 [INFO] [stdout] 208 | in_ime_composition: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 209 | /// 当前合成文本 [INFO] [stdout] 210 | ime_composition_text: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InputState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/system/input/input.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 213 | impl InputSystem { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn handle_key_event(&mut self, slint_key: keyboard_types::Key, slint_modifiers: keyboard_types::Modifiers, is_press: bool, ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn handle_mouse_event(&mut self, event_type: MouseEventType, button: Option, x: i32, y: i32, modifiers: keyboa... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn handle_ime_event(&mut self, event: ImeEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn handle_input_event(&mut self, event: InputEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | fn handle_key_event_internal(&self, event: KeyEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | fn handle_special_keys(&self, key_code: KeyCode, modifiers: KeyModifiers) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | fn handle_mouse_event_internal(&mut self, event: MouseEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn add_key_binding(&mut self, key_code: KeyCode, modifiers: KeyModifiers, action: EditorAction) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn remove_key_binding(&mut self, key_code: KeyCode, modifiers: KeyModifiers) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_state(&self) -> &InputState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `incremental_updates` and `scroll_step` are never read [INFO] [stdout] --> src/system/viewport/viewport.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ViewportConfig { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub incremental_updates: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | /// 垂直滚动步长 [INFO] [stdout] 18 | pub scroll_step: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewportConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `scroll_offset` are never read [INFO] [stdout] --> src/system/viewport/viewport.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct ViewportSystem { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 35 | /// 配置 [INFO] [stdout] 36 | config: ViewportConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 37 | /// 当前滚动位置(起始行号) [INFO] [stdout] 38 | scroll_offset: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewportSystem` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/system/viewport/viewport.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl ViewportSystem { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn with_config(config: ViewportConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn get_visible_range(&self) -> &Range { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn get_scroll_offset(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn scroll_up(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn scroll_down(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn scroll_to_line(&mut self, line_number: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn update_visible_range(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | fn get_max_scroll_offset(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn get_total_line_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn is_dirty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn mark_dirty(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn handle_state_update(&mut self, snapshot: &EditorStateSnapshot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn ensure_cursor_visible(&mut self, line_number: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn get_visible_line_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn get_buffer_line_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | pub fn update_config(&mut self, config: ViewportConfig) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn get_config(&self) -> &ViewportConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `show_line_numbers`, `tab_width`, and `expand_tabs` are never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ViewModelConfig { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub show_line_numbers: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub tab_width: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | /// 是否将制表符转换为空格 [INFO] [stdout] 22 | pub expand_tabs: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewModelConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub enum SyntaxTokenType { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 54 | Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 55 | Number, [INFO] [stdout] 56 | String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 57 | Comment, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 58 | // 操作符和标点符号 [INFO] [stdout] 59 | Operator, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 60 | Punctuation, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 61 | // 其他 [INFO] [stdout] 62 | Whitespace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 63 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyntaxTokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `range` and `index` are never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct SearchHighlight { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 69 | /// 匹配位置 [INFO] [stdout] 70 | pub range: std::ops::Range, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 71 | /// 匹配索引 [INFO] [stdout] 72 | pub index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchHighlight` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `length` is never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct LineViewModel { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 83 | pub length: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LineViewModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `text`, `total_bytes`, and `total_chars` are never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct ViewModel { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 97 | /// 整体文本内容 [INFO] [stdout] 98 | pub text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub total_bytes: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 105 | /// 总字符长度 [INFO] [stdout] 106 | pub total_chars: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_config`, `get_config`, `update_config`, `search_text`, and `clear_search` are never used [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 176 | impl EditorViewModel { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn with_config(config: ViewModelConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub fn get_config(&self) -> &ViewModelConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn update_config(&mut self, config: ViewModelConfig) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn search_text(&mut self, text: &str, case_sensitive: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn clear_search(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `search` and `clear` are never used [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:350:8 [INFO] [stdout] | [INFO] [stdout] 342 | impl SearchSystem { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 350 | fn search(&mut self, text: &str, case_sensitive: bool) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `height`, `baseline`, `left_bearing`, and `right_bearing` are never read [INFO] [stdout] --> src/system/layout/layout.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GlyphMetrics { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 10 | pub height: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | /// 基线偏移(像素) [INFO] [stdout] 12 | pub baseline: f64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 13 | /// 左偏移(像素) [INFO] [stdout] 14 | pub left_bearing: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | /// 右偏移(像素) [INFO] [stdout] 16 | pub right_bearing: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GlyphMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `font_size`, `font_family`, `wrap_width`, `auto_wrap`, and `dpi` are never read [INFO] [stdout] --> src/system/layout/layout.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct LayoutConfig { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 34 | /// 字体大小(像素) [INFO] [stdout] 35 | pub font_size: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 36 | /// 字体名称(简化实现) [INFO] [stdout] 37 | pub font_family: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub wrap_width: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | /// 是否启用自动换行 [INFO] [stdout] 45 | pub auto_wrap: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 46 | /// DPI 缩放因子 [INFO] [stdout] 47 | pub dpi: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LayoutConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `byte_offset` and `metrics` are never read [INFO] [stdout] --> src/system/layout/layout.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct GlyphPosition { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 70 | pub byte_offset: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub metrics: GlyphMetrics, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GlyphPosition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line_number`, `height`, and `y_offset` are never read [INFO] [stdout] --> src/system/layout/layout.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 81 | pub struct LineLayout { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 82 | /// 行号 [INFO] [stdout] 83 | pub line_number: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 84 | /// 像素高度 [INFO] [stdout] 85 | pub height: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub y_offset: f64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LineLayout` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/system/layout/layout.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 137 | impl LayoutSystem { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn with_config(config: LayoutConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn update_glyph_metrics(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | pub fn find_position_by_char(&self, layout: &LayoutModel, char_index: usize) -> Option<(f64, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn find_position_by_byte(&self, layout: &LayoutModel, byte_offset: usize) -> Option<(f64, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn find_char_at_coordinate(&self, layout: &LayoutModel, x: f64, y: f64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | pub fn get_config(&self) -> &LayoutConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn update_config(&mut self, config: LayoutConfig) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn relayout(&self, view_model: &ViewModel) -> LayoutModel { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderSystem` is never constructed [INFO] [stdout] --> src/system/render/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct RenderSystem; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IoSystem` is never constructed [INFO] [stdout] --> src/system/io/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct IoSystem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SearchSystem` is never constructed [INFO] [stdout] --> src/system/search/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct SearchSystem; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyntaxSystem` is never constructed [INFO] [stdout] --> src/system/syntax/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct SyntaxSystem; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThemeSystem` is never constructed [INFO] [stdout] --> src/system/theme/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct ThemeSystem; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `update_callback` is never read [INFO] [stdout] --> src/ui/slint/ui.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct SlintUi { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 113 | update_callback: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_editor_content` and `update_status_bar` are never used [INFO] [stdout] --> src/ui/slint/ui.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl SlintUi { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn update_editor_content(&self, content: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn update_status_bar(&self, snapshot: &EditorStateSnapshot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/framework/app.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ApplicationConfig { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 15 | /// 是否启用调试日志 [INFO] [stdout] 16 | pub debug: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 17 | /// 默认可见行数 [INFO] [stdout] 18 | pub visible_line_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | /// 额外缓冲行数 [INFO] [stdout] 20 | pub buffer_line_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub line_height: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 27 | /// 制表符宽度 [INFO] [stdout] 28 | pub tab_width: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 29 | /// 是否展开制表符为空格 [INFO] [stdout] 30 | pub expand_tabs: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | /// 是否启用语法高亮 [INFO] [stdout] 32 | pub syntax_highlight: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | /// 窗口宽度 [INFO] [stdout] 34 | pub window_width: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 35 | /// 窗口高度 [INFO] [stdout] 36 | pub window_height: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApplicationConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Loading`, `Saving`, `Editing`, `Modified`, and `Exiting` are never constructed [INFO] [stdout] --> src/framework/app.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub enum ApplicationState { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 65 | Loading, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 66 | /// 正在保存文件 [INFO] [stdout] 67 | Saving, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 68 | /// 正在编辑 [INFO] [stdout] 69 | Editing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 70 | /// 已修改 [INFO] [stdout] 71 | Modified, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 72 | /// 正在退出 [INFO] [stdout] 73 | Exiting, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApplicationState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `input_system` are never read [INFO] [stdout] --> src/framework/app.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct Application { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 84 | /// 配置 [INFO] [stdout] 85 | config: ApplicationConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | input_system: InputSystem, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UpdateContent`, `UpdateView`, `SaveFile`, `Exit`, and `Log` are never constructed [INFO] [stdout] --> src/framework/app.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 107 | pub enum AppMessage { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 108 | /// 更新编辑器内容 [INFO] [stdout] 109 | UpdateContent, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 110 | /// 更新视图 [INFO] [stdout] 111 | UpdateView, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | SaveFile, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 116 | /// 退出应用 [INFO] [stdout] 117 | Exit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 118 | /// 日志消息 [INFO] [stdout] 119 | Log(String), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `execute_action`, `save_file`, `get_state`, `get_current_file_path`, and `get_content` are never used [INFO] [stdout] --> src/framework/app.rs:244:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl Application { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn execute_action(&mut self, action: EditorAction) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn save_file(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub fn get_state(&self) -> ApplicationState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn get_current_file_path(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | pub fn get_content(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top` [INFO] [stdout] --> src/core/editor/selection.rs:62:43 [INFO] [stdout] | [INFO] [stdout] 62 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `top: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/core/editor/selection.rs:62:48 [INFO] [stdout] | [INFO] [stdout] 62 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `left: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bottom` [INFO] [stdout] --> src/core/editor/selection.rs:62:54 [INFO] [stdout] | [INFO] [stdout] 62 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `bottom: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/core/editor/selection.rs:62:62 [INFO] [stdout] | [INFO] [stdout] 62 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `right: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top` [INFO] [stdout] --> src/core/editor/selection.rs:83:43 [INFO] [stdout] | [INFO] [stdout] 83 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `top: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/core/editor/selection.rs:83:48 [INFO] [stdout] | [INFO] [stdout] 83 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `left: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bottom` [INFO] [stdout] --> src/core/editor/selection.rs:83:54 [INFO] [stdout] | [INFO] [stdout] 83 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `bottom: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/core/editor/selection.rs:83:62 [INFO] [stdout] | [INFO] [stdout] 83 | SelectionRange::Rectangular { top, left, bottom, right } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `right: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `modifiers` [INFO] [stdout] --> src/system/input/input.rs:317:54 [INFO] [stdout] | [INFO] [stdout] 317 | fn handle_special_keys(&self, key_code: KeyCode, modifiers: KeyModifiers) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dirty_range` [INFO] [stdout] --> src/system/viewport/viewport.rs:192:21 [INFO] [stdout] | [INFO] [stdout] 192 | if let Some(dirty_range) = &snapshot.dirty_range { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dirty_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `zedit` (bin "zedit") due to 1 previous error; 157 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable `line_number` is assigned to, but never used [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | let mut line_number = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_line_number` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `byte_offset` is assigned to, but never used [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | let mut byte_offset = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_byte_offset` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `line_number` is never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | line_number += 1; [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: value assigned to `byte_offset` is never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | byte_offset += line_info.length; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_snapshot` [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:240:21 [INFO] [stdout] | [INFO] [stdout] 240 | if let Some(last_snapshot) = &self.last_snapshot { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_snapshot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:283:17 [INFO] [stdout] | [INFO] [stdout] 283 | let mut current_pos = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_pos` [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:283:17 [INFO] [stdout] | [INFO] [stdout] 283 | let mut current_pos = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/system/layout/layout.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | for i in 0..glyph_count { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | let main_window = main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | let main_window = main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | let main_window = main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:174:17 [INFO] [stdout] | [INFO] [stdout] 174 | let main_window = main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:183:17 [INFO] [stdout] | [INFO] [stdout] 183 | let main_window = main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_window` [INFO] [stdout] --> src/ui/slint/ui.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | let main_window = self.main_window.clone_strong(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ui` [INFO] [stdout] --> src/ui/slint/ui.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | let ui = SlintUi::new(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ui` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `layout` [INFO] [stdout] --> src/framework/app.rs:221:25 [INFO] [stdout] | [INFO] [stdout] 221 | let layout = layout_system.compute_layout(vm.get_view_model()); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/framework/app.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 300 | let mut app = Application::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `InputState` is more private than the item `system::input::input::InputSystem::get_state` [INFO] [stdout] --> src/system/input/input.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 362 | pub fn get_state(&self) -> &InputState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `system::input::input::InputSystem::get_state` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `InputState` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/system/input/input.rs:206:1 [INFO] [stdout] | [INFO] [stdout] 206 | struct InputState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SMALL_FILE_THRESHOLD` is never used [INFO] [stdout] --> src/core/buffer/mod.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const SMALL_FILE_THRESHOLD: usize = 10 * 1024 * 1024; // 10MB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LARGE_FILE_THRESHOLD` is never used [INFO] [stdout] --> src/core/buffer/mod.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const LARGE_FILE_THRESHOLD: usize = 100 * 1024 * 1024; // 100MB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_CHUNK_SIZE` is never used [INFO] [stdout] --> src/core/buffer/mod.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const DEFAULT_CHUNK_SIZE: usize = 64 * 1024; // 64KB,流式处理块大小 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LARGE_OPERATION_THRESHOLD` is never used [INFO] [stdout] --> src/core/buffer/mod.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const LARGE_OPERATION_THRESHOLD: usize = 10 * 1024 * 1024; // 10MB,大型操作阈值 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Original` is never constructed [INFO] [stdout] --> src/core/buffer/piece_table.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum PieceType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 16 | /// 原始缓冲区(只读) [INFO] [stdout] 17 | Original, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PieceType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_empty` is never used [INFO] [stdout] --> src/core/buffer/piece_table.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Piece { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `len` and `is_empty` are never used [INFO] [stdout] --> src/core/buffer/piece_table.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 78 | impl OriginalBuffer { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `utf8_validator` is never read [INFO] [stdout] --> src/core/buffer/piece_table.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub struct PieceTable { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 137 | utf8_validator: Utf8Validator, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PieceTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_file`, `mode`, `add_buffer_size`, and `piece_count` are never used [INFO] [stdout] --> src/core/buffer/piece_table.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 146 | impl PieceTable { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn from_file(file_path: &std::path::Path) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 500 | pub fn mode(&self) -> BufferMode { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 505 | pub fn add_buffer_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 510 | pub fn piece_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `MemoryMapped` and `Restricted` are never constructed [INFO] [stdout] --> src/core/buffer/mode.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum BufferMode { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 15 | MemoryMapped { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | Restricted { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BufferMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `for_file_size` and `max_merge_size` are never used [INFO] [stdout] --> src/core/buffer/mode.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl BufferMode { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 34 | /// 根据文件大小选择模式(按冻结清单实现) [INFO] [stdout] 35 | pub fn for_file_size(file_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn max_merge_size(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `validate_full_text`, `find_utf8_boundary`, `is_utf8_char_boundary`, and `sanitize_text` are never used [INFO] [stdout] --> src/core/buffer/utf8.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Utf8Validator { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 8 | /// 创建新的 UTF-8 验证器 [INFO] [stdout] 9 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn validate_full_text(&self, text: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn find_utf8_boundary(bytes: &[u8], offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn is_utf8_char_boundary(bytes: &[u8], offset: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn sanitize_text(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear` and `is_empty` are never used [INFO] [stdout] --> src/core/buffer/deletion_info.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl DeletionInfo { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `with_range` are never used [INFO] [stdout] --> src/core/buffer/chunk_iter.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl<'a> ChunkIter<'a> { [INFO] [stdout] | ---------------------- associated functions in this implementation [INFO] [stdout] 35 | /// 创建新的块迭代器,遍历整个文档 [INFO] [stdout] 36 | pub fn new(piece_table: &'a PieceTable) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn with_range(piece_table: &'a PieceTable, range: Range) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Cut`, `Copy`, and `Paste` are never constructed [INFO] [stdout] --> src/core/transaction/transaction.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum TransactionType { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 23 | Cut { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | Copy { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | Paste { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TransactionType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TransactionResult` is never used [INFO] [stdout] --> src/core/transaction/transaction.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum TransactionResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear`, `undo_stack_content`, `redo_stack_content`, `config`, and `update_config` are never used [INFO] [stdout] --> src/core/transaction/undo_stack.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl UndoStack { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn undo_stack_content(&self) -> &VecDeque { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn redo_stack_content(&self) -> &VecDeque { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn config(&self) -> &UndoStackConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn update_config(&mut self, config: UndoStackConfig) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ReplaceText` is never constructed [INFO] [stdout] --> src/core/editor/core.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum EditorAction { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 20 | ReplaceText { range: Range, new_text: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EditorAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `include_syntax` is never read [INFO] [stdout] --> src/core/editor/core.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct ViewportQuery { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub include_syntax: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewportQuery` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `line_number` is never read [INFO] [stdout] --> src/core/editor/core.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct LineInfo { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 54 | /// 行号 [INFO] [stdout] 55 | pub line_number: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LineInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `line_range` is never read [INFO] [stdout] --> src/core/editor/core.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct ViewportDirtyNotification { [INFO] [stdout] | ------------------------- field in this struct [INFO] [stdout] 65 | /// 受影响的行范围 [INFO] [stdout] 66 | pub line_range: Range, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewportDirtyNotification` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `subscribe_dirty_notification` is never used [INFO] [stdout] --> src/core/editor/core.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 70 | pub trait EditorCore: Send { [INFO] [stdout] | ---------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 78 | fn subscribe_dirty_notification(&mut self, subscriber: Box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_file` is never used [INFO] [stdout] --> src/core/editor/core.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl EditorCoreImpl { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn from_file(file_path: &std::path::Path) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `same_line`, `same_column`, `distance_to`, `is_before`, and `is_after` are never used [INFO] [stdout] --> src/core/editor/cursor.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl CursorPosition { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn same_line(&self, other: &CursorPosition) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn same_column(&self, other: &CursorPosition) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn distance_to(&self, other: &CursorPosition) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn is_before(&self, other: &CursorPosition) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn is_after(&self, other: &CursorPosition) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Up`, `Down`, `StartOfDocument`, and `EndOfDocument` are never constructed [INFO] [stdout] --> src/core/editor/cursor.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub enum CursorDirection { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 82 | Up, [INFO] [stdout] | ^^ [INFO] [stdout] 83 | /// 向下 [INFO] [stdout] 84 | Down, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | StartOfDocument, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | /// 到文件结尾 [INFO] [stdout] 92 | EndOfDocument, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CursorDirection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Word` and `Paragraph` are never constructed [INFO] [stdout] --> src/core/editor/cursor.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum CursorDistance { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 101 | Word, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | Paragraph, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CursorDistance` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_position` is never used [INFO] [stdout] --> src/core/editor/cursor.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl Cursor { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn with_position(position: CursorPosition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `byte_range`, `length`, and `contains_offset` are never used [INFO] [stdout] --> src/core/editor/selection.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl SelectionRange { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn byte_range(&self) -> Range { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn length(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn contains_offset(&self, offset: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_range`, `set_mode`, `extend`, and `contract` are never used [INFO] [stdout] --> src/core/editor/selection.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Selection { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn with_range(range: SelectionRange) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn set_mode(&mut self, mode: SelectionMode) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn extend(&mut self, new_active: CursorPosition) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn contract(&mut self, new_active: CursorPosition) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_modified` is never used [INFO] [stdout] --> src/core/editor/state.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl EditorState { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn reset_modified(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `new_text` is never read [INFO] [stdout] --> src/core/action/action.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 16 | ReplaceText { [INFO] [stdout] | ----------- field in this variant [INFO] [stdout] 17 | range: Range, [INFO] [stdout] 18 | new_text: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EditorAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SetSelection`, `Undo`, `Redo`, `Copy`, `Cut`, and `Paste` are never constructed [INFO] [stdout] --> src/core/action/action.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum EditorAction { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 25 | SetSelection { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Undo, [INFO] [stdout] | ^^^^ [INFO] [stdout] 31 | /// 重做操作 [INFO] [stdout] 32 | Redo, [INFO] [stdout] | ^^^^ [INFO] [stdout] 33 | /// 复制文本 [INFO] [stdout] 34 | Copy, [INFO] [stdout] | ^^^^ [INFO] [stdout] 35 | /// 剪切文本 [INFO] [stdout] 36 | Cut, [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | /// 粘贴文本 [INFO] [stdout] 38 | Paste(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EditorAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `set_selection` is never used [INFO] [stdout] --> src/core/action/action.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl EditorAction { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn set_selection(anchor: usize, active: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Left`, `Right`, and `Middle` are never constructed [INFO] [stdout] --> src/system/input/input.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 153 | pub enum MouseButton { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 154 | Left, [INFO] [stdout] | ^^^^ [INFO] [stdout] 155 | Right, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 156 | Middle, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MouseButton` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Press`, `Release`, `Move`, and `Scroll` are never constructed [INFO] [stdout] --> src/system/input/input.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 161 | pub enum MouseEventType { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 162 | Press, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 163 | Release, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 164 | Move, [INFO] [stdout] | ^^^^ [INFO] [stdout] 165 | Scroll, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MouseEventType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, `modifiers`, and `scroll_delta` are never read [INFO] [stdout] --> src/system/input/input.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct MouseEvent { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 173 | pub x: i32, [INFO] [stdout] | ^ [INFO] [stdout] 174 | pub y: i32, [INFO] [stdout] | ^ [INFO] [stdout] 175 | pub modifiers: KeyModifiers, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 176 | pub scroll_delta: (f64, f64), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MouseEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cursor_position` is never read [INFO] [stdout] --> src/system/input/input.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 181 | pub struct ImeEvent { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 182 | pub composition_text: String, [INFO] [stdout] 183 | pub cursor_position: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImeEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Mouse` and `Ime` are never constructed [INFO] [stdout] --> src/system/input/input.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 189 | pub enum InputEvent { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 190 | Key(KeyEvent), [INFO] [stdout] 191 | Mouse(MouseEvent), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 192 | Ime(ImeEvent), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InputEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `handle_mouse_event`, `remove_key_binding`, and `get_state` are never used [INFO] [stdout] --> src/system/input/input.rs:258:12 [INFO] [stdout] | [INFO] [stdout] 213 | impl InputSystem { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn handle_mouse_event(&mut self, event_type: MouseEventType, button: Option, x: i32, y: i32, modifiers: keyboa... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn remove_key_binding(&mut self, key_code: KeyCode, modifiers: KeyModifiers) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn get_state(&self) -> &InputState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `incremental_updates` is never read [INFO] [stdout] --> src/system/viewport/viewport.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ViewportConfig { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub incremental_updates: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewportConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_config`, `is_dirty`, `handle_state_update`, `get_visible_line_count`, `get_buffer_line_count`, and `get_config` are never used [INFO] [stdout] --> src/system/viewport/viewport.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl ViewportSystem { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn with_config(config: ViewportConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn is_dirty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn handle_state_update(&mut self, snapshot: &EditorStateSnapshot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn get_visible_line_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn get_buffer_line_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn get_config(&self) -> &ViewportConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `show_line_numbers`, `tab_width`, and `expand_tabs` are never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ViewModelConfig { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub show_line_numbers: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub tab_width: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | /// 是否将制表符转换为空格 [INFO] [stdout] 22 | pub expand_tabs: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewModelConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub enum SyntaxTokenType { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 54 | Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 55 | Number, [INFO] [stdout] 56 | String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 57 | Comment, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 58 | // 操作符和标点符号 [INFO] [stdout] 59 | Operator, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 60 | Punctuation, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 61 | // 其他 [INFO] [stdout] 62 | Whitespace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 63 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyntaxTokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `range` and `index` are never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct SearchHighlight { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 69 | /// 匹配位置 [INFO] [stdout] 70 | pub range: std::ops::Range, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 71 | /// 匹配索引 [INFO] [stdout] 72 | pub index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchHighlight` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `length` is never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct LineViewModel { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 83 | pub length: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LineViewModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `total_bytes` and `total_chars` are never read [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct ViewModel { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 104 | pub total_bytes: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 105 | /// 总字符长度 [INFO] [stdout] 106 | pub total_chars: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ViewModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_config`, `get_config`, `update_config`, and `clear_search` are never used [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 176 | impl EditorViewModel { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn with_config(config: ViewModelConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub fn get_config(&self) -> &ViewModelConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn update_config(&mut self, config: ViewModelConfig) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn clear_search(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/system/viewmodel/viewmodel.rs:355:8 [INFO] [stdout] | [INFO] [stdout] 342 | impl SearchSystem { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 355 | fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `height`, `baseline`, `left_bearing`, and `right_bearing` are never read [INFO] [stdout] --> src/system/layout/layout.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GlyphMetrics { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 10 | pub height: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | /// 基线偏移(像素) [INFO] [stdout] 12 | pub baseline: f64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 13 | /// 左偏移(像素) [INFO] [stdout] 14 | pub left_bearing: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | /// 右偏移(像素) [INFO] [stdout] 16 | pub right_bearing: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GlyphMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `wrap_width`, `auto_wrap`, and `dpi` are never read [INFO] [stdout] --> src/system/layout/layout.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct LayoutConfig { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 43 | pub wrap_width: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | /// 是否启用自动换行 [INFO] [stdout] 45 | pub auto_wrap: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 46 | /// DPI 缩放因子 [INFO] [stdout] 47 | pub dpi: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LayoutConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `byte_offset` and `metrics` are never read [INFO] [stdout] --> src/system/layout/layout.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct GlyphPosition { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 70 | pub byte_offset: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub metrics: GlyphMetrics, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GlyphPosition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line_number`, `height`, and `y_offset` are never read [INFO] [stdout] --> src/system/layout/layout.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 81 | pub struct LineLayout { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 82 | /// 行号 [INFO] [stdout] 83 | pub line_number: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 84 | /// 像素高度 [INFO] [stdout] 85 | pub height: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub y_offset: f64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LineLayout` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_config`, `find_position_by_byte`, `find_char_at_coordinate`, and `relayout` are never used [INFO] [stdout] --> src/system/layout/layout.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 137 | impl LayoutSystem { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn with_config(config: LayoutConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn find_position_by_byte(&self, layout: &LayoutModel, byte_offset: usize) -> Option<(f64, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn find_char_at_coordinate(&self, layout: &LayoutModel, x: f64, y: f64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn relayout(&self, view_model: &ViewModel) -> LayoutModel { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderSystem` is never constructed [INFO] [stdout] --> src/system/render/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct RenderSystem; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IoSystem` is never constructed [INFO] [stdout] --> src/system/io/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct IoSystem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SearchSystem` is never constructed [INFO] [stdout] --> src/system/search/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct SearchSystem; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyntaxSystem` is never constructed [INFO] [stdout] --> src/system/syntax/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct SyntaxSystem; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThemeSystem` is never constructed [INFO] [stdout] --> src/system/theme/mod.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct ThemeSystem; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `update_callback` is never read [INFO] [stdout] --> src/ui/slint/ui.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct SlintUi { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 113 | update_callback: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_editor_content` is never used [INFO] [stdout] --> src/ui/slint/ui.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl SlintUi { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn update_editor_content(&self, content: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/framework/app.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ApplicationConfig { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 15 | /// 是否启用调试日志 [INFO] [stdout] 16 | pub debug: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 17 | /// 默认可见行数 [INFO] [stdout] 18 | pub visible_line_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | /// 额外缓冲行数 [INFO] [stdout] 20 | pub buffer_line_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub line_height: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 27 | /// 制表符宽度 [INFO] [stdout] 28 | pub tab_width: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 29 | /// 是否展开制表符为空格 [INFO] [stdout] 30 | pub expand_tabs: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | /// 是否启用语法高亮 [INFO] [stdout] 32 | pub syntax_highlight: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | /// 窗口宽度 [INFO] [stdout] 34 | pub window_width: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 35 | /// 窗口高度 [INFO] [stdout] 36 | pub window_height: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApplicationConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Loading`, `Saving`, `Editing`, `Modified`, and `Exiting` are never constructed [INFO] [stdout] --> src/framework/app.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub enum ApplicationState { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 65 | Loading, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 66 | /// 正在保存文件 [INFO] [stdout] 67 | Saving, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 68 | /// 正在编辑 [INFO] [stdout] 69 | Editing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 70 | /// 已修改 [INFO] [stdout] 71 | Modified, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 72 | /// 正在退出 [INFO] [stdout] 73 | Exiting, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApplicationState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `input_system` are never read [INFO] [stdout] --> src/framework/app.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct Application { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 84 | /// 配置 [INFO] [stdout] 85 | config: ApplicationConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | input_system: InputSystem, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UpdateContent`, `SaveFile`, and `Exit` are never constructed [INFO] [stdout] --> src/framework/app.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 107 | pub enum AppMessage { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 108 | /// 更新编辑器内容 [INFO] [stdout] 109 | UpdateContent, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | SaveFile, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 116 | /// 退出应用 [INFO] [stdout] 117 | Exit, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `save_file` and `get_current_file_path` are never used [INFO] [stdout] --> src/framework/app.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl Application { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn save_file(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn get_current_file_path(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `zedit` (bin "zedit" test) due to 1 previous error; 135 warnings emitted [INFO] running `Command { std: "docker" "inspect" "4dada79141370ef5aaf7c8c4ae38118aa10005c7bec59fd2a043c9fee848cc61", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4dada79141370ef5aaf7c8c4ae38118aa10005c7bec59fd2a043c9fee848cc61", kill_on_drop: false }` [INFO] [stdout] 4dada79141370ef5aaf7c8c4ae38118aa10005c7bec59fd2a043c9fee848cc61