[INFO] cloning repository https://github.com/hslcrb/Flwing
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hslcrb/Flwing" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhslcrb%2FFlwing", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhslcrb%2FFlwing'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 06ee8d35f463274c442393751a07f7d89b04874b
[INFO] checking hslcrb/Flwing against try#24e1a22664233bce1f9b5dc6eee7c1f74327e28c for pr-159343
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhslcrb%2FFlwing" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hslcrb/Flwing
[INFO] finished tweaking git repo https://github.com/hslcrb/Flwing
[INFO] tweaked toml for git repo https://github.com/hslcrb/Flwing written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hslcrb/Flwing on toolchain 24e1a22664233bce1f9b5dc6eee7c1f74327e28c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hslcrb/Flwing 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" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4014b19c9bc91a52da472c6f191274fb0e2e276e02481de0139ecf3768a038d7
[INFO] running `Command { std: "docker" "start" "4014b19c9bc91a52da472c6f191274fb0e2e276e02481de0139ecf3768a038d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4014b19c9bc91a52da472c6f191274fb0e2e276e02481de0139ecf3768a038d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4014b19c9bc91a52da472c6f191274fb0e2e276e02481de0139ecf3768a038d7" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4014b19c9bc91a52da472c6f191274fb0e2e276e02481de0139ecf3768a038d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4014b19c9bc91a52da472c6f191274fb0e2e276e02481de0139ecf3768a038d7" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]    Compiling cc v1.2.64
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]    Compiling wayland-client v0.31.14
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling quick-xml v0.39.4
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking accesskit v0.17.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking no_std_io2 v0.9.4
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking bitstream-io v4.10.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling wayland-scanner v0.31.10
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking immutable-chunkmap v2.1.2
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking epaint_default_fonts v0.31.1
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]     Checking accesskit_consumer v0.26.0
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking euclid v0.22.14
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.20.0
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking lyon_geom v1.0.19
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking uuid v1.23.3
[INFO] [stderr]    Compiling mime_guess2 v2.3.1
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking roots v0.0.6
[INFO] [stderr]     Checking lyon_path v1.0.19
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking gif v0.11.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling rfd v0.15.4
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking flo_curves v0.3.1
[INFO] [stderr]     Checking float_next_after v1.0.0
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking lyon_tessellation v1.0.20
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking lyon_algorithms v1.0.20
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking yazi v0.2.1
[INFO] [stderr]     Checking jiff v0.2.28
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking async-signal v0.2.14
[INFO] [stderr]     Checking async-net v2.0.0
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]     Checking zeno v0.3.3
[INFO] [stderr]     Checking sys-locale v0.3.2
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking lyon v1.0.19
[INFO] [stderr]     Checking visioncortex v0.8.10
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.52
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling profiling-procmacros v1.0.18
[INFO] [stderr]     Checking wayland-protocols v0.32.12
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking wayland-cursor v0.31.14
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking emath v0.31.1
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking calloop v0.14.4
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking font-types v0.11.3
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking ecolor v0.31.1
[INFO] [stderr]     Checking zerocopy v0.8.52
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking read-fonts v0.39.2
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking av-scenechange v0.14.1
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking quick-xml v0.30.0
[INFO] [stderr]     Checking zvariant_utils v3.4.0
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]    Compiling zvariant_derive v5.12.0
[INFO] [stderr]     Checking vtracer v0.6.5
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling zvariant v5.12.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking zbus_xml v4.0.0
[INFO] [stderr]     Checking webbrowser v1.2.1
[INFO] [stderr]     Checking zbus-lockstep v0.4.4
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.12
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.12
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.12
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking zbus_names v4.3.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking epaint v0.31.1
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking skrifa v0.42.1
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]    Compiling zbus_macros v5.16.0
[INFO] [stderr]     Checking egui v0.31.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking noise v0.9.0
[INFO] [stderr]     Checking zbus v5.16.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking swash v0.2.9
[INFO] [stderr]     Checking egui_glow v0.31.1
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking egui_extras v0.31.1
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking ashpd v0.11.1
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.10.1
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.13.1
[INFO] [stderr]     Checking accesskit_winit v0.23.1
[INFO] [stderr]     Checking egui-winit v0.31.1
[INFO] [stderr]     Checking eframe v0.31.1
[INFO] [stderr]     Checking flwing v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/text/font_manager.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{info, warn};
[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: `PathSegment`
[INFO] [stdout]  --> src/text/outline.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::core::path::{BezierPath, PathSegment};
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathSegment`
[INFO] [stdout]  --> src/trace/image_trace.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::core::path::{BezierPath, PathSegment};
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lyon::math::point`
[INFO] [stdout]  --> src/renderer/canvas.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lyon::math::point;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::shape::ShapeKind`
[INFO] [stdout]   --> src/renderer/canvas.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::shape::ShapeKind;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui::Ui`
[INFO] [stdout]  --> src/ui/menu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::Ui;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui::Ui`
[INFO] [stdout]  --> src/ui/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use egui::Ui;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageData`
[INFO] [stdout]  --> src/app.rs:6:57
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::document::{Document, Object, TextData, ImageData};
[INFO] [stdout]   |                                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::t`
[INFO] [stdout]   --> src/app.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::t;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/text/font_manager.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{info, warn};
[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: `PathSegment`
[INFO] [stdout]  --> src/text/outline.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::core::path::{BezierPath, PathSegment};
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathSegment`
[INFO] [stdout]  --> src/trace/image_trace.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::core::path::{BezierPath, PathSegment};
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lyon::math::point`
[INFO] [stdout]  --> src/renderer/canvas.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lyon::math::point;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::shape::ShapeKind`
[INFO] [stdout]   --> src/renderer/canvas.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::shape::ShapeKind;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui::Ui`
[INFO] [stdout]  --> src/ui/menu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::Ui;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `egui::Ui`
[INFO] [stdout]  --> src/ui/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use egui::Ui;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageData`
[INFO] [stdout]  --> src/app.rs:6:57
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::document::{Document, Object, TextData, ImageData};
[INFO] [stdout]   |                                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::t`
[INFO] [stdout]   --> src/app.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::t;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/renderer/canvas.rs:63:51
[INFO] [stdout]    |
[INFO] [stdout] 63 |     painter.rect_stroke(ab_rect, 0.0, Stroke::new(1.0, Color32::GRAY), egui::StrokeKind::Outside);
[INFO] [stdout]    |                                                   ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/renderer/canvas.rs:63:51
[INFO] [stdout]    |
[INFO] [stdout] 63 |     painter.rect_stroke(ab_rect, 0.0, Stroke::new(1.0, Color32::GRAY), egui::StrokeKind::Outside);
[INFO] [stdout]    |                                                   ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::GenericImageView`
[INFO] [stdout]    --> src/trace/image_trace.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | use image::GenericImageView;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::GenericImageView`
[INFO] [stdout]    --> src/trace/image_trace.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | use image::GenericImageView;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/trace/image_trace.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut traced_paths = Vec::new();
[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: `raw_data`
[INFO] [stdout]   --> src/trace/image_trace.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let raw_data = rgba.into_raw();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `svg_str`
[INFO] [stdout]   --> src/trace/image_trace.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let svg_str = vtracer::convert_image_to_svg(
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_svg_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/trace/image_trace.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut traced_paths = Vec::new();
[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: `raw_data`
[INFO] [stdout]   --> src/trace/image_trace.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let raw_data = rgba.into_raw();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `svg_str`
[INFO] [stdout]   --> src/trace/image_trace.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let svg_str = vtracer::convert_image_to_svg(
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_svg_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `distance_to` and `lerp` are never used
[INFO] [stdout]   --> src/core/types.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Point2D {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn distance_to(&self, other: &Point2D) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn lerp(&self, other: &Point2D, t: f64) -> Point2D {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `transparent` and `from_hex` are never used
[INFO] [stdout]   --> src/core/types.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Color {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn transparent() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn from_hex(hex: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `translate`, `scale`, `rotate`, and `concat` are never used
[INFO] [stdout]    --> src/core/types.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Transform2D {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn translate(tx: f64, ty: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn scale(sx: f64, sy: f64) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn rotate(angle_rad: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn concat(&self, other: &Transform2D) -> Transform2D {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `width`, `height`, `center`, `contains`, and `union` are never used
[INFO] [stdout]    --> src/core/types.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl BoundingBox {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn width(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn height(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn center(&self) -> Point2D {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn contains(&self, p: Point2D) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn union(&self, other: &BoundingBox) -> BoundingBox {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `quad_to` is never used
[INFO] [stdout]   --> src/core/path.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl BezierPath {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn quad_to(&mut self, ctrl: Point2D, to: Point2D) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/core/gradient.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl RadialGradient {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 66 |     pub fn new(center: Point2D, radius: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_image` is never used
[INFO] [stdout]    --> src/core/document.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl Object {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn new_image(name: &str, image_data: ImageData) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_object` is never used
[INFO] [stdout]    --> src/core/document.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl Layer {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn remove_object(&mut self, id: Uuid) -> Option<Object> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_layer` is never used
[INFO] [stdout]    --> src/core/document.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl ArtBoard {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn add_layer(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `embed_font` is never used
[INFO] [stdout]    --> src/core/document.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl Document {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn embed_font(&mut self, family: &str, style: &str, data: Vec<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `family_name`, `style`, `file_path`, and `data` are never read
[INFO] [stdout]   --> src/text/font_manager.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct FontInfo {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  9 |     pub family_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 10 |     pub style: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 11 |     pub file_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 12 |     /// 폰트 바이너리 데이터 (임베딩용)
[INFO] [stdout] 13 |     pub data: Vec<u8>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FontInfo` 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 `font_families`, `font_styles`, `get_font_data`, and `get_face` are never used
[INFO] [stdout]    --> src/text/font_manager.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl FontManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn font_families(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn font_styles(&self, family: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn get_font_data(&self, family: &str, style: &str) -> Option<&Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn get_face<'a>(&'a self, family: &str, style: &str) -> Option<ttf_parser::Face<'a>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapedGlyph` is never constructed
[INFO] [stdout]  --> src/text/shaping.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ShapedGlyph {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scale_x`, `scale_y`, and `line_height` are never read
[INFO] [stdout]   --> src/text/shaping.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ShapingParams {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub scale_x: f64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 25 |     /// 종횡비 Y
[INFO] [stdout] 26 |     pub scale_y: f64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 27 |     /// 줄 간격 배율
[INFO] [stdout] 28 |     pub line_height: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShapingParams` 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: function `shape_text` is never used
[INFO] [stdout]   --> src/text/shaping.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn shape_text(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `measure_text_width` is never used
[INFO] [stdout]    --> src/text/shaping.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn measure_text_width(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlyphOutlineBuilder` is never constructed
[INFO] [stdout]  --> src/text/outline.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct GlyphOutlineBuilder {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `build`, and `transform` are never used
[INFO] [stdout]   --> src/text/outline.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl GlyphOutlineBuilder {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(scale: f64, offset_x: f64, offset_y: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn build(self) -> BezierPath {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn transform(&self, x: f32, y: f32) -> Point2D {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glyph_to_path` is never used
[INFO] [stdout]   --> src/text/outline.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn glyph_to_path(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `text_to_outlines` is never used
[INFO] [stdout]   --> src/text/outline.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn text_to_outlines(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceConfig` is never constructed
[INFO] [stdout]  --> src/trace/image_trace.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TraceConfig {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TraceMode` is never used
[INFO] [stdout]   --> src/trace/image_trace.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum TraceMode {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceResult` is never constructed
[INFO] [stdout]   --> src/trace/image_trace.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct TraceResult {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TracedPath` is never constructed
[INFO] [stdout]   --> src/trace/image_trace.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct TracedPath {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trace_image` is never used
[INFO] [stdout]   --> src/trace/image_trace.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn trace_image(image_path: &str, config: &TraceConfig) -> Result<TraceResult, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trace_image_data` is never used
[INFO] [stdout]   --> src/trace/image_trace.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn trace_image_data(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `svg_path_data_to_bezier` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn svg_path_data_to_bezier(svg_d: &str) -> BezierPath {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_coord_pair` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn parse_coord_pair(chars: &mut std::iter::Peekable<std::str::Chars>) -> Option<(f64, f64)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_number` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn parse_number(chars: &mut std::iter::Peekable<std::str::Chars>) -> Option<f64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_whitespace` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn skip_whitespace(chars: &mut std::iter::Peekable<std::str::Chars>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_separator` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:233:4
[INFO] [stdout]     |
[INFO] [stdout] 233 | fn skip_separator(chars: &mut std::iter::Peekable<std::str::Chars>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_svg_color` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:237:4
[INFO] [stdout]     |
[INFO] [stdout] 237 | fn parse_svg_color(color_str: &str) -> Color {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `zero`, `distance_to`, and `lerp` are never used
[INFO] [stdout]   --> src/core/types.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Point2D {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn zero() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn distance_to(&self, other: &Point2D) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn lerp(&self, other: &Point2D, t: f64) -> Point2D {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `transparent`, and `from_hex` are never used
[INFO] [stdout]   --> src/core/types.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Color {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 62 |     pub fn new(r: f32, g: f32, b: f32, a: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn transparent() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn from_hex(hex: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `translate`, `scale`, `rotate`, and `concat` are never used
[INFO] [stdout]    --> src/core/types.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Transform2D {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn translate(tx: f64, ty: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn scale(sx: f64, sy: f64) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn rotate(angle_rad: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn concat(&self, other: &Transform2D) -> Transform2D {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoundingBox` is never constructed
[INFO] [stdout]    --> src/core/types.rs:233:12
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub struct BoundingBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `width`, `height`, `center`, `contains`, and `union` are never used
[INFO] [stdout]    --> src/core/types.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl BoundingBox {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 239 |     pub fn new(min: Point2D, max: Point2D) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn width(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn height(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn center(&self) -> Point2D {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn contains(&self, p: Point2D) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn union(&self, other: &BoundingBox) -> BoundingBox {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `quad_to` and `bounding_box` are never used
[INFO] [stdout]   --> src/core/path.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl BezierPath {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn quad_to(&mut self, ctrl: Point2D, to: Point2D) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn bounding_box(&self) -> Option<BoundingBox> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/core/gradient.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl LinearGradient {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 21 |     pub fn new(start: Point2D, end: Point2D) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/core/gradient.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl RadialGradient {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 66 |     pub fn new(center: Point2D, radius: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_color` are never used
[INFO] [stdout]    --> src/core/gradient.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl MeshGradient {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 120 |     /// 새 메쉬 그라디언트 생성 (rows×cols 격자)
[INFO] [stdout] 121 |     pub fn new(x: f64, y: f64, width: f64, height: f64, rows: u32, cols: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn set_color(&mut self, row: usize, col: usize, color: Color) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_image` is never used
[INFO] [stdout]    --> src/core/document.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl Object {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn new_image(name: &str, image_data: ImageData) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_object` is never used
[INFO] [stdout]    --> src/core/document.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl Layer {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn remove_object(&mut self, id: Uuid) -> Option<Object> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_layer` is never used
[INFO] [stdout]    --> src/core/document.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl ArtBoard {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn add_layer(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `embed_font` is never used
[INFO] [stdout]    --> src/core/document.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl Document {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn embed_font(&mut self, family: &str, style: &str, data: Vec<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `family_name`, `style`, `file_path`, and `data` are never read
[INFO] [stdout]   --> src/text/font_manager.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct FontInfo {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  9 |     pub family_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 10 |     pub style: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 11 |     pub file_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 12 |     /// 폰트 바이너리 데이터 (임베딩용)
[INFO] [stdout] 13 |     pub data: Vec<u8>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FontInfo` 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 `font_families`, `font_styles`, `get_font_data`, and `get_face` are never used
[INFO] [stdout]    --> src/text/font_manager.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl FontManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn font_families(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn font_styles(&self, family: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn get_font_data(&self, family: &str, style: &str) -> Option<&Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn get_face<'a>(&'a self, family: &str, style: &str) -> Option<ttf_parser::Face<'a>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapedGlyph` is never constructed
[INFO] [stdout]  --> src/text/shaping.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ShapedGlyph {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scale_x`, `scale_y`, and `line_height` are never read
[INFO] [stdout]   --> src/text/shaping.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ShapingParams {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub scale_x: f64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 25 |     /// 종횡비 Y
[INFO] [stdout] 26 |     pub scale_y: f64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 27 |     /// 줄 간격 배율
[INFO] [stdout] 28 |     pub line_height: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShapingParams` 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: function `shape_text` is never used
[INFO] [stdout]   --> src/text/shaping.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn shape_text(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `measure_text_width` is never used
[INFO] [stdout]    --> src/text/shaping.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn measure_text_width(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlyphOutlineBuilder` is never constructed
[INFO] [stdout]  --> src/text/outline.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct GlyphOutlineBuilder {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `build`, and `transform` are never used
[INFO] [stdout]   --> src/text/outline.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl GlyphOutlineBuilder {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(scale: f64, offset_x: f64, offset_y: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn build(self) -> BezierPath {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn transform(&self, x: f32, y: f32) -> Point2D {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glyph_to_path` is never used
[INFO] [stdout]   --> src/text/outline.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn glyph_to_path(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `text_to_outlines` is never used
[INFO] [stdout]   --> src/text/outline.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn text_to_outlines(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceConfig` is never constructed
[INFO] [stdout]  --> src/trace/image_trace.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TraceConfig {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TraceMode` is never used
[INFO] [stdout]   --> src/trace/image_trace.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum TraceMode {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceResult` is never constructed
[INFO] [stdout]   --> src/trace/image_trace.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct TraceResult {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TracedPath` is never constructed
[INFO] [stdout]   --> src/trace/image_trace.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct TracedPath {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trace_image` is never used
[INFO] [stdout]   --> src/trace/image_trace.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn trace_image(image_path: &str, config: &TraceConfig) -> Result<TraceResult, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trace_image_data` is never used
[INFO] [stdout]   --> src/trace/image_trace.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn trace_image_data(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `svg_path_data_to_bezier` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn svg_path_data_to_bezier(svg_d: &str) -> BezierPath {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_coord_pair` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn parse_coord_pair(chars: &mut std::iter::Peekable<std::str::Chars>) -> Option<(f64, f64)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_number` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn parse_number(chars: &mut std::iter::Peekable<std::str::Chars>) -> Option<f64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_whitespace` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn skip_whitespace(chars: &mut std::iter::Peekable<std::str::Chars>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_separator` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:233:4
[INFO] [stdout]     |
[INFO] [stdout] 233 | fn skip_separator(chars: &mut std::iter::Peekable<std::str::Chars>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_svg_color` is never used
[INFO] [stdout]    --> src/trace/image_trace.rs:237:4
[INFO] [stdout]     |
[INFO] [stdout] 237 | fn parse_svg_color(color_str: &str) -> Color {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 02s
[INFO] running `Command { std: "docker" "inspect" "4014b19c9bc91a52da472c6f191274fb0e2e276e02481de0139ecf3768a038d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4014b19c9bc91a52da472c6f191274fb0e2e276e02481de0139ecf3768a038d7", kill_on_drop: false }`
[INFO] [stdout] 4014b19c9bc91a52da472c6f191274fb0e2e276e02481de0139ecf3768a038d7
