[INFO] cloning repository https://github.com/LUDIARS/Iter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LUDIARS/Iter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLUDIARS%2FIter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLUDIARS%2FIter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4c0e53f4269596f91b45f1a26efb2e3dbc8ca07e
[INFO] testing LUDIARS/Iter against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLUDIARS%2FIter" "/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/LUDIARS/Iter
[INFO] finished tweaking git repo https://github.com/LUDIARS/Iter
[INFO] tweaked toml for git repo https://github.com/LUDIARS/Iter written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/LUDIARS/Iter on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/LUDIARS/Iter 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" "+beta-2026-03-05" "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" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b546108b639cdacf9f87655a63530c1c551b5fb158b02dbcb711b5c094cb2a6e
[INFO] running `Command { std: "docker" "start" "-a" "b546108b639cdacf9f87655a63530c1c551b5fb158b02dbcb711b5c094cb2a6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b546108b639cdacf9f87655a63530c1c551b5fb158b02dbcb711b5c094cb2a6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b546108b639cdacf9f87655a63530c1c551b5fb158b02dbcb711b5c094cb2a6e", kill_on_drop: false }`
[INFO] [stdout] b546108b639cdacf9f87655a63530c1c551b5fb158b02dbcb711b5c094cb2a6e
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] feb586cdb8df7489892c237f66139a371f950fcc396b038ab101ff9bb8e46da3
[INFO] running `Command { std: "docker" "start" "-a" "feb586cdb8df7489892c237f66139a371f950fcc396b038ab101ff9bb8e46da3", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling target-lexicon v0.13.3
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling version-compare v0.2.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling cfg-expr v0.20.6
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling jiff v0.2.21
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling system-deps v7.0.7
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling glib-sys v0.20.10
[INFO] [stderr]    Compiling gobject-sys v0.20.10
[INFO] [stderr]    Compiling gio-sys v0.20.10
[INFO] [stderr]    Compiling cairo-sys-rs v0.20.10
[INFO] [stderr]    Compiling plist v1.8.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling glib-macros v0.20.12
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling onig v6.5.1
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling env_filter v1.0.0
[INFO] [stderr]    Compiling env_logger v0.11.9
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling glib v0.20.12
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling cairo-rs v0.20.12
[INFO] [stderr]    Compiling relay-editor v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let mut error = unsafe { clang_CompilationDatabase_fromDirectory(db_path.as_ptr(), ptr::null_mut()) };
[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: struct `AssemblyLine` is never constructed
[INFO] [stdout]  --> src/analysis/assembly_analyzer.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct AssemblyLine {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AssemblyAnalyzer` is never constructed
[INFO] [stdout]   --> src/analysis/assembly_analyzer.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct AssemblyAnalyzer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `analyze_object`, `get_assembly_for_line`, and `parse_objdump_output` are never used
[INFO] [stdout]   --> src/analysis/assembly_analyzer.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl AssemblyAnalyzer {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn analyze_object(&mut self, obj_path: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn get_assembly_for_line(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn parse_objdump_output(&mut self, output: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `origin_file` is never read
[INFO] [stdout]   --> src/analysis/ast_analyzer.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct VisitorContext {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] 36 |     refs: Vec<SymbolRef>,
[INFO] [stdout] 37 |     origin_file: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/cache/cache_manager.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl CacheManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  34 |     pub fn has_ast_cache(&self, file_path: &str, mtime: u64, flags_hash: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub fn store_ast_cache(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn load_ast_cache(&self, file_path: &str) -> Option<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn has_asm_cache(&self, obj_path: &str, mtime: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn store_asm_cache(&self, obj_path: &str, mtime: u64, data: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn load_asm_cache(&self, obj_path: &str) -> Option<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn store_layout(&self, graph_hash: &str, layout_json: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn load_layout(&self, graph_hash: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANIM_EASE_OUT` is never used
[INFO] [stdout]   --> src/core/config.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const ANIM_EASE_OUT: f64 = 0.25;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_code` is never read
[INFO] [stdout]   --> src/core/types.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ErrorInfo {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub error_code: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ErrorInfo` 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 `expanded` is never read
[INFO] [stdout]   --> src/core/types.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct GraphNode {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub expanded: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GraphNode` 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 `with_alpha` is never used
[INFO] [stdout]    --> src/core/types.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl Color {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn with_alpha(self, alpha: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shift` and `alt` are never read
[INFO] [stdout]    --> src/core/types.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct KeyEvent {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub shift: bool,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 206 |     pub alt: bool,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `KeyEvent` 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_active` and `is_complete` are never used
[INFO] [stdout]   --> src/graph/animation.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Animation {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn is_complete(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_clip` and `pop_clip` are never used
[INFO] [stdout]   --> src/platform/renderer.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Renderer {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn push_clip(&self, x: f64, y: f64, w: f64, h: f64);
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 45 |     fn pop_clip(&self);
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `bezier_point` is never used
[INFO] [stdout]   --> src/platform/renderer_cairo.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl RendererCairo {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn bezier_point(p0: Vec2, p1: Vec2, p2: Vec2, p3: Vec2, t: f64) -> Vec2 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_FunctionDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 378 |         CXCursor_FunctionDecl
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_DECL`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CXXMethod` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:379:11
[INFO] [stdout]     |
[INFO] [stdout] 379 |         | CXCursor_CXXMethod
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXMETHOD`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_Constructor` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:380:11
[INFO] [stdout]     |
[INFO] [stdout] 380 |         | CXCursor_Constructor
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CONSTRUCTOR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_Destructor` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:381:11
[INFO] [stdout]     |
[INFO] [stdout] 381 |         | CXCursor_Destructor
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DESTRUCTOR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_FunctionTemplate` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:382:11
[INFO] [stdout]     |
[INFO] [stdout] 382 |         | CXCursor_FunctionTemplate => NodeType::Function,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_TEMPLATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_ClassDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:384:9
[INFO] [stdout]     |
[INFO] [stdout] 384 |         CXCursor_ClassDecl
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CLASS_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_StructDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:385:11
[INFO] [stdout]     |
[INFO] [stdout] 385 |         | CXCursor_StructDecl
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_STRUCT_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_EnumDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:386:11
[INFO] [stdout]     |
[INFO] [stdout] 386 |         | CXCursor_EnumDecl
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_ENUM_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TypedefDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:387:11
[INFO] [stdout]     |
[INFO] [stdout] 387 |         | CXCursor_TypedefDecl
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPEDEF_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TypeAliasDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:388:11
[INFO] [stdout]     |
[INFO] [stdout] 388 |         | CXCursor_TypeAliasDecl
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPE_ALIAS_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_ClassTemplate` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:389:11
[INFO] [stdout]     |
[INFO] [stdout] 389 |         | CXCursor_ClassTemplate => NodeType::Type,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CLASS_TEMPLATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_VarDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |         CXCursor_VarDecl | CXCursor_FieldDecl | CXCursor_ParmDecl => NodeType::Variable,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_VAR_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_FieldDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:391:28
[INFO] [stdout]     |
[INFO] [stdout] 391 |         CXCursor_VarDecl | CXCursor_FieldDecl | CXCursor_ParmDecl => NodeType::Variable,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FIELD_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_ParmDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:391:49
[INFO] [stdout]     |
[INFO] [stdout] 391 |         CXCursor_VarDecl | CXCursor_FieldDecl | CXCursor_ParmDecl => NodeType::Variable,
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_PARM_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_InclusionDirective` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:393:9
[INFO] [stdout]     |
[INFO] [stdout] 393 |         CXCursor_InclusionDirective => NodeType::Include,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_INCLUSION_DIRECTIVE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_FunctionDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         CXCursor_FunctionDecl
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CXXMethod` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:404:15
[INFO] [stdout]     |
[INFO] [stdout] 404 |             | CXCursor_CXXMethod
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXMETHOD`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_Constructor` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:405:15
[INFO] [stdout]     |
[INFO] [stdout] 405 |             | CXCursor_Constructor
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CONSTRUCTOR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_Destructor` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:406:15
[INFO] [stdout]     |
[INFO] [stdout] 406 |             | CXCursor_Destructor
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DESTRUCTOR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_FunctionTemplate` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:407:15
[INFO] [stdout]     |
[INFO] [stdout] 407 |             | CXCursor_FunctionTemplate
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_TEMPLATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CallExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |         CXCursor_CallExpr => EdgeType::Call,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CALL_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CXXBaseSpecifier` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 |         CXCursor_CXXBaseSpecifier => EdgeType::Inherit,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXBASE_SPECIFIER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_InclusionDirective` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |         CXCursor_InclusionDirective => EdgeType::Include,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_INCLUSION_DIRECTIVE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TypeRef` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |         CXCursor_TypeRef | CXCursor_TemplateRef => EdgeType::Reference,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPE_REF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TemplateRef` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:417:28
[INFO] [stdout]     |
[INFO] [stdout] 417 |         CXCursor_TypeRef | CXCursor_TemplateRef => EdgeType::Reference,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TEMPLATE_REF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_DeclRefExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         CXCursor_DeclRefExpr | CXCursor_MemberRefExpr => EdgeType::Reference,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DECL_REF_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_MemberRefExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:418:32
[INFO] [stdout]     |
[INFO] [stdout] 418 |         CXCursor_DeclRefExpr | CXCursor_MemberRefExpr => EdgeType::Reference,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_MEMBER_REF_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CallExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:434:9
[INFO] [stdout]     |
[INFO] [stdout] 434 |         CXCursor_CallExpr
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CALL_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_DeclRefExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:435:15
[INFO] [stdout]     |
[INFO] [stdout] 435 |             | CXCursor_DeclRefExpr
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DECL_REF_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_MemberRefExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:436:15
[INFO] [stdout]     |
[INFO] [stdout] 436 |             | CXCursor_MemberRefExpr
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_MEMBER_REF_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TypeRef` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:437:15
[INFO] [stdout]     |
[INFO] [stdout] 437 |             | CXCursor_TypeRef
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPE_REF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TemplateRef` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:438:15
[INFO] [stdout]     |
[INFO] [stdout] 438 |             | CXCursor_TemplateRef
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TEMPLATE_REF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CXXBaseSpecifier` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:439:15
[INFO] [stdout]     |
[INFO] [stdout] 439 |             | CXCursor_CXXBaseSpecifier
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXBASE_SPECIFIER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_InclusionDirective` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:440:15
[INFO] [stdout]     |
[INFO] [stdout] 440 |             | CXCursor_InclusionDirective
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_INCLUSION_DIRECTIVE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 13s
[INFO] running `Command { std: "docker" "inspect" "feb586cdb8df7489892c237f66139a371f950fcc396b038ab101ff9bb8e46da3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "feb586cdb8df7489892c237f66139a371f950fcc396b038ab101ff9bb8e46da3", kill_on_drop: false }`
[INFO] [stdout] feb586cdb8df7489892c237f66139a371f950fcc396b038ab101ff9bb8e46da3
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3324f6a9f6e3195e7fa558c0c3d9eb617e29ffdf9db7c602590a8b24a954c221
[INFO] running `Command { std: "docker" "start" "-a" "3324f6a9f6e3195e7fa558c0c3d9eb617e29ffdf9db7c602590a8b24a954c221", kill_on_drop: false }`
[INFO] [stderr]    Compiling relay-editor v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let mut error = unsafe { clang_CompilationDatabase_fromDirectory(db_path.as_ptr(), ptr::null_mut()) };
[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: struct `AssemblyLine` is never constructed
[INFO] [stdout]  --> src/analysis/assembly_analyzer.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct AssemblyLine {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AssemblyAnalyzer` is never constructed
[INFO] [stdout]   --> src/analysis/assembly_analyzer.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct AssemblyAnalyzer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `analyze_object`, `get_assembly_for_line`, and `parse_objdump_output` are never used
[INFO] [stdout]   --> src/analysis/assembly_analyzer.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl AssemblyAnalyzer {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn analyze_object(&mut self, obj_path: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn get_assembly_for_line(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn parse_objdump_output(&mut self, output: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `origin_file` is never read
[INFO] [stdout]   --> src/analysis/ast_analyzer.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct VisitorContext {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] 36 |     refs: Vec<SymbolRef>,
[INFO] [stdout] 37 |     origin_file: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANIM_EASE_OUT` is never used
[INFO] [stdout]   --> src/core/config.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const ANIM_EASE_OUT: f64 = 0.25;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expanded` is never read
[INFO] [stdout]   --> src/core/types.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct GraphNode {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub expanded: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GraphNode` 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 `with_alpha` is never used
[INFO] [stdout]    --> src/core/types.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl Color {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn with_alpha(self, alpha: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shift` and `alt` are never read
[INFO] [stdout]    --> src/core/types.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct KeyEvent {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub shift: bool,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 206 |     pub alt: bool,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `KeyEvent` 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_active` and `is_complete` are never used
[INFO] [stdout]   --> src/graph/animation.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Animation {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn is_complete(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_clip` and `pop_clip` are never used
[INFO] [stdout]   --> src/platform/renderer.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Renderer {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn push_clip(&self, x: f64, y: f64, w: f64, h: f64);
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 45 |     fn pop_clip(&self);
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `bezier_point` is never used
[INFO] [stdout]   --> src/platform/renderer_cairo.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl RendererCairo {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn bezier_point(p0: Vec2, p1: Vec2, p2: Vec2, p3: Vec2, t: f64) -> Vec2 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_FunctionDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 378 |         CXCursor_FunctionDecl
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_DECL`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CXXMethod` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:379:11
[INFO] [stdout]     |
[INFO] [stdout] 379 |         | CXCursor_CXXMethod
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXMETHOD`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_Constructor` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:380:11
[INFO] [stdout]     |
[INFO] [stdout] 380 |         | CXCursor_Constructor
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CONSTRUCTOR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_Destructor` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:381:11
[INFO] [stdout]     |
[INFO] [stdout] 381 |         | CXCursor_Destructor
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DESTRUCTOR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_FunctionTemplate` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:382:11
[INFO] [stdout]     |
[INFO] [stdout] 382 |         | CXCursor_FunctionTemplate => NodeType::Function,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_TEMPLATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_ClassDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:384:9
[INFO] [stdout]     |
[INFO] [stdout] 384 |         CXCursor_ClassDecl
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CLASS_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_StructDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:385:11
[INFO] [stdout]     |
[INFO] [stdout] 385 |         | CXCursor_StructDecl
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_STRUCT_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_EnumDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:386:11
[INFO] [stdout]     |
[INFO] [stdout] 386 |         | CXCursor_EnumDecl
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_ENUM_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TypedefDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:387:11
[INFO] [stdout]     |
[INFO] [stdout] 387 |         | CXCursor_TypedefDecl
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPEDEF_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TypeAliasDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:388:11
[INFO] [stdout]     |
[INFO] [stdout] 388 |         | CXCursor_TypeAliasDecl
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPE_ALIAS_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_ClassTemplate` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:389:11
[INFO] [stdout]     |
[INFO] [stdout] 389 |         | CXCursor_ClassTemplate => NodeType::Type,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CLASS_TEMPLATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_VarDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |         CXCursor_VarDecl | CXCursor_FieldDecl | CXCursor_ParmDecl => NodeType::Variable,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_VAR_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_FieldDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:391:28
[INFO] [stdout]     |
[INFO] [stdout] 391 |         CXCursor_VarDecl | CXCursor_FieldDecl | CXCursor_ParmDecl => NodeType::Variable,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FIELD_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_ParmDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:391:49
[INFO] [stdout]     |
[INFO] [stdout] 391 |         CXCursor_VarDecl | CXCursor_FieldDecl | CXCursor_ParmDecl => NodeType::Variable,
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_PARM_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_InclusionDirective` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:393:9
[INFO] [stdout]     |
[INFO] [stdout] 393 |         CXCursor_InclusionDirective => NodeType::Include,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_INCLUSION_DIRECTIVE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_FunctionDecl` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         CXCursor_FunctionDecl
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_DECL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CXXMethod` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:404:15
[INFO] [stdout]     |
[INFO] [stdout] 404 |             | CXCursor_CXXMethod
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXMETHOD`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_Constructor` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:405:15
[INFO] [stdout]     |
[INFO] [stdout] 405 |             | CXCursor_Constructor
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CONSTRUCTOR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_Destructor` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:406:15
[INFO] [stdout]     |
[INFO] [stdout] 406 |             | CXCursor_Destructor
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DESTRUCTOR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_FunctionTemplate` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:407:15
[INFO] [stdout]     |
[INFO] [stdout] 407 |             | CXCursor_FunctionTemplate
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_TEMPLATE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CallExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |         CXCursor_CallExpr => EdgeType::Call,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CALL_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CXXBaseSpecifier` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 |         CXCursor_CXXBaseSpecifier => EdgeType::Inherit,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXBASE_SPECIFIER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_InclusionDirective` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |         CXCursor_InclusionDirective => EdgeType::Include,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_INCLUSION_DIRECTIVE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TypeRef` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |         CXCursor_TypeRef | CXCursor_TemplateRef => EdgeType::Reference,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPE_REF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TemplateRef` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:417:28
[INFO] [stdout]     |
[INFO] [stdout] 417 |         CXCursor_TypeRef | CXCursor_TemplateRef => EdgeType::Reference,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TEMPLATE_REF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_DeclRefExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         CXCursor_DeclRefExpr | CXCursor_MemberRefExpr => EdgeType::Reference,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DECL_REF_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_MemberRefExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:418:32
[INFO] [stdout]     |
[INFO] [stdout] 418 |         CXCursor_DeclRefExpr | CXCursor_MemberRefExpr => EdgeType::Reference,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_MEMBER_REF_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CallExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:434:9
[INFO] [stdout]     |
[INFO] [stdout] 434 |         CXCursor_CallExpr
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CALL_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_DeclRefExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:435:15
[INFO] [stdout]     |
[INFO] [stdout] 435 |             | CXCursor_DeclRefExpr
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DECL_REF_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_MemberRefExpr` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:436:15
[INFO] [stdout]     |
[INFO] [stdout] 436 |             | CXCursor_MemberRefExpr
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_MEMBER_REF_EXPR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TypeRef` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:437:15
[INFO] [stdout]     |
[INFO] [stdout] 437 |             | CXCursor_TypeRef
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPE_REF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_TemplateRef` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:438:15
[INFO] [stdout]     |
[INFO] [stdout] 438 |             | CXCursor_TemplateRef
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TEMPLATE_REF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_CXXBaseSpecifier` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:439:15
[INFO] [stdout]     |
[INFO] [stdout] 439 |             | CXCursor_CXXBaseSpecifier
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXBASE_SPECIFIER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `CXCursor_InclusionDirective` should have an upper case name
[INFO] [stdout]    --> src/analysis/ast_analyzer.rs:440:15
[INFO] [stdout]     |
[INFO] [stdout] 440 |             | CXCursor_InclusionDirective
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_INCLUSION_DIRECTIVE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.82s
[INFO] running `Command { std: "docker" "inspect" "3324f6a9f6e3195e7fa558c0c3d9eb617e29ffdf9db7c602590a8b24a954c221", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3324f6a9f6e3195e7fa558c0c3d9eb617e29ffdf9db7c602590a8b24a954c221", kill_on_drop: false }`
[INFO] [stdout] 3324f6a9f6e3195e7fa558c0c3d9eb617e29ffdf9db7c602590a8b24a954c221
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1e15afc67467003e47522577a0c2022a71e07e833f3e86178f95ec6147c10b9a
[INFO] running `Command { std: "docker" "start" "-a" "1e15afc67467003e47522577a0c2022a71e07e833f3e86178f95ec6147c10b9a", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:258:13
[INFO] [stderr]     |
[INFO] [stderr] 258 |         let mut error = unsafe { clang_CompilationDatabase_fromDirectory(db_path.as_ptr(), ptr::null_mut()) };
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AssemblyLine` is never constructed
[INFO] [stderr]  --> src/analysis/assembly_analyzer.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct AssemblyLine {
[INFO] [stderr]   |            ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AssemblyAnalyzer` is never constructed
[INFO] [stderr]   --> src/analysis/assembly_analyzer.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct AssemblyAnalyzer {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `analyze_object`, `get_assembly_for_line`, and `parse_objdump_output` are never used
[INFO] [stderr]   --> src/analysis/assembly_analyzer.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl AssemblyAnalyzer {
[INFO] [stderr]    | --------------------- associated items in this implementation
[INFO] [stderr] 21 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn analyze_object(&mut self, obj_path: &str) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub fn get_assembly_for_line(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 58 |     fn parse_objdump_output(&mut self, output: &str) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `origin_file` is never read
[INFO] [stderr]   --> src/analysis/ast_analyzer.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 35 | struct VisitorContext {
[INFO] [stderr]    |        -------------- field in this struct
[INFO] [stderr] 36 |     refs: Vec<SymbolRef>,
[INFO] [stderr] 37 |     origin_file: String,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ANIM_EASE_OUT` is never used
[INFO] [stderr]   --> src/core/config.rs:17:11
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub const ANIM_EASE_OUT: f64 = 0.25;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `expanded` is never read
[INFO] [stderr]   --> src/core/types.rs:49:9
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub struct GraphNode {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub expanded: bool,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `GraphNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `with_alpha` is never used
[INFO] [stderr]    --> src/core/types.rs:182:12
[INFO] [stderr]     |
[INFO] [stderr] 172 | impl Color {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 182 |     pub fn with_alpha(self, alpha: f64) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `shift` and `alt` are never read
[INFO] [stderr]    --> src/core/types.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 201 | pub struct KeyEvent {
[INFO] [stderr]     |            -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 205 |     pub shift: bool,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 206 |     pub alt: bool,
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `KeyEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_active` and `is_complete` are never used
[INFO] [stderr]   --> src/graph/animation.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Animation {
[INFO] [stderr]    | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn is_active(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub fn is_complete(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `push_clip` and `pop_clip` are never used
[INFO] [stderr]   --> src/platform/renderer.rs:44:8
[INFO] [stderr]    |
[INFO] [stderr]  5 | pub trait Renderer {
[INFO] [stderr]    |           -------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 44 |     fn push_clip(&self, x: f64, y: f64, w: f64, h: f64);
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 45 |     fn pop_clip(&self);
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `bezier_point` is never used
[INFO] [stderr]   --> src/platform/renderer_cairo.rs:35:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl RendererCairo {
[INFO] [stderr]    | ------------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 35 |     fn bezier_point(p0: Vec2, p1: Vec2, p2: Vec2, p3: Vec2, t: f64) -> Vec2 {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_FunctionDecl` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:378:9
[INFO] [stderr]     |
[INFO] [stderr] 378 |         CXCursor_FunctionDecl
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_DECL`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_CXXMethod` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:379:11
[INFO] [stderr]     |
[INFO] [stderr] 379 |         | CXCursor_CXXMethod
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXMETHOD`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_Constructor` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:380:11
[INFO] [stderr]     |
[INFO] [stderr] 380 |         | CXCursor_Constructor
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CONSTRUCTOR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_Destructor` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:381:11
[INFO] [stderr]     |
[INFO] [stderr] 381 |         | CXCursor_Destructor
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DESTRUCTOR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_FunctionTemplate` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:382:11
[INFO] [stderr]     |
[INFO] [stderr] 382 |         | CXCursor_FunctionTemplate => NodeType::Function,
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_TEMPLATE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_ClassDecl` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:384:9
[INFO] [stderr]     |
[INFO] [stderr] 384 |         CXCursor_ClassDecl
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CLASS_DECL`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_StructDecl` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:385:11
[INFO] [stderr]     |
[INFO] [stderr] 385 |         | CXCursor_StructDecl
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_STRUCT_DECL`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_EnumDecl` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:386:11
[INFO] [stderr]     |
[INFO] [stderr] 386 |         | CXCursor_EnumDecl
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_ENUM_DECL`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_TypedefDecl` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:387:11
[INFO] [stderr]     |
[INFO] [stderr] 387 |         | CXCursor_TypedefDecl
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPEDEF_DECL`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_TypeAliasDecl` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:388:11
[INFO] [stderr]     |
[INFO] [stderr] 388 |         | CXCursor_TypeAliasDecl
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPE_ALIAS_DECL`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_ClassTemplate` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:389:11
[INFO] [stderr]     |
[INFO] [stderr] 389 |         | CXCursor_ClassTemplate => NodeType::Type,
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CLASS_TEMPLATE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_VarDecl` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:391:9
[INFO] [stderr]     |
[INFO] [stderr] 391 |         CXCursor_VarDecl | CXCursor_FieldDecl | CXCursor_ParmDecl => NodeType::Variable,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_VAR_DECL`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_FieldDecl` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:391:28
[INFO] [stderr]     |
[INFO] [stderr] 391 |         CXCursor_VarDecl | CXCursor_FieldDecl | CXCursor_ParmDecl => NodeType::Variable,
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FIELD_DECL`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_ParmDecl` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:391:49
[INFO] [stderr]     |
[INFO] [stderr] 391 |         CXCursor_VarDecl | CXCursor_FieldDecl | CXCursor_ParmDecl => NodeType::Variable,
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_PARM_DECL`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_InclusionDirective` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:393:9
[INFO] [stderr]     |
[INFO] [stderr] 393 |         CXCursor_InclusionDirective => NodeType::Include,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_INCLUSION_DIRECTIVE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_FunctionDecl` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:403:9
[INFO] [stderr]     |
[INFO] [stderr] 403 |         CXCursor_FunctionDecl
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_DECL`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_CXXMethod` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:404:15
[INFO] [stderr]     |
[INFO] [stderr] 404 |             | CXCursor_CXXMethod
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXMETHOD`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_Constructor` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:405:15
[INFO] [stderr]     |
[INFO] [stderr] 405 |             | CXCursor_Constructor
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CONSTRUCTOR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_Destructor` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:406:15
[INFO] [stderr]     |
[INFO] [stderr] 406 |             | CXCursor_Destructor
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DESTRUCTOR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_FunctionTemplate` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:407:15
[INFO] [stderr]     |
[INFO] [stderr] 407 |             | CXCursor_FunctionTemplate
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_FUNCTION_TEMPLATE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_CallExpr` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:414:9
[INFO] [stderr]     |
[INFO] [stderr] 414 |         CXCursor_CallExpr => EdgeType::Call,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CALL_EXPR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_CXXBaseSpecifier` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:415:9
[INFO] [stderr]     |
[INFO] [stderr] 415 |         CXCursor_CXXBaseSpecifier => EdgeType::Inherit,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXBASE_SPECIFIER`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_InclusionDirective` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:416:9
[INFO] [stderr]     |
[INFO] [stderr] 416 |         CXCursor_InclusionDirective => EdgeType::Include,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_INCLUSION_DIRECTIVE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_TypeRef` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:417:9
[INFO] [stderr]     |
[INFO] [stderr] 417 |         CXCursor_TypeRef | CXCursor_TemplateRef => EdgeType::Reference,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPE_REF`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_TemplateRef` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:417:28
[INFO] [stderr]     |
[INFO] [stderr] 417 |         CXCursor_TypeRef | CXCursor_TemplateRef => EdgeType::Reference,
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TEMPLATE_REF`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_DeclRefExpr` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:418:9
[INFO] [stderr]     |
[INFO] [stderr] 418 |         CXCursor_DeclRefExpr | CXCursor_MemberRefExpr => EdgeType::Reference,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DECL_REF_EXPR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_MemberRefExpr` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:418:32
[INFO] [stderr]     |
[INFO] [stderr] 418 |         CXCursor_DeclRefExpr | CXCursor_MemberRefExpr => EdgeType::Reference,
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_MEMBER_REF_EXPR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_CallExpr` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:434:9
[INFO] [stderr]     |
[INFO] [stderr] 434 |         CXCursor_CallExpr
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CALL_EXPR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_DeclRefExpr` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:435:15
[INFO] [stderr]     |
[INFO] [stderr] 435 |             | CXCursor_DeclRefExpr
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_DECL_REF_EXPR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_MemberRefExpr` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:436:15
[INFO] [stderr]     |
[INFO] [stderr] 436 |             | CXCursor_MemberRefExpr
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_MEMBER_REF_EXPR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_TypeRef` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:437:15
[INFO] [stderr]     |
[INFO] [stderr] 437 |             | CXCursor_TypeRef
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TYPE_REF`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_TemplateRef` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:438:15
[INFO] [stderr]     |
[INFO] [stderr] 438 |             | CXCursor_TemplateRef
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_TEMPLATE_REF`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_CXXBaseSpecifier` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:439:15
[INFO] [stderr]     |
[INFO] [stderr] 439 |             | CXCursor_CXXBaseSpecifier
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_CXXBASE_SPECIFIER`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `CXCursor_InclusionDirective` should have an upper case name
[INFO] [stderr]    --> src/analysis/ast_analyzer.rs:440:15
[INFO] [stderr]     |
[INFO] [stderr] 440 |             | CXCursor_InclusionDirective
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CXCURSOR_INCLUSION_DIRECTIVE`
[INFO] [stderr] 
[INFO] [stderr] warning: `relay-editor` (bin "relay-editor" test) generated 46 warnings (run `cargo fix --bin "relay-editor" -p relay-editor --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/relay_editor-c2fc22cf736f672f)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test cache::cache_manager::tests::test_asm_cache_roundtrip ... ok
[INFO] [stdout] test cache::cache_manager::tests::test_ast_cache_roundtrip ... ok
[INFO] [stdout] test cache::cache_manager::tests::test_open_and_create_tables ... ok
[INFO] [stdout] test cache::cache_manager::tests::test_cache_invalidation ... ok
[INFO] [stdout] test graph::graph_layout::tests::test_cycle_detection ... ok
[INFO] [stdout] test graph::graph_layout::tests::test_dag_layout ... ok
[INFO] [stdout] test cache::cache_manager::tests::test_layout_cache_roundtrip ... ok
[INFO] [stdout] test core::error_parser::tests::test_multiline ... ok
[INFO] [stdout] test core::error_parser::tests::test_unity_format ... ok
[INFO] [stdout] test core::error_parser::tests::test_msvc_format ... ok
[INFO] [stdout] test core::error_parser::tests::test_gcc_format ... ok
[INFO] [stdout] test analysis::ast_analyzer::tests::test_analyzer_creation ... ok
[INFO] [stdout] test core::orchestrator::tests::test_build_graph_from_multiple_errors ... ok
[INFO] [stdout] test core::orchestrator::tests::test_build_graph_from_single_error ... ok
[INFO] [stdout] test analysis::ast_analyzer::tests::test_analyze_simple_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.18s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1e15afc67467003e47522577a0c2022a71e07e833f3e86178f95ec6147c10b9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e15afc67467003e47522577a0c2022a71e07e833f3e86178f95ec6147c10b9a", kill_on_drop: false }`
[INFO] [stdout] 1e15afc67467003e47522577a0c2022a71e07e833f3e86178f95ec6147c10b9a
