[INFO] cloning repository https://github.com/troykirin/riff-dag-tui
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/troykirin/riff-dag-tui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftroykirin%2Friff-dag-tui", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftroykirin%2Friff-dag-tui'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 46d140088cc2498c39bfe39e8eb288429fbe1137
[INFO] testing troykirin/riff-dag-tui against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftroykirin%2Friff-dag-tui" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  45% (1127/2499)
Updating files:  46% (1150/2499)
Updating files:  47% (1175/2499)
Updating files:  48% (1200/2499)
Updating files:  49% (1225/2499)
Updating files:  50% (1250/2499)
Updating files:  51% (1275/2499)
Updating files:  52% (1300/2499)
Updating files:  53% (1325/2499)
Updating files:  54% (1350/2499)
Updating files:  55% (1375/2499)
Updating files:  56% (1400/2499)
Updating files:  57% (1425/2499)
Updating files:  58% (1450/2499)
Updating files:  59% (1475/2499)
Updating files:  60% (1500/2499)
Updating files:  61% (1525/2499)
Updating files:  62% (1550/2499)
Updating files:  63% (1575/2499)
Updating files:  64% (1600/2499)
Updating files:  65% (1625/2499)
Updating files:  66% (1650/2499)
Updating files:  67% (1675/2499)
Updating files:  68% (1700/2499)
Updating files:  69% (1725/2499)
Updating files:  70% (1750/2499)
Updating files:  71% (1775/2499)
Updating files:  72% (1800/2499)
Updating files:  73% (1825/2499)
Updating files:  74% (1850/2499)
Updating files:  75% (1875/2499)
Updating files:  76% (1900/2499)
Updating files:  77% (1925/2499)
Updating files:  78% (1950/2499)
Updating files:  79% (1975/2499)
Updating files:  80% (2000/2499)
Updating files:  81% (2025/2499)
Updating files:  82% (2050/2499)
Updating files:  83% (2075/2499)
Updating files:  84% (2100/2499)
Updating files:  85% (2125/2499)
Updating files:  86% (2150/2499)
Updating files:  87% (2175/2499)
Updating files:  88% (2200/2499)
Updating files:  89% (2225/2499)
Updating files:  90% (2250/2499)
Updating files:  91% (2275/2499)
Updating files:  92% (2300/2499)
Updating files:  93% (2325/2499)
Updating files:  94% (2350/2499)
Updating files:  95% (2375/2499)
Updating files:  96% (2400/2499)
Updating files:  97% (2425/2499)
Updating files:  98% (2450/2499)
Updating files:  99% (2475/2499)
Updating files: 100% (2499/2499)
Updating files: 100% (2499/2499), done.
[INFO] started tweaking git repo https://github.com/troykirin/riff-dag-tui
[INFO] finished tweaking git repo https://github.com/troykirin/riff-dag-tui
[INFO] tweaked toml for git repo https://github.com/troykirin/riff-dag-tui written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/troykirin/riff-dag-tui on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/troykirin/riff-dag-tui 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: file `/workspace/builds/worker-5-tc2/source/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `riff_dag_tui`
[INFO] [stderr]   * `bin` target `riff-dag-tui`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded compact_str v0.7.1
[INFO] [stderr]   Downloaded clap v4.5.50
[INFO] [stderr]   Downloaded clap_builder v4.5.50
[INFO] [stderr]   Downloaded ratatui v0.26.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2cec99e4f2127c2b8a0bca47e23746c85ae8345eeb398fb5b257b932dce528ab
[INFO] running `Command { std: "docker" "start" "-a" "2cec99e4f2127c2b8a0bca47e23746c85ae8345eeb398fb5b257b932dce528ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2cec99e4f2127c2b8a0bca47e23746c85ae8345eeb398fb5b257b932dce528ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2cec99e4f2127c2b8a0bca47e23746c85ae8345eeb398fb5b257b932dce528ab", kill_on_drop: false }`
[INFO] [stdout] 2cec99e4f2127c2b8a0bca47e23746c85ae8345eeb398fb5b257b932dce528ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] fa90ba5b773711254abcfa809e927848a250e2a121345b96f445bec31933bb31
[INFO] running `Command { std: "docker" "start" "-a" "fa90ba5b773711254abcfa809e927848a250e2a121345b96f445bec31933bb31", kill_on_drop: false }`
[INFO] [stderr] warning: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `riff_dag_tui`
[INFO] [stderr]   * `bin` target `riff-dag-tui`
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling indexmap v2.12.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling compact_str v0.7.1
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling clap_builder v4.5.50
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling stability v0.2.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling clap v4.5.50
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling ratatui v0.26.3
[INFO] [stderr]    Compiling riff-dag-tui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/main.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 |     collections::{HashMap, VecDeque},
[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: `eyre`
[INFO] [stdout]   --> src/main.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use color_eyre::eyre::{eyre, Result, WrapErr};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EventLine` is never used
[INFO] [stdout]   --> src/main.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum EventLine {
[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 `NodeData` is never constructed
[INFO] [stdout]   --> src/main.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct NodeData {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_label` is never used
[INFO] [stdout]   --> src/main.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl NodeData {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 57 |     fn display_label(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GraphModel` is never constructed
[INFO] [stdout]   --> src/main.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct GraphModel {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:74:8
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl GraphModel {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  74 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn upsert_node(&mut self, id: &str, nd: NodeData) -> NodeIndex {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     fn ensure_node_id(&mut self, id: &str) -> NodeIndex {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn add_edge(&mut self, from: &str, to: &str) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn parents_of(&self, idx: NodeIndex) -> Vec<NodeIndex> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn children_of(&self, idx: NodeIndex) -> Vec<NodeIndex> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn degree(&self, idx: NodeIndex) -> (usize, usize) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NodeType` is never used
[INFO] [stdout]    --> src/main.rs:130:6
[INFO] [stdout]     |
[INFO] [stdout] 130 | enum NodeType {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]    --> src/main.rs:140:6
[INFO] [stdout]     |
[INFO] [stdout] 140 | enum Mode {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DagViewMode` is never used
[INFO] [stdout]    --> src/main.rs:147:6
[INFO] [stdout]     |
[INFO] [stdout] 147 | enum DagViewMode {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `App` is never constructed
[INFO] [stdout]    --> src/main.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct App {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl App {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 164 |     fn new(gm: GraphModel) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     fn selected(&self) -> Option<NodeIndex> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn with_filter(mut self, query: &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn apply_filter(&mut self, query: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     fn on_up(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn on_down(&mut self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     fn toggle_dag_view(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_graph_from_jsonl` is never used
[INFO] [stdout]    --> src/main.rs:250:4
[INFO] [stdout]     |
[INFO] [stdout] 250 | fn load_graph_from_jsonl(path: Option<String>) -> Result<GraphModel> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_terminal` is never used
[INFO] [stdout]    --> src/main.rs:293:4
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn setup_terminal() -> Result<Terminal<CrosstermBackend<io::Stdout>>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_terminal` is never used
[INFO] [stdout]    --> src/main.rs:302:4
[INFO] [stdout]     |
[INFO] [stdout] 302 | fn restore_terminal(mut terminal: Terminal<CrosstermBackend<io::Stdout>>) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_ui` is never used
[INFO] [stdout]    --> src/main.rs:309:4
[INFO] [stdout]     |
[INFO] [stdout] 309 | fn draw_ui(f: &mut ratatui::Frame, app: &mut App) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_layered_dag_text` is never used
[INFO] [stdout]    --> src/main.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn build_layered_dag_text(gm: &GraphModel, center: NodeIndex, depth: usize) -> Vec<Line<'static>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `label_for` is never used
[INFO] [stdout]    --> src/main.rs:526:4
[INFO] [stdout]     |
[INFO] [stdout] 526 | fn label_for(gm: &GraphModel, idx: NodeIndex) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_node_type` is never used
[INFO] [stdout]    --> src/main.rs:532:4
[INFO] [stdout]     |
[INFO] [stdout] 532 | fn classify_node_type(tags: &[String]) -> NodeType {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_node_shape` is never used
[INFO] [stdout]    --> src/main.rs:555:4
[INFO] [stdout]     |
[INFO] [stdout] 555 | fn draw_node_shape(ctx: &mut ratatui::widgets::canvas::Context, x: f64, y: f64, node_type: NodeType, selected: bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `layout_nodes` is never used
[INFO] [stdout]    --> src/main.rs:617:4
[INFO] [stdout]     |
[INFO] [stdout] 617 | fn layout_nodes(gm: &GraphModel, center: NodeIndex, depth: usize) -> HashMap<NodeIndex, (f64, f64)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_edge_line` is never used
[INFO] [stdout]    --> src/main.rs:682:4
[INFO] [stdout]     |
[INFO] [stdout] 682 | fn draw_edge_line(ctx: &mut ratatui::widgets::canvas::Context, from: (f64, f64), to: (f64, f64), color: Color) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/main.rs:706:4
[INFO] [stdout]     |
[INFO] [stdout] 706 | fn main() -> Result<()> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_app` is never used
[INFO] [stdout]    --> src/main.rs:718:4
[INFO] [stdout]     |
[INFO] [stdout] 718 | fn run_app(terminal: &mut Terminal<CrosstermBackend<std::io::Stdout>>, app: &mut App) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_key` is never used
[INFO] [stdout]    --> src/main.rs:738:4
[INFO] [stdout]     |
[INFO] [stdout] 738 | fn handle_key(app: &mut App, key: KeyEvent) -> Result<bool> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/main.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 |     collections::{HashMap, VecDeque},
[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: `eyre`
[INFO] [stdout]   --> src/main.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use color_eyre::eyre::{eyre, Result, WrapErr};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ensure_node_id` is never used
[INFO] [stdout]   --> src/main.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl GraphModel {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     fn ensure_node_id(&mut self, id: &str) -> NodeIndex {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_filter` is never used
[INFO] [stdout]    --> src/main.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl App {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn with_filter(mut self, query: &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.62s
[INFO] running `Command { std: "docker" "inspect" "fa90ba5b773711254abcfa809e927848a250e2a121345b96f445bec31933bb31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa90ba5b773711254abcfa809e927848a250e2a121345b96f445bec31933bb31", kill_on_drop: false }`
[INFO] [stdout] fa90ba5b773711254abcfa809e927848a250e2a121345b96f445bec31933bb31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] ec07544dc93262aab5fb2d52371b8bf20d394f75075f552842ea19ccbe73ca90
[INFO] running `Command { std: "docker" "start" "-a" "ec07544dc93262aab5fb2d52371b8bf20d394f75075f552842ea19ccbe73ca90", kill_on_drop: false }`
[INFO] [stderr] warning: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `riff_dag_tui`
[INFO] [stderr]   * `bin` target `riff-dag-tui`
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/main.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 |     collections::{HashMap, VecDeque},
[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: `eyre`
[INFO] [stdout]   --> src/main.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use color_eyre::eyre::{eyre, Result, WrapErr};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EventLine` is never used
[INFO] [stdout]   --> src/main.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum EventLine {
[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 `NodeData` is never constructed
[INFO] [stdout]   --> src/main.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct NodeData {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_label` is never used
[INFO] [stdout]   --> src/main.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl NodeData {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 57 |     fn display_label(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GraphModel` is never constructed
[INFO] [stdout]   --> src/main.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct GraphModel {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:74:8
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl GraphModel {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  74 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn upsert_node(&mut self, id: &str, nd: NodeData) -> NodeIndex {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     fn ensure_node_id(&mut self, id: &str) -> NodeIndex {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn add_edge(&mut self, from: &str, to: &str) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn parents_of(&self, idx: NodeIndex) -> Vec<NodeIndex> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn children_of(&self, idx: NodeIndex) -> Vec<NodeIndex> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn degree(&self, idx: NodeIndex) -> (usize, usize) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NodeType` is never used
[INFO] [stdout]    --> src/main.rs:130:6
[INFO] [stdout]     |
[INFO] [stdout] 130 | enum NodeType {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]    --> src/main.rs:140:6
[INFO] [stdout]     |
[INFO] [stdout] 140 | enum Mode {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DagViewMode` is never used
[INFO] [stdout]    --> src/main.rs:147:6
[INFO] [stdout]     |
[INFO] [stdout] 147 | enum DagViewMode {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `App` is never constructed
[INFO] [stdout]    --> src/main.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct App {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl App {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 164 |     fn new(gm: GraphModel) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     fn selected(&self) -> Option<NodeIndex> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn with_filter(mut self, query: &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn apply_filter(&mut self, query: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     fn on_up(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn on_down(&mut self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     fn toggle_dag_view(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_graph_from_jsonl` is never used
[INFO] [stdout]    --> src/main.rs:250:4
[INFO] [stdout]     |
[INFO] [stdout] 250 | fn load_graph_from_jsonl(path: Option<String>) -> Result<GraphModel> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_terminal` is never used
[INFO] [stdout]    --> src/main.rs:293:4
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn setup_terminal() -> Result<Terminal<CrosstermBackend<io::Stdout>>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_terminal` is never used
[INFO] [stdout]    --> src/main.rs:302:4
[INFO] [stdout]     |
[INFO] [stdout] 302 | fn restore_terminal(mut terminal: Terminal<CrosstermBackend<io::Stdout>>) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_ui` is never used
[INFO] [stdout]    --> src/main.rs:309:4
[INFO] [stdout]     |
[INFO] [stdout] 309 | fn draw_ui(f: &mut ratatui::Frame, app: &mut App) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_layered_dag_text` is never used
[INFO] [stdout]    --> src/main.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn build_layered_dag_text(gm: &GraphModel, center: NodeIndex, depth: usize) -> Vec<Line<'static>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `label_for` is never used
[INFO] [stdout]    --> src/main.rs:526:4
[INFO] [stdout]     |
[INFO] [stdout] 526 | fn label_for(gm: &GraphModel, idx: NodeIndex) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_node_type` is never used
[INFO] [stdout]    --> src/main.rs:532:4
[INFO] [stdout]     |
[INFO] [stdout] 532 | fn classify_node_type(tags: &[String]) -> NodeType {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_node_shape` is never used
[INFO] [stdout]    --> src/main.rs:555:4
[INFO] [stdout]     |
[INFO] [stdout] 555 | fn draw_node_shape(ctx: &mut ratatui::widgets::canvas::Context, x: f64, y: f64, node_type: NodeType, selected: bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `layout_nodes` is never used
[INFO] [stdout]    --> src/main.rs:617:4
[INFO] [stdout]     |
[INFO] [stdout] 617 | fn layout_nodes(gm: &GraphModel, center: NodeIndex, depth: usize) -> HashMap<NodeIndex, (f64, f64)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_edge_line` is never used
[INFO] [stdout]    --> src/main.rs:682:4
[INFO] [stdout]     |
[INFO] [stdout] 682 | fn draw_edge_line(ctx: &mut ratatui::widgets::canvas::Context, from: (f64, f64), to: (f64, f64), color: Color) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling riff-dag-tui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/main.rs:706:4
[INFO] [stdout]     |
[INFO] [stdout] 706 | fn main() -> Result<()> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_app` is never used
[INFO] [stdout]    --> src/main.rs:718:4
[INFO] [stdout]     |
[INFO] [stdout] 718 | fn run_app(terminal: &mut Terminal<CrosstermBackend<std::io::Stdout>>, app: &mut App) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_key` is never used
[INFO] [stdout]    --> src/main.rs:738:4
[INFO] [stdout]     |
[INFO] [stdout] 738 | fn handle_key(app: &mut App, key: KeyEvent) -> Result<bool> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/main.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 |     collections::{HashMap, VecDeque},
[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: `eyre`
[INFO] [stdout]   --> src/main.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use color_eyre::eyre::{eyre, Result, WrapErr};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/main.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 |     collections::{HashMap, VecDeque},
[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: `eyre`
[INFO] [stdout]   --> src/main.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use color_eyre::eyre::{eyre, Result, WrapErr};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ensure_node_id` is never used
[INFO] [stdout]   --> src/main.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl GraphModel {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     fn ensure_node_id(&mut self, id: &str) -> NodeIndex {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ensure_node_id` is never used
[INFO] [stdout]   --> src/main.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl GraphModel {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     fn ensure_node_id(&mut self, id: &str) -> NodeIndex {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_filter` is never used
[INFO] [stdout]    --> src/main.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl App {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn with_filter(mut self, query: &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_filter` is never used
[INFO] [stdout]    --> src/main.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl App {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn with_filter(mut self, query: &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.84s
[INFO] running `Command { std: "docker" "inspect" "ec07544dc93262aab5fb2d52371b8bf20d394f75075f552842ea19ccbe73ca90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec07544dc93262aab5fb2d52371b8bf20d394f75075f552842ea19ccbe73ca90", kill_on_drop: false }`
[INFO] [stdout] ec07544dc93262aab5fb2d52371b8bf20d394f75075f552842ea19ccbe73ca90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] e5bc8eca630ea74f2aa9ce3f62229999f3fcc6dad8ad35f26f2f5050a31b3e25
[INFO] running `Command { std: "docker" "start" "-a" "e5bc8eca630ea74f2aa9ce3f62229999f3fcc6dad8ad35f26f2f5050a31b3e25", kill_on_drop: false }`
[INFO] [stderr] warning: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `riff_dag_tui`
[INFO] [stderr]   * `bin` target `riff-dag-tui`
[INFO] [stderr] warning: unused import: `VecDeque`
[INFO] [stderr]  --> src/main.rs:7:28
[INFO] [stderr]   |
[INFO] [stderr] 7 |     collections::{HashMap, VecDeque},
[INFO] [stderr]   |                            ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `eyre`
[INFO] [stderr]   --> src/main.rs:14:24
[INFO] [stderr]    |
[INFO] [stderr] 14 | use color_eyre::eyre::{eyre, Result, WrapErr};
[INFO] [stderr]    |                        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `EventLine` is never used
[INFO] [stderr]   --> src/main.rs:34:6
[INFO] [stderr]    |
[INFO] [stderr] 34 | enum EventLine {
[INFO] [stderr]    |      ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NodeData` is never constructed
[INFO] [stderr]   --> src/main.rs:48:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | struct NodeData {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `display_label` is never used
[INFO] [stderr]   --> src/main.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 56 | impl NodeData {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] 57 |     fn display_label(&self) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GraphModel` is never constructed
[INFO] [stderr]   --> src/main.rs:67:8
[INFO] [stderr]    |
[INFO] [stderr] 67 | struct GraphModel {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/main.rs:74:8
[INFO] [stderr]     |
[INFO] [stderr]  73 | impl GraphModel {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr]  74 |     fn new() -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr]  77 |     fn upsert_node(&mut self, id: &str, nd: NodeData) -> NodeIndex {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  90 |     fn ensure_node_id(&mut self, id: &str) -> NodeIndex {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     fn add_edge(&mut self, from: &str, to: &str) {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 109 |     fn parents_of(&self, idx: NodeIndex) -> Vec<NodeIndex> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 112 |     fn children_of(&self, idx: NodeIndex) -> Vec<NodeIndex> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 115 |     fn degree(&self, idx: NodeIndex) -> (usize, usize) {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `NodeType` is never used
[INFO] [stderr]    --> src/main.rs:130:6
[INFO] [stderr]     |
[INFO] [stderr] 130 | enum NodeType {
[INFO] [stderr]     |      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Mode` is never used
[INFO] [stderr]    --> src/main.rs:140:6
[INFO] [stderr]     |
[INFO] [stderr] 140 | enum Mode {
[INFO] [stderr]     |      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `DagViewMode` is never used
[INFO] [stderr]    --> src/main.rs:147:6
[INFO] [stderr]     |
[INFO] [stderr] 147 | enum DagViewMode {
[INFO] [stderr]     |      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `App` is never constructed
[INFO] [stderr]    --> src/main.rs:152:8
[INFO] [stderr]     |
[INFO] [stderr] 152 | struct App {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/main.rs:164:8
[INFO] [stderr]     |
[INFO] [stderr] 163 | impl App {
[INFO] [stderr]     | -------- associated items in this implementation
[INFO] [stderr] 164 |     fn new(gm: GraphModel) -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 182 |     fn selected(&self) -> Option<NodeIndex> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 186 |     fn with_filter(mut self, query: &str) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 191 |     fn apply_filter(&mut self, query: &str) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 225 |     fn on_up(&mut self) {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 233 |     fn on_down(&mut self) {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 242 |     fn toggle_dag_view(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_graph_from_jsonl` is never used
[INFO] [stderr]    --> src/main.rs:250:4
[INFO] [stderr]     |
[INFO] [stderr] 250 | fn load_graph_from_jsonl(path: Option<String>) -> Result<GraphModel> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `setup_terminal` is never used
[INFO] [stderr]    --> src/main.rs:293:4
[INFO] [stderr]     |
[INFO] [stderr] 293 | fn setup_terminal() -> Result<Terminal<CrosstermBackend<io::Stdout>>> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `restore_terminal` is never used
[INFO] [stderr]    --> src/main.rs:302:4
[INFO] [stderr]     |
[INFO] [stderr] 302 | fn restore_terminal(mut terminal: Terminal<CrosstermBackend<io::Stdout>>) -> Result<()> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `draw_ui` is never used
[INFO] [stderr]    --> src/main.rs:309:4
[INFO] [stderr]     |
[INFO] [stderr] 309 | fn draw_ui(f: &mut ratatui::Frame, app: &mut App) {
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `build_layered_dag_text` is never used
[INFO] [stderr]    --> src/main.rs:440:4
[INFO] [stderr]     |
[INFO] [stderr] 440 | fn build_layered_dag_text(gm: &GraphModel, center: NodeIndex, depth: usize) -> Vec<Line<'static>> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `label_for` is never used
[INFO] [stderr]    --> src/main.rs:526:4
[INFO] [stderr]     |
[INFO] [stderr] 526 | fn label_for(gm: &GraphModel, idx: NodeIndex) -> String {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `classify_node_type` is never used
[INFO] [stderr]    --> src/main.rs:532:4
[INFO] [stderr]     |
[INFO] [stderr] 532 | fn classify_node_type(tags: &[String]) -> NodeType {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `draw_node_shape` is never used
[INFO] [stderr]    --> src/main.rs:555:4
[INFO] [stderr]     |
[INFO] [stderr] 555 | fn draw_node_shape(ctx: &mut ratatui::widgets::canvas::Context, x: f64, y: f64, node_type: NodeType, selected: bool) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `layout_nodes` is never used
[INFO] [stderr]    --> src/main.rs:617:4
[INFO] [stderr]     |
[INFO] [stderr] 617 | fn layout_nodes(gm: &GraphModel, center: NodeIndex, depth: usize) -> HashMap<NodeIndex, (f64, f64)> {
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `draw_edge_line` is never used
[INFO] [stderr]    --> src/main.rs:682:4
[INFO] [stderr]     |
[INFO] [stderr] 682 | fn draw_edge_line(ctx: &mut ratatui::widgets::canvas::Context, from: (f64, f64), to: (f64, f64), color: Color) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `main` is never used
[INFO] [stderr]    --> src/main.rs:706:4
[INFO] [stderr]     |
[INFO] [stderr] 706 | fn main() -> Result<()> {
[INFO] [stderr]     |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_app` is never used
[INFO] [stderr]    --> src/main.rs:718:4
[INFO] [stderr]     |
[INFO] [stderr] 718 | fn run_app(terminal: &mut Terminal<CrosstermBackend<std::io::Stdout>>, app: &mut App) -> Result<()> {
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `handle_key` is never used
[INFO] [stderr]    --> src/main.rs:738:4
[INFO] [stderr]     |
[INFO] [stderr] 738 | fn handle_key(app: &mut App, key: KeyEvent) -> Result<bool> {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `ensure_node_id` is never used
[INFO] [stderr]   --> src/main.rs:90:8
[INFO] [stderr]    |
[INFO] [stderr] 73 | impl GraphModel {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 90 |     fn ensure_node_id(&mut self, id: &str) -> NodeIndex {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `with_filter` is never used
[INFO] [stderr]    --> src/main.rs:186:8
[INFO] [stderr]     |
[INFO] [stderr] 163 | impl App {
[INFO] [stderr]     | -------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 186 |     fn with_filter(mut self, query: &str) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `riff-dag-tui` (lib) generated 25 warnings (run `cargo fix --lib -p riff-dag-tui` to apply 2 suggestions)
[INFO] [stderr] warning: `riff-dag-tui` (lib test) generated 4 warnings (2 duplicates)
[INFO] [stderr] warning: `riff-dag-tui` (bin "riff-dag-tui" test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/riff-dag-tui/d6faef11b830d73b/deps/riff_dag_tui-d6faef11b830d73b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/riff-dag-tui/8c252a21b3dbeac5/deps/riff_dag_tui-8c252a21b3dbeac5)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests riff_dag_tui
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e5bc8eca630ea74f2aa9ce3f62229999f3fcc6dad8ad35f26f2f5050a31b3e25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5bc8eca630ea74f2aa9ce3f62229999f3fcc6dad8ad35f26f2f5050a31b3e25", kill_on_drop: false }`
[INFO] [stdout] e5bc8eca630ea74f2aa9ce3f62229999f3fcc6dad8ad35f26f2f5050a31b3e25
