[INFO] cloning repository https://github.com/brittonr/irohscii [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brittonr/irohscii" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrittonr%2Firohscii", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrittonr%2Firohscii'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d7b8b505441aca94d449f37ad8687c0122499ea7 [INFO] testing brittonr/irohscii 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%2Fbrittonr%2Firohscii" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/brittonr/irohscii [INFO] finished tweaking git repo https://github.com/brittonr/irohscii [INFO] tweaked toml for git repo https://github.com/brittonr/irohscii written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/brittonr/irohscii 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/brittonr/irohscii 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] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b925091e821031089f600738a2d0633f7567946823f0595c6c058cab79e7ba2d [INFO] running `Command { std: "docker" "start" "-a" "b925091e821031089f600738a2d0633f7567946823f0595c6c058cab79e7ba2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b925091e821031089f600738a2d0633f7567946823f0595c6c058cab79e7ba2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b925091e821031089f600738a2d0633f7567946823f0595c6c058cab79e7ba2d", kill_on_drop: false }` [INFO] [stdout] b925091e821031089f600738a2d0633f7567946823f0595c6c058cab79e7ba2d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }` [INFO] [stdout] dcc2827be8d7321535a3a108db7b05350175dd627f58ee107a9a86f977e295d2 [INFO] running `Command { std: "docker" "start" "-a" "dcc2827be8d7321535a3a108db7b05350175dd627f58ee107a9a86f977e295d2", kill_on_drop: false }` [INFO] [stderr] Compiling portable-atomic v1.13.0 [INFO] [stderr] Compiling critical-section v1.2.0 [INFO] [stderr] Compiling proc-macro2 v1.0.104 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.6 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling const-oid v0.10.1 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling pem-rfc7468 v1.0.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling curve25519-dalek v5.0.0-pre.1 [INFO] [stderr] Compiling cordyceps v0.3.4 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling spin v0.10.0 [INFO] [stderr] Compiling cc v1.2.51 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling diatomic-waker v0.2.3 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling heapless v0.7.17 [INFO] [stderr] Compiling lru v0.16.2 [INFO] [stderr] Compiling iroh-quinn-udp v0.5.7 [INFO] [stderr] Compiling n0-future v0.3.1 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling palette v0.7.6 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling futures-buffered v0.2.12 [INFO] [stderr] Compiling by_address v1.2.1 [INFO] [stderr] Compiling hash32 v0.2.1 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling netlink-packet-core v0.8.1 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling instability v0.3.10 [INFO] [stderr] Compiling signature v3.0.0-rc.6 [INFO] [stderr] Compiling fast-srgb8 v1.0.0 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling netlink-packet-route v0.25.1 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling netwatch v0.12.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling pkarr v5.0.0 [INFO] [stderr] Compiling iroh-quinn v0.14.0 [INFO] [stderr] Compiling base32 v0.5.1 [INFO] [stderr] Compiling tagptr v0.2.0 [INFO] [stderr] Compiling xml-rs v0.8.28 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling simple-dns v0.9.3 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling moka v0.12.12 [INFO] [stderr] Compiling iroh-relay v0.95.1 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling constant_time_eq v0.3.1 [INFO] [stderr] Compiling openssl-probe v0.2.0 [INFO] [stderr] Compiling resolv-conf v0.7.6 [INFO] [stderr] Compiling self_cell v1.2.1 [INFO] [stderr] Compiling zmij v1.0.3 [INFO] [stderr] Compiling lru v0.13.0 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling base16ct v0.3.0 [INFO] [stderr] Compiling simdutf8 v0.1.5 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling arrayref v0.3.9 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling iroh v0.95.1 [INFO] [stderr] Compiling unicode-truncate v2.0.0 [INFO] [stderr] Compiling serde_bytes v0.11.19 [INFO] [stderr] Compiling z32 v1.3.0 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling xmltree v0.10.3 [INFO] [stderr] Compiling leb128 v0.2.5 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling rmp v0.8.15 [INFO] [stderr] Compiling smol_str v0.3.4 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling serde_json v1.0.148 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling n0-error-macros v0.1.2 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling spez v0.1.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling hybrid-array v0.4.5 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling rustls-pki-types v1.13.2 [INFO] [stderr] Compiling crypto-common v0.2.0-rc.4 [INFO] [stderr] Compiling block-buffer v0.11.0 [INFO] [stderr] Compiling rustls-webpki v0.103.8 [INFO] [stderr] Compiling der v0.8.0-rc.10 [INFO] [stderr] Compiling n0-error v0.1.2 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling inout v0.2.2 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling digest v0.11.0-rc.3 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling sha2 v0.11.0-rc.2 [INFO] [stderr] Compiling palette_derive v0.7.6 [INFO] [stderr] Compiling cipher v0.5.0-rc.1 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling cobs v0.3.0 [INFO] [stderr] Compiling webpki-roots v1.0.4 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling postcard-derive v0.2.2 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling spki v0.8.0-rc.4 [INFO] [stderr] Compiling pkcs8 v0.11.0-rc.8 [INFO] [stderr] Compiling universal-hash v0.6.0-rc.2 [INFO] [stderr] Compiling iroh-metrics-derive v0.4.0 [INFO] [stderr] Compiling num_enum_derive v0.7.5 [INFO] [stderr] Compiling enum-as-inner v0.6.1 [INFO] [stderr] Compiling poly1305 v0.9.0-rc.2 [INFO] [stderr] Compiling salsa20 v0.11.0-rc.1 [INFO] [stderr] Compiling chacha20 v0.10.0-rc.2 [INFO] [stderr] Compiling aead v0.6.0-rc.2 [INFO] [stderr] Compiling sha1 v0.11.0-rc.2 [INFO] [stderr] Compiling derive_more v1.0.0 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling hexane v0.1.6 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling crypto_secretbox v0.2.0-pre.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling num_enum v0.7.5 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling ed25519 v3.0.0-rc.2 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling ntimestamp v1.0.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling serdect v0.4.1 [INFO] [stderr] Compiling automerge v0.7.2 [INFO] [stderr] Compiling rmp-serde v1.3.1 [INFO] [stderr] Compiling postcard v1.1.3 [INFO] [stderr] Compiling clap v4.5.53 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling iroh-metrics v0.37.0 [INFO] [stderr] Compiling ed25519-dalek v3.0.0-pre.1 [INFO] [stderr] Compiling iroh-quinn-proto v0.13.0 [INFO] [stderr] Compiling crypto_box v0.10.0-pre.0 [INFO] [stderr] Compiling attohttpc v0.30.1 [INFO] [stderr] Compiling tokio-util v0.7.17 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling netlink-sys v0.8.7 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling async-compat v0.2.5 [INFO] [stderr] Compiling backon v1.6.0 [INFO] [stderr] Compiling netdev v0.38.2 [INFO] [stderr] Compiling netlink-proto v0.12.0 [INFO] [stderr] Compiling iroh-base v0.95.1 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling tokio-websockets v0.12.3 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling n0-watcher v0.5.0 [INFO] [stderr] Compiling rustls-platform-verifier v0.5.3 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hickory-proto v0.25.2 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling hickory-resolver v0.25.2 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling igd-next v0.16.2 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling portmapper v0.12.0 [INFO] [stderr] Compiling irohscii v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: methods `ensure_shapes_map` and `get_shape_order_list` are never used [INFO] [stdout] --> src/document.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 117 | impl Document { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 269 | fn ensure_shapes_map(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | fn get_shape_order_list(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Group` [INFO] [stdout] --> src/app.rs:8:55 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::document::{default_storage_path, Document, Group, GroupId, ShapeId}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:469:9 [INFO] [stdout] | [INFO] [stdout] 437 | KeyCode::Char('r') => app.set_tool(Tool::Rectangle), [INFO] [stdout] | ------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 469 | KeyCode::Char('r') if app.show_layers && app.active_layer.is_some() => app.start_layer_rename(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mouse` is never read [INFO] [stdout] --> src/app.rs:277:9 [INFO] [stdout] | [INFO] [stdout] 262 | pub struct App { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 277 | pub mouse: MouseState, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/app.rs:525:12 [INFO] [stdout] | [INFO] [stdout] 314 | impl App { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 525 | pub fn dismiss_status(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 954 | pub fn clear_hover_snap(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1024 | pub fn try_select(&mut self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1153 | pub fn expand_selection_to_groups(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1171 | pub fn get_selected_groups(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1182 | pub fn is_grouped(&self, id: ShapeId) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2042 | pub fn cycle_brush(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2059 | pub fn cycle_color(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2182 | pub fn automerge(&self) -> &automerge::Automerge { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Canvas` is never constructed [INFO] [stdout] --> src/canvas.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Canvas { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/canvas.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Canvas { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 31 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get(&self, pos: Position) -> char { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, pos: Position, ch: char) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn bounds(&self) -> Option<(i32, i32, i32, i32)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn to_string_content(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn from_string(content: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn draw_line(&mut self, from: Position, to: Position, ch: char) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn draw_rect(&mut self, from: Position, to: Position) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/document.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct Document { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 110 | id: DocumentId, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/document.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 117 | impl Document { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn from_automerge(doc: Automerge, id: DocumentId) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn automerge(&self) -> &Automerge { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn automerge_mut(&mut self) -> &mut Automerge { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn id(&self) -> DocumentId { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn ensure_shapes_map(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | fn get_shape_order_list(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | pub fn read_shape(&self, id: ShapeId) -> Result> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 707 | pub fn get_root_group(&self, id: GroupId) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1001 | pub fn move_layer(&mut self, id: LayerId, new_index: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1040 | pub fn translate_shape(&mut self, id: ShapeId, dx: i32, dy: i32) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1050 | pub fn update_connections_for_shape(&mut self, moved_id: ShapeId, dx: i32, dy: i32) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1119 | pub fn update_connections_for_resize(&mut self, resized_id: ShapeId, old_kind: &ShapeKind, new_kind: &ShapeKind) -> Result src/document.rs:1926:4 [INFO] [stdout] | [INFO] [stdout] 1926 | fn find_corresponding_snap(pos: &Position, old_snaps: &[Position], new_snaps: &[Position]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_id` is never used [INFO] [stdout] --> src/layers.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Layer { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn with_id(id: LayerId, name: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `local_peer_id`, `has_earlier_dragger`, `peers_dragging`, and `peers_resizing` are never used [INFO] [stdout] --> src/presence.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 190 | impl PresenceManager { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn local_peer_id(&self) -> PeerId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn has_earlier_dragger(&self, shape_id: crate::document::ShapeId, our_start_ms: u64) -> Option<&PeerPresence> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn peers_dragging(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn peers_resizing(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `next` is never used [INFO] [stdout] --> src/shapes.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl ShapeColor { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn next(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `connections` is never used [INFO] [stdout] --> src/shapes.rs:583:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl ShapeKind { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn connections(&self) -> (Option, Option) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/shapes.rs:872:12 [INFO] [stdout] | [INFO] [stdout] 870 | impl CachedShape { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 871 | /// Create a cached shape from id and kind [INFO] [stdout] 872 | pub fn new(id: ShapeId, kind: ShapeKind) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_layer_visible`, `len`, and `update_shapes` are never used [INFO] [stdout] --> src/shapes.rs:1285:12 [INFO] [stdout] | [INFO] [stdout] 1210 | impl ShapeView { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1285 | pub fn is_layer_visible(&self, layer_id: LayerId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1364 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1369 | pub fn update_shapes(&mut self, doc: &Document, ids: &[ShapeId]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `storage_path` is never read [INFO] [stdout] --> src/sync/mod.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct SyncConfig { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 33 | pub mode: SyncMode, [INFO] [stdout] 34 | pub storage_path: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PeerStatus` is never constructed [INFO] [stdout] --> src/sync/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 60 | pub enum SyncEvent { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 66 | PeerStatus { peer_count: usize, connected: bool }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ShapeChange` is never used [INFO] [stdout] --> src/sync/mod.rs:88:10 [INFO] [stdout] | [INFO] [stdout] 88 | pub enum ShapeChange { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `local_peer_id` is never used [INFO] [stdout] --> src/sync/presence_protocol.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl PresenceProtocol { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn local_peer_id(&self) -> PeerId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UndoManager` is never constructed [INFO] [stdout] --> src/undo.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct UndoManager { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/undo.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl UndoManager { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 22 | /// Create a new undo manager [INFO] [stdout] 23 | pub fn new(max_history: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn save_state(&mut self, doc: &Document) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn undo(&mut self, current_doc: &Document) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn redo(&mut self, current_doc: &Document) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn can_undo(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn can_redo(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn undo_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn redo_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 05s [INFO] running `Command { std: "docker" "inspect" "dcc2827be8d7321535a3a108db7b05350175dd627f58ee107a9a86f977e295d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dcc2827be8d7321535a3a108db7b05350175dd627f58ee107a9a86f977e295d2", kill_on_drop: false }` [INFO] [stdout] dcc2827be8d7321535a3a108db7b05350175dd627f58ee107a9a86f977e295d2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }` [INFO] [stdout] 4ba17fb2f7c50d80785736a4afcb3ed5f1fccd1c0f96710b141da8708191ec67 [INFO] running `Command { std: "docker" "start" "-a" "4ba17fb2f7c50d80785736a4afcb3ed5f1fccd1c0f96710b141da8708191ec67", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling n0-future v0.3.1 [INFO] [stderr] Compiling pkarr v5.0.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling backon v1.6.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling n0-watcher v0.5.0 [INFO] [stderr] Compiling netwatch v0.12.0 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling iroh-relay v0.95.1 [INFO] [stderr] Compiling portmapper v0.12.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling proptest v1.9.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling iroh v0.95.1 [INFO] [stderr] Compiling irohscii v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: methods `ensure_shapes_map` and `get_shape_order_list` are never used [INFO] [stdout] --> src/document.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 117 | impl Document { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 269 | fn ensure_shapes_map(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | fn get_shape_order_list(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `ensure_shapes_map` and `get_shape_order_list` are never used [INFO] [stdout] --> src/document.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 117 | impl Document { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 269 | fn ensure_shapes_map(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | fn get_shape_order_list(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Group` [INFO] [stdout] --> src/app.rs:8:55 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::document::{default_storage_path, Document, Group, GroupId, ShapeId}; [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: `Group` [INFO] [stdout] --> src/app.rs:8:55 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::document::{default_storage_path, Document, Group, GroupId, ShapeId}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:469:9 [INFO] [stdout] | [INFO] [stdout] 437 | KeyCode::Char('r') => app.set_tool(Tool::Rectangle), [INFO] [stdout] | ------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 469 | KeyCode::Char('r') if app.show_layers && app.active_layer.is_some() => app.start_layer_rename(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mouse` is never read [INFO] [stdout] --> src/app.rs:277:9 [INFO] [stdout] | [INFO] [stdout] 262 | pub struct App { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 277 | pub mouse: MouseState, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/app.rs:525:12 [INFO] [stdout] | [INFO] [stdout] 314 | impl App { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 525 | pub fn dismiss_status(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 954 | pub fn clear_hover_snap(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1024 | pub fn try_select(&mut self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1153 | pub fn expand_selection_to_groups(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1171 | pub fn get_selected_groups(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1182 | pub fn is_grouped(&self, id: ShapeId) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2042 | pub fn cycle_brush(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2059 | pub fn cycle_color(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2182 | pub fn automerge(&self) -> &automerge::Automerge { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Canvas` is never constructed [INFO] [stdout] --> src/canvas.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Canvas { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/canvas.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Canvas { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 31 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get(&self, pos: Position) -> char { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, pos: Position, ch: char) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn bounds(&self) -> Option<(i32, i32, i32, i32)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn to_string_content(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn from_string(content: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn draw_line(&mut self, from: Position, to: Position, ch: char) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn draw_rect(&mut self, from: Position, to: Position) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/document.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct Document { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 110 | id: DocumentId, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/document.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 117 | impl Document { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn from_automerge(doc: Automerge, id: DocumentId) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn automerge(&self) -> &Automerge { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn automerge_mut(&mut self) -> &mut Automerge { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn id(&self) -> DocumentId { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn ensure_shapes_map(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | fn get_shape_order_list(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | pub fn read_shape(&self, id: ShapeId) -> Result> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 707 | pub fn get_root_group(&self, id: GroupId) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1001 | pub fn move_layer(&mut self, id: LayerId, new_index: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1040 | pub fn translate_shape(&mut self, id: ShapeId, dx: i32, dy: i32) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1050 | pub fn update_connections_for_shape(&mut self, moved_id: ShapeId, dx: i32, dy: i32) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1119 | pub fn update_connections_for_resize(&mut self, resized_id: ShapeId, old_kind: &ShapeKind, new_kind: &ShapeKind) -> Result src/document.rs:1926:4 [INFO] [stdout] | [INFO] [stdout] 1926 | fn find_corresponding_snap(pos: &Position, old_snaps: &[Position], new_snaps: &[Position]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_id` is never used [INFO] [stdout] --> src/layers.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Layer { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn with_id(id: LayerId, name: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `local_peer_id`, `has_earlier_dragger`, `peers_dragging`, and `peers_resizing` are never used [INFO] [stdout] --> src/presence.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 190 | impl PresenceManager { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn local_peer_id(&self) -> PeerId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn has_earlier_dragger(&self, shape_id: crate::document::ShapeId, our_start_ms: u64) -> Option<&PeerPresence> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn peers_dragging(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn peers_resizing(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `next` is never used [INFO] [stdout] --> src/shapes.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl ShapeColor { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn next(self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `connections` is never used [INFO] [stdout] --> src/shapes.rs:583:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl ShapeKind { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn connections(&self) -> (Option, Option) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/shapes.rs:872:12 [INFO] [stdout] | [INFO] [stdout] 870 | impl CachedShape { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 871 | /// Create a cached shape from id and kind [INFO] [stdout] 872 | pub fn new(id: ShapeId, kind: ShapeKind) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_layer_visible`, `len`, and `update_shapes` are never used [INFO] [stdout] --> src/shapes.rs:1285:12 [INFO] [stdout] | [INFO] [stdout] 1210 | impl ShapeView { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1285 | pub fn is_layer_visible(&self, layer_id: LayerId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1364 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1369 | pub fn update_shapes(&mut self, doc: &Document, ids: &[ShapeId]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `storage_path` is never read [INFO] [stdout] --> src/sync/mod.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct SyncConfig { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 33 | pub mode: SyncMode, [INFO] [stdout] 34 | pub storage_path: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PeerStatus` is never constructed [INFO] [stdout] --> src/sync/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 60 | pub enum SyncEvent { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 66 | PeerStatus { peer_count: usize, connected: bool }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ShapeChange` is never used [INFO] [stdout] --> src/sync/mod.rs:88:10 [INFO] [stdout] | [INFO] [stdout] 88 | pub enum ShapeChange { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `local_peer_id` is never used [INFO] [stdout] --> src/sync/presence_protocol.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl PresenceProtocol { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn local_peer_id(&self) -> PeerId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UndoManager` is never constructed [INFO] [stdout] --> src/undo.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct UndoManager { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/undo.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl UndoManager { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 22 | /// Create a new undo manager [INFO] [stdout] 23 | pub fn new(max_history: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn save_state(&mut self, doc: &Document) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn undo(&mut self, current_doc: &Document) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn redo(&mut self, current_doc: &Document) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn can_undo(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn can_redo(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn undo_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn redo_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:469:9 [INFO] [stdout] | [INFO] [stdout] 437 | KeyCode::Char('r') => app.set_tool(Tool::Rectangle), [INFO] [stdout] | ------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 469 | KeyCode::Char('r') if app.show_layers && app.active_layer.is_some() => app.start_layer_rename(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mouse` is never read [INFO] [stdout] --> src/app.rs:277:9 [INFO] [stdout] | [INFO] [stdout] 262 | pub struct App { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 277 | pub mouse: MouseState, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/app.rs:525:12 [INFO] [stdout] | [INFO] [stdout] 314 | impl App { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 525 | pub fn dismiss_status(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 954 | pub fn clear_hover_snap(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1024 | pub fn try_select(&mut self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1153 | pub fn expand_selection_to_groups(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1171 | pub fn get_selected_groups(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1182 | pub fn is_grouped(&self, id: ShapeId) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2042 | pub fn cycle_brush(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2059 | pub fn cycle_color(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2182 | pub fn automerge(&self) -> &automerge::Automerge { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/document.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct Document { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 110 | id: DocumentId, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/document.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 117 | impl Document { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn from_automerge(doc: Automerge, id: DocumentId) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn automerge_mut(&mut self) -> &mut Automerge { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn id(&self) -> DocumentId { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn ensure_shapes_map(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | fn get_shape_order_list(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | pub fn read_shape(&self, id: ShapeId) -> Result> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 707 | pub fn get_root_group(&self, id: GroupId) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1001 | pub fn move_layer(&mut self, id: LayerId, new_index: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1040 | pub fn translate_shape(&mut self, id: ShapeId, dx: i32, dy: i32) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1050 | pub fn update_connections_for_shape(&mut self, moved_id: ShapeId, dx: i32, dy: i32) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1119 | pub fn update_connections_for_resize(&mut self, resized_id: ShapeId, old_kind: &ShapeKind, new_kind: &ShapeKind) -> Result src/presence.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 190 | impl PresenceManager { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn local_peer_id(&self) -> PeerId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn has_earlier_dragger(&self, shape_id: crate::document::ShapeId, our_start_ms: u64) -> Option<&PeerPresence> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn peers_dragging(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn peers_resizing(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `connections` is never used [INFO] [stdout] --> src/shapes.rs:583:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl ShapeKind { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn connections(&self) -> (Option, Option) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_layer_visible` and `update_shapes` are never used [INFO] [stdout] --> src/shapes.rs:1285:12 [INFO] [stdout] | [INFO] [stdout] 1210 | impl ShapeView { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1285 | pub fn is_layer_visible(&self, layer_id: LayerId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1369 | pub fn update_shapes(&mut self, doc: &Document, ids: &[ShapeId]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `storage_path` is never read [INFO] [stdout] --> src/sync/mod.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct SyncConfig { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 33 | pub mode: SyncMode, [INFO] [stdout] 34 | pub storage_path: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PeerStatus` is never constructed [INFO] [stdout] --> src/sync/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 60 | pub enum SyncEvent { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 66 | PeerStatus { peer_count: usize, connected: bool }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ShapeChange` is never used [INFO] [stdout] --> src/sync/mod.rs:88:10 [INFO] [stdout] | [INFO] [stdout] 88 | pub enum ShapeChange { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `local_peer_id` is never used [INFO] [stdout] --> src/sync/presence_protocol.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl PresenceProtocol { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn local_peer_id(&self) -> PeerId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 11s [INFO] running `Command { std: "docker" "inspect" "4ba17fb2f7c50d80785736a4afcb3ed5f1fccd1c0f96710b141da8708191ec67", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ba17fb2f7c50d80785736a4afcb3ed5f1fccd1c0f96710b141da8708191ec67", kill_on_drop: false }` [INFO] [stdout] 4ba17fb2f7c50d80785736a4afcb3ed5f1fccd1c0f96710b141da8708191ec67 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }` [INFO] [stdout] a47fb8676f5819cd36e82c6463ede57a35c72de0cafcb1defe1c5aab6cb75cdc [INFO] running `Command { std: "docker" "start" "-a" "a47fb8676f5819cd36e82c6463ede57a35c72de0cafcb1defe1c5aab6cb75cdc", kill_on_drop: false }` [INFO] [stderr] warning: methods `ensure_shapes_map` and `get_shape_order_list` are never used [INFO] [stderr] --> src/document.rs:269:8 [INFO] [stderr] | [INFO] [stderr] 117 | impl Document { [INFO] [stderr] | ------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 269 | fn ensure_shapes_map(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 286 | fn get_shape_order_list(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `irohscii` (lib) generated 1 warning [INFO] [stderr] warning: unused import: `Group` [INFO] [stderr] --> src/app.rs:8:55 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::document::{default_storage_path, Document, Group, GroupId, ShapeId}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/main.rs:469:9 [INFO] [stderr] | [INFO] [stderr] 437 | KeyCode::Char('r') => app.set_tool(Tool::Rectangle), [INFO] [stderr] | ------------------ matches all the relevant values [INFO] [stderr] ... [INFO] [stderr] 469 | KeyCode::Char('r') if app.show_layers && app.active_layer.is_some() => app.start_layer_rename(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `mouse` is never read [INFO] [stderr] --> src/app.rs:277:9 [INFO] [stderr] | [INFO] [stderr] 262 | pub struct App { [INFO] [stderr] | --- field in this struct [INFO] [stderr] ... [INFO] [stderr] 277 | pub mouse: MouseState, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/app.rs:525:12 [INFO] [stderr] | [INFO] [stderr] 314 | impl App { [INFO] [stderr] | -------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 525 | pub fn dismiss_status(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 954 | pub fn clear_hover_snap(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1024 | pub fn try_select(&mut self, pos: Position) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1153 | pub fn expand_selection_to_groups(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1171 | pub fn get_selected_groups(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1182 | pub fn is_grouped(&self, id: ShapeId) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2042 | pub fn cycle_brush(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2059 | pub fn cycle_color(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2182 | pub fn automerge(&self) -> &automerge::Automerge { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Canvas` is never constructed [INFO] [stderr] --> src/canvas.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | pub struct Canvas { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/canvas.rs:31:12 [INFO] [stderr] | [INFO] [stderr] 30 | impl Canvas { [INFO] [stderr] | ----------- associated items in this implementation [INFO] [stderr] 31 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | pub fn get(&self, pos: Position) -> char { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | pub fn set(&mut self, pos: Position, ch: char) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 52 | pub fn bounds(&self) -> Option<(i32, i32, i32, i32)> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 73 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 78 | pub fn to_string_content(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 103 | pub fn from_string(content: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 116 | pub fn draw_line(&mut self, from: Position, to: Position, ch: char) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 123 | pub fn draw_rect(&mut self, from: Position, to: Position) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `id` is never read [INFO] [stderr] --> src/document.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 106 | pub struct Document { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 110 | id: DocumentId, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/document.rs:157:12 [INFO] [stderr] | [INFO] [stderr] 117 | impl Document { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 157 | pub fn from_automerge(doc: Automerge, id: DocumentId) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 214 | pub fn automerge(&self) -> &Automerge { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 219 | pub fn automerge_mut(&mut self) -> &mut Automerge { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 236 | pub fn id(&self) -> DocumentId { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 269 | fn ensure_shapes_map(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 286 | fn get_shape_order_list(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 365 | pub fn read_shape(&self, id: ShapeId) -> Result> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 707 | pub fn get_root_group(&self, id: GroupId) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1001 | pub fn move_layer(&mut self, id: LayerId, new_index: usize) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1040 | pub fn translate_shape(&mut self, id: ShapeId, dx: i32, dy: i32) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1050 | pub fn update_connections_for_shape(&mut self, moved_id: ShapeId, dx: i32, dy: i32) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1119 | pub fn update_connections_for_resize(&mut self, resized_id: ShapeId, old_kind: &ShapeKind, new_kind: &ShapeKind) -> Result src/document.rs:1926:4 [INFO] [stderr] | [INFO] [stderr] 1926 | fn find_corresponding_snap(pos: &Position, old_snaps: &[Position], new_snaps: &[Position]) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `with_id` is never used [INFO] [stderr] --> src/layers.rs:50:12 [INFO] [stderr] | [INFO] [stderr] 40 | impl Layer { [INFO] [stderr] | ---------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 50 | pub fn with_id(id: LayerId, name: impl Into) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `local_peer_id`, `has_earlier_dragger`, `peers_dragging`, and `peers_resizing` are never used [INFO] [stderr] --> src/presence.rs:199:12 [INFO] [stderr] | [INFO] [stderr] 190 | impl PresenceManager { [INFO] [stderr] | -------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 199 | pub fn local_peer_id(&self) -> PeerId { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 244 | pub fn has_earlier_dragger(&self, shape_id: crate::document::ShapeId, our_start_ms: u64) -> Option<&PeerPresence> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 252 | pub fn peers_dragging(&self) -> impl Iterator { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 259 | pub fn peers_resizing(&self) -> impl Iterator { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `next` is never used [INFO] [stderr] --> src/shapes.rs:105:12 [INFO] [stderr] | [INFO] [stderr] 37 | impl ShapeColor { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 105 | pub fn next(self) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `connections` is never used [INFO] [stderr] --> src/shapes.rs:583:12 [INFO] [stderr] | [INFO] [stderr] 273 | impl ShapeKind { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 583 | pub fn connections(&self) -> (Option, Option) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/shapes.rs:872:12 [INFO] [stderr] | [INFO] [stderr] 870 | impl CachedShape { [INFO] [stderr] | ---------------- associated function in this implementation [INFO] [stderr] 871 | /// Create a cached shape from id and kind [INFO] [stderr] 872 | pub fn new(id: ShapeId, kind: ShapeKind) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `is_layer_visible`, `len`, and `update_shapes` are never used [INFO] [stderr] --> src/shapes.rs:1285:12 [INFO] [stderr] | [INFO] [stderr] 1210 | impl ShapeView { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 1285 | pub fn is_layer_visible(&self, layer_id: LayerId) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1364 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1369 | pub fn update_shapes(&mut self, doc: &Document, ids: &[ShapeId]) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `storage_path` is never read [INFO] [stderr] --> src/sync/mod.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 32 | pub struct SyncConfig { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 33 | pub mode: SyncMode, [INFO] [stderr] 34 | pub storage_path: Option, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SyncConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `PeerStatus` is never constructed [INFO] [stderr] --> src/sync/mod.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 60 | pub enum SyncEvent { [INFO] [stderr] | --------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 66 | PeerStatus { peer_count: usize, connected: bool }, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SyncEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `ShapeChange` is never used [INFO] [stderr] --> src/sync/mod.rs:88:10 [INFO] [stderr] | [INFO] [stderr] 88 | pub enum ShapeChange { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `local_peer_id` is never used [INFO] [stderr] --> src/sync/presence_protocol.rs:64:12 [INFO] [stderr] | [INFO] [stderr] 43 | impl PresenceProtocol { [INFO] [stderr] | --------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 64 | pub fn local_peer_id(&self) -> PeerId { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `UndoManager` is never constructed [INFO] [stderr] --> src/undo.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct UndoManager { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/undo.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 21 | impl UndoManager { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 22 | /// Create a new undo manager [INFO] [stderr] 23 | pub fn new(max_history: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 32 | pub fn save_state(&mut self, doc: &Document) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | pub fn undo(&mut self, current_doc: &Document) -> Option { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 57 | pub fn redo(&mut self, current_doc: &Document) -> Option { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 70 | pub fn can_undo(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 75 | pub fn can_redo(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 80 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 86 | pub fn undo_count(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 91 | pub fn redo_count(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `irohscii` (bin "irohscii") generated 21 warnings (run `cargo fix --bin "irohscii" -p irohscii` to apply 1 suggestion) [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/document.rs:157:12 [INFO] [stderr] | [INFO] [stderr] 117 | impl Document { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 157 | pub fn from_automerge(doc: Automerge, id: DocumentId) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 219 | pub fn automerge_mut(&mut self) -> &mut Automerge { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 236 | pub fn id(&self) -> DocumentId { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 269 | fn ensure_shapes_map(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 286 | fn get_shape_order_list(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 365 | pub fn read_shape(&self, id: ShapeId) -> Result> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 707 | pub fn get_root_group(&self, id: GroupId) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1001 | pub fn move_layer(&mut self, id: LayerId, new_index: usize) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1040 | pub fn translate_shape(&mut self, id: ShapeId, dx: i32, dy: i32) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1050 | pub fn update_connections_for_shape(&mut self, moved_id: ShapeId, dx: i32, dy: i32) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1119 | pub fn update_connections_for_resize(&mut self, resized_id: ShapeId, old_kind: &ShapeKind, new_kind: &ShapeKind) -> Result src/shapes.rs:1285:12 [INFO] [stderr] | [INFO] [stderr] 1210 | impl ShapeView { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 1285 | pub fn is_layer_visible(&self, layer_id: LayerId) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1369 | pub fn update_shapes(&mut self, doc: &Document, ids: &[ShapeId]) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `irohscii` (bin "irohscii" test) generated 13 warnings (11 duplicates) [INFO] [stderr] warning: `irohscii` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.75s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/build/irohscii/cc7bc01d9915c016/deps/irohscii-cc7bc01d9915c016) [INFO] [stdout] [INFO] [stdout] running 149 tests [INFO] [stdout] test canvas::tests::arrow_points_down ... ok [INFO] [stdout] test canvas::tests::arrow_points_left ... ok [INFO] [stdout] test canvas::tests::arrow_points_up ... ok [INFO] [stdout] test canvas::tests::canvas_clear ... ok [INFO] [stdout] test canvas::tests::canvas_bounds_single_char ... ok [INFO] [stdout] test canvas::tests::canvas_bounds_multiple_chars ... ok [INFO] [stdout] test canvas::tests::canvas_draw_line ... ok [INFO] [stdout] test canvas::tests::arrow_points_has_arrowhead ... ok [INFO] [stdout] test canvas::tests::canvas_default ... ok [INFO] [stdout] test canvas::tests::canvas_bounds_empty ... ok [INFO] [stdout] test canvas::tests::canvas_draw_rect ... ok [INFO] [stdout] test canvas::tests::canvas_new_is_empty ... ok [INFO] [stdout] test canvas::tests::canvas_set_and_get ... ok [INFO] [stdout] test canvas::tests::canvas_set_space_removes ... ok [INFO] [stdout] test canvas::tests::line_points_contiguous ... ok [INFO] [stdout] test canvas::tests::line_points_diagonal_45_degrees ... ok [INFO] [stdout] test canvas::tests::ellipse_points_small ... ok [INFO] [stdout] test canvas::tests::line_points_negative_coords ... ok [INFO] [stdout] test canvas::tests::line_points_horizontal ... ok [INFO] [stdout] test canvas::tests::line_points_styled_orthogonal_hv ... ok [INFO] [stdout] test canvas::tests::line_points_styled_straight_horizontal ... ok [INFO] [stdout] test canvas::tests::line_points_reverse_direction ... ok [INFO] [stdout] test canvas::tests::line_points_styled_straight_vertical ... ok [INFO] [stdout] test canvas::tests::line_points_vertical ... ok [INFO] [stdout] test canvas::tests::canvas_to_string_empty ... ok [INFO] [stdout] test canvas::tests::cloud_points_not_empty ... ok [INFO] [stdout] test canvas::tests::diamond_points_has_tips ... ok [INFO] [stdout] test canvas::tests::double_rect_points_full ... ok [INFO] [stdout] test canvas::tests::diamond_points_small ... ok [INFO] [stdout] test canvas::tests::cylinder_points_not_empty ... ok [INFO] [stdout] test canvas::tests::canvas_to_string_and_from_string ... ok [INFO] [stdout] test canvas::tests::line_points_single_point ... ok [INFO] [stdout] test canvas::tests::hexagon_points_not_empty ... ok [INFO] [stdout] test canvas::tests::line_style_name ... ok [INFO] [stdout] test canvas::tests::parallelogram_points_not_empty ... ok [INFO] [stdout] test canvas::tests::line_style_cycle ... ok [INFO] [stdout] test canvas::tests::position_hash ... ok [INFO] [stdout] test canvas::tests::ellipse_points_has_sides ... ok [INFO] [stdout] test canvas::tests::rect_points_full_rect ... ok [INFO] [stdout] test canvas::tests::position_negative_coords ... ok [INFO] [stdout] test canvas::tests::rect_points_horizontal_line ... ok [INFO] [stdout] test canvas::tests::rect_points_single_point ... ok [INFO] [stdout] test canvas::tests::rounded_rect_points_full ... ok [INFO] [stdout] test canvas::tests::position_new ... ok [INFO] [stdout] test canvas::tests::star_points_not_empty ... ok [INFO] [stdout] test canvas::tests::rect_points_swapped_corners ... ok [INFO] [stdout] test canvas::tests::rect_points_vertical_line ... ok [INFO] [stdout] test canvas::tests::trapezoid_points_not_empty ... ok [INFO] [stdout] test canvas::tests::triangle_points_not_empty ... ok [INFO] [stdout] test canvas::tests::viewport_canvas_to_screen_visible ... ok [INFO] [stdout] test canvas::tests::viewport_canvas_to_screen_not_visible ... ok [INFO] [stdout] test canvas::tests::viewport_resize ... ok [INFO] [stdout] test canvas::tests::viewport_screen_to_canvas ... ok [INFO] [stdout] test canvas::tests::viewport_screen_to_canvas_with_offset ... ok [INFO] [stdout] test canvas::tests::viewport_new ... ok [INFO] [stdout] test canvas::tests::line_style_default ... ok [INFO] [stdout] test canvas::tests::position_equality ... ok [INFO] [stdout] test canvas::proptest_tests::line_points_are_contiguous ... ok [INFO] [stdout] test canvas::proptest_tests::viewport_roundtrip ... ok [INFO] [stdout] test canvas::tests::viewport_pan ... ok [INFO] [stdout] test document::tests::document_id_display ... ok [INFO] [stdout] test document::tests::document_id_new_unique ... ok [INFO] [stdout] test canvas::proptest_tests::line_includes_endpoints ... ok [INFO] [stdout] test canvas::proptest_tests::rect_bounds_normalized ... ok [INFO] [stdout] test document::tests::document_default_layer ... ok [INFO] [stdout] test document::tests::document_mark_dirty ... ok [INFO] [stdout] test document::tests::document_layer_visibility ... ok [INFO] [stdout] test document::tests::document_layer_locked ... ok [INFO] [stdout] test document::tests::document_create_layer ... ok [INFO] [stdout] test document::tests::document_add_shape ... ok [INFO] [stdout] test document::tests::document_delete_layer ... ok [INFO] [stdout] test document::tests::document_dirty_flag ... ok [INFO] [stdout] test document::tests::document_create_group ... ok [INFO] [stdout] test document::tests::document_delete_shape ... ok [INFO] [stdout] test document::tests::document_delete_group ... ok [INFO] [stdout] test document::tests::document_add_multiple_shapes ... ok [INFO] [stdout] test document::tests::document_bring_to_front ... ok [INFO] [stdout] test document::tests::document_bring_forward ... ok [INFO] [stdout] test document::tests::group_id_display ... ok [INFO] [stdout] test document::tests::str_to_shape_color_all_colors ... ok [INFO] [stdout] test document::tests::shape_id_new_unique ... ok [INFO] [stdout] test document::tests::str_to_shape_color_unknown ... ok [INFO] [stdout] test document::tests::find_corresponding_snap_basic ... ok [INFO] [stdout] test layers::tests::layer_default ... ok [INFO] [stdout] test document::tests::shape_id_display ... ok [INFO] [stdout] test document::tests::find_corresponding_snap_empty ... ok [INFO] [stdout] test layers::tests::layer_id_default ... ok [INFO] [stdout] test layers::tests::layer_id_display ... ok [INFO] [stdout] test layers::tests::layer_id_equality ... ok [INFO] [stdout] test layers::tests::layer_id_hash ... ok [INFO] [stdout] test layers::tests::layer_id_new_unique ... ok [INFO] [stdout] test presence::tests::peer_presence_color_index_deterministic ... ok [INFO] [stdout] test presence::tests::peer_presence_color_index_within_bounds ... ok [INFO] [stdout] test presence::tests::activity_labels_are_not_empty ... ok [INFO] [stdout] test presence::tests::peer_presence_serialization_roundtrip_without_layer ... ok [INFO] [stdout] test presence::tests::peer_presence_serialization_roundtrip_with_layer ... ok [INFO] [stdout] test presence::tests::presence_manager_does_not_store_local_peer ... ok [INFO] [stdout] test layers::tests::layer_new ... ok [INFO] [stdout] test presence::tests::peer_presence_with_layer ... ok [INFO] [stdout] test presence::tests::peer_presence_without_layer ... ok [INFO] [stdout] test document::tests::group_id_new_unique ... ok [INFO] [stdout] test layers::tests::layer_with_id ... ok [INFO] [stdout] test presence::tests::presence_manager_updates_existing_peer ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_freehand ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_rectangle ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_rectangle_swapped ... ok [INFO] [stdout] test presence::tests::presence_message_serialization ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_text ... ok [INFO] [stdout] test shapes::tests::cached_shape_contains ... ok [INFO] [stdout] test shapes::tests::cached_shape_label ... ok [INFO] [stdout] test shapes::tests::cached_shape_resize_handles_line ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_ellipse ... ok [INFO] [stdout] test presence::tests::presence_manager_update_peer_with_layer ... ok [INFO] [stdout] test shapes::tests::cached_shape_resize_handles_rectangle ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_freehand_empty ... ok [INFO] [stdout] test presence::tests::peer_presence_display_name_format ... ok [INFO] [stdout] test shapes::tests::resize_ellipse ... ok [INFO] [stdout] test shapes::tests::resize_rectangle_bottom_right ... ok [INFO] [stdout] test shapes::tests::shape_color_name ... ok [INFO] [stdout] test shapes::tests::resize_rectangle_top_left ... ok [INFO] [stdout] test shapes::tests::shape_color_cycle_all ... ok [INFO] [stdout] test document::tests::document_merge ... ok [INFO] [stdout] test shapes::tests::resize_line_end ... ok [INFO] [stdout] test shapes::tests::resize_line_start ... ok [INFO] [stdout] test shapes::tests::shape_color_default ... ok [INFO] [stdout] test shapes::tests::shape_kind_snap_points_line ... ok [INFO] [stdout] test shapes::tests::shape_kind_supports_label ... ok [INFO] [stdout] test shapes::tests::shape_color_to_css ... ok [INFO] [stdout] test shapes::tests::shape_kind_translated_freehand ... ok [INFO] [stdout] test shapes::tests::shape_kind_translated_text ... ok [INFO] [stdout] test shapes::tests::shape_kind_label ... ok [INFO] [stdout] test shapes::tests::shape_kind_snap_points_rectangle ... ok [INFO] [stdout] test shapes::tests::shape_kind_color ... ok [INFO] [stdout] test shapes::tests::shape_kind_translated_rectangle ... ok [INFO] [stdout] test shapes::tests::shape_kind_type_name ... ok [INFO] [stdout] test shapes::tests::shape_view_default ... ok [INFO] [stdout] test shapes::tests::shape_kind_with_color ... ok [INFO] [stdout] test shapes::tests::shape_kind_translated_line ... ok [INFO] [stdout] test document::tests::document_new ... ok [INFO] [stdout] test shapes::tests::shape_view_new ... ok [INFO] [stdout] test shapes::tests::cached_shape_snap_points ... ok [INFO] [stdout] test shapes::tests::shape_kind_with_label ... ok [INFO] [stdout] test document::tests::document_rename_layer ... ok [INFO] [stdout] test document::tests::document_save_and_load ... ok [INFO] [stdout] test document::tests::document_update_shape ... ok [INFO] [stdout] test document::tests::document_shape_order ... ok [INFO] [stdout] test document::tests::document_send_backward ... ok [INFO] [stdout] test document::tests::document_send_to_back ... ok [INFO] [stdout] test document::tests::document_read_all_groups ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 149 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.76s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/build/irohscii/fd4a439e28ce7e74/deps/irohscii-fd4a439e28ce7e74) [INFO] [stdout] [INFO] [stdout] running 199 tests [INFO] [stdout] test canvas::tests::arrow_points_has_arrowhead ... ok [INFO] [stdout] test canvas::tests::canvas_bounds_multiple_chars ... ok [INFO] [stdout] test canvas::tests::canvas_clear ... ok [INFO] [stdout] test canvas::tests::canvas_bounds_single_char ... ok [INFO] [stdout] test canvas::tests::canvas_bounds_empty ... ok [INFO] [stdout] test canvas::tests::arrow_points_up ... ok [INFO] [stdout] test canvas::tests::arrow_points_down ... ok [INFO] [stdout] test canvas::tests::canvas_default ... ok [INFO] [stdout] test canvas::tests::arrow_points_left ... ok [INFO] [stdout] test canvas::tests::canvas_draw_line ... ok [INFO] [stdout] test canvas::tests::canvas_set_space_removes ... ok [INFO] [stdout] test canvas::tests::canvas_to_string_empty ... ok [INFO] [stdout] test canvas::tests::cloud_points_not_empty ... ok [INFO] [stdout] test canvas::tests::diamond_points_has_tips ... ok [INFO] [stdout] test canvas::tests::diamond_points_small ... ok [INFO] [stdout] test canvas::tests::canvas_to_string_and_from_string ... ok [INFO] [stdout] test canvas::tests::canvas_draw_rect ... ok [INFO] [stdout] test canvas::tests::double_rect_points_full ... ok [INFO] [stdout] test canvas::tests::line_points_horizontal ... ok [INFO] [stdout] test canvas::tests::ellipse_points_small ... ok [INFO] [stdout] test canvas::tests::line_points_negative_coords ... ok [INFO] [stdout] test canvas::tests::hexagon_points_not_empty ... ok [INFO] [stdout] test canvas::tests::line_points_diagonal_45_degrees ... ok [INFO] [stdout] test canvas::tests::line_points_reverse_direction ... ok [INFO] [stdout] test canvas::tests::line_points_single_point ... ok [INFO] [stdout] test canvas::tests::line_points_styled_orthogonal_hv ... ok [INFO] [stdout] test canvas::tests::line_points_styled_straight_horizontal ... ok [INFO] [stdout] test canvas::tests::line_points_styled_straight_vertical ... ok [INFO] [stdout] test canvas::tests::line_points_vertical ... ok [INFO] [stdout] test canvas::tests::line_points_contiguous ... ok [INFO] [stdout] test canvas::tests::line_style_default ... ok [INFO] [stdout] test canvas::tests::line_style_name ... ok [INFO] [stdout] test canvas::tests::cylinder_points_not_empty ... ok [INFO] [stdout] test canvas::tests::parallelogram_points_not_empty ... ok [INFO] [stdout] test canvas::tests::position_equality ... ok [INFO] [stdout] test canvas::tests::line_style_cycle ... ok [INFO] [stdout] test canvas::tests::position_negative_coords ... ok [INFO] [stdout] test canvas::tests::position_hash ... ok [INFO] [stdout] test canvas::tests::position_new ... ok [INFO] [stdout] test canvas::tests::rect_points_full_rect ... ok [INFO] [stdout] test canvas::tests::rect_points_single_point ... ok [INFO] [stdout] test canvas::tests::rect_points_swapped_corners ... ok [INFO] [stdout] test canvas::tests::rect_points_vertical_line ... ok [INFO] [stdout] test canvas::tests::trapezoid_points_not_empty ... ok [INFO] [stdout] test canvas::tests::triangle_points_not_empty ... ok [INFO] [stdout] test canvas::tests::star_points_not_empty ... ok [INFO] [stdout] test canvas::tests::viewport_canvas_to_screen_visible ... ok [INFO] [stdout] test canvas::tests::viewport_canvas_to_screen_not_visible ... ok [INFO] [stdout] test canvas::tests::viewport_resize ... ok [INFO] [stdout] test canvas::tests::viewport_screen_to_canvas ... ok [INFO] [stdout] test canvas::tests::viewport_pan ... ok [INFO] [stdout] test canvas::tests::viewport_new ... ok [INFO] [stdout] test canvas::tests::viewport_screen_to_canvas_with_offset ... ok [INFO] [stdout] test canvas::tests::rect_points_horizontal_line ... ok [INFO] [stdout] test canvas::tests::rounded_rect_points_full ... ok [INFO] [stdout] test canvas::proptest_tests::line_points_are_contiguous ... ok [INFO] [stdout] test canvas::proptest_tests::line_includes_endpoints ... ok [INFO] [stdout] test canvas::proptest_tests::viewport_roundtrip ... ok [INFO] [stdout] test canvas::proptest_tests::rect_bounds_normalized ... ok [INFO] [stdout] test document::tests::document_id_display ... ok [INFO] [stdout] test document::tests::document_id_new_unique ... ok [INFO] [stdout] test canvas::tests::canvas_set_and_get ... ok [INFO] [stdout] test document::tests::document_default_layer ... ok [INFO] [stdout] test document::tests::document_layer_visibility ... ok [INFO] [stdout] test document::tests::document_layer_locked ... ok [INFO] [stdout] test document::tests::document_create_layer ... ok [INFO] [stdout] test document::tests::document_add_shape ... ok [INFO] [stdout] test document::tests::document_mark_dirty ... ok [INFO] [stdout] test document::tests::document_rename_layer ... ok [INFO] [stdout] test document::tests::document_dirty_flag ... ok [INFO] [stdout] test document::tests::document_delete_layer ... ok [INFO] [stdout] test document::tests::document_new ... ok [INFO] [stdout] test document::tests::find_corresponding_snap_basic ... ok [INFO] [stdout] test document::tests::find_corresponding_snap_empty ... ok [INFO] [stdout] test document::tests::group_id_display ... ok [INFO] [stdout] test document::tests::group_id_new_unique ... ok [INFO] [stdout] test document::tests::shape_id_display ... ok [INFO] [stdout] test document::tests::shape_id_new_unique ... ok [INFO] [stdout] test document::tests::str_to_shape_color_all_colors ... ok [INFO] [stdout] test document::tests::str_to_shape_color_unknown ... ok [INFO] [stdout] test file_io::tests::load_ascii_nonexistent_file ... ok [INFO] [stdout] test file_io::tests::load_ascii_preserves_lines ... ok [INFO] [stdout] test file_io::tests::load_ascii_skips_empty_lines ... ok [INFO] [stdout] test file_io::tests::render_label_to_grid_centered ... ok [INFO] [stdout] test canvas::tests::canvas_new_is_empty ... ok [INFO] [stdout] test document::tests::document_delete_shape ... ok [INFO] [stdout] test document::tests::document_create_group ... ok [INFO] [stdout] test document::tests::document_delete_group ... ok [INFO] [stdout] test document::tests::document_update_shape ... ok [INFO] [stdout] test file_io::tests::render_shapes_to_text_empty ... ok [INFO] [stdout] test document::tests::document_add_multiple_shapes ... ok [INFO] [stdout] test layers::tests::layer_id_default ... ok [INFO] [stdout] test layers::tests::layer_default ... ok [INFO] [stdout] test document::tests::document_bring_to_front ... ok [INFO] [stdout] test layers::tests::layer_id_hash ... ok [INFO] [stdout] test layers::tests::layer_id_new_unique ... ok [INFO] [stdout] test layers::tests::layer_new ... ok [INFO] [stdout] test layers::tests::layer_with_id ... ok [INFO] [stdout] test layers::tests::layer_id_display ... ok [INFO] [stdout] test presence::tests::activity_labels_are_not_empty ... ok [INFO] [stdout] test layers::tests::layer_id_equality ... ok [INFO] [stdout] test presence::tests::peer_presence_color_index_deterministic ... ok [INFO] [stdout] test presence::tests::peer_presence_color_index_within_bounds ... ok [INFO] [stdout] test document::tests::document_bring_forward ... ok [INFO] [stdout] test presence::tests::peer_presence_display_name_format ... ok [INFO] [stdout] test presence::tests::peer_presence_serialization_roundtrip_without_layer ... ok [INFO] [stdout] test presence::tests::presence_manager_does_not_store_local_peer ... ok [INFO] [stdout] test presence::tests::presence_manager_update_peer_with_layer ... ok [INFO] [stdout] test presence::tests::presence_manager_updates_existing_peer ... ok [INFO] [stdout] test presence::tests::presence_message_serialization ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_ellipse ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_freehand ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_freehand_empty ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_rectangle ... ok [INFO] [stdout] test presence::tests::peer_presence_without_layer ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_rectangle_swapped ... ok [INFO] [stdout] test shapes::tests::cached_shape_bounds_text ... ok [INFO] [stdout] test presence::tests::peer_presence_serialization_roundtrip_with_layer ... ok [INFO] [stdout] test presence::tests::peer_presence_with_layer ... ok [INFO] [stdout] test file_io::tests::render_shapes_to_text_text_shape ... ok [INFO] [stdout] test shapes::tests::cached_shape_label ... ok [INFO] [stdout] test shapes::tests::cached_shape_resize_handles_line ... ok [INFO] [stdout] test shapes::tests::resize_ellipse ... ok [INFO] [stdout] test shapes::tests::cached_shape_resize_handles_rectangle ... ok [INFO] [stdout] test shapes::tests::cached_shape_snap_points ... ok [INFO] [stdout] test file_io::tests::save_and_load_ascii_roundtrip ... ok [INFO] [stdout] test shapes::tests::resize_line_end ... ok [INFO] [stdout] test shapes::tests::resize_rectangle_bottom_right ... ok [INFO] [stdout] test shapes::tests::cached_shape_contains ... ok [INFO] [stdout] test shapes::tests::shape_color_name ... ok [INFO] [stdout] test shapes::tests::shape_color_default ... ok [INFO] [stdout] test shapes::tests::shape_kind_label ... ok [INFO] [stdout] test shapes::tests::shape_color_cycle_all ... ok [INFO] [stdout] test shapes::tests::shape_kind_snap_points_rectangle ... ok [INFO] [stdout] test shapes::tests::resize_rectangle_top_left ... ok [INFO] [stdout] test shapes::tests::shape_kind_translated_freehand ... ok [INFO] [stdout] test shapes::tests::shape_kind_translated_line ... ok [INFO] [stdout] test shapes::tests::shape_color_to_css ... ok [INFO] [stdout] test shapes::tests::shape_kind_snap_points_line ... ok [INFO] [stdout] test shapes::tests::shape_kind_supports_label ... ok [INFO] [stdout] test document::tests::document_save_and_load ... ok [INFO] [stdout] test shapes::tests::resize_line_start ... ok [INFO] [stdout] test shapes::tests::shape_kind_translated_rectangle ... ok [INFO] [stdout] test shapes::tests::shape_kind_with_color ... ok [INFO] [stdout] test shapes::tests::shape_kind_type_name ... ok [INFO] [stdout] test shapes::tests::shape_kind_translated_text ... ok [INFO] [stdout] test shapes::tests::shape_kind_with_label ... ok [INFO] [stdout] test shapes::tests::shape_view_default ... ok [INFO] [stdout] test shapes::tests::shape_view_new ... ok [INFO] [stdout] test svg_export::tests::escape_xml_greater_than ... ok [INFO] [stdout] test svg_export::tests::escape_xml_less_than ... ok [INFO] [stdout] test svg_export::tests::escape_xml_apostrophe ... ok [INFO] [stdout] test svg_export::tests::escape_xml_ampersand ... ok [INFO] [stdout] test svg_export::tests::escape_xml_multiple ... ok [INFO] [stdout] test svg_export::tests::escape_xml_none_needed ... ok [INFO] [stdout] test file_io::tests::save_ascii_creates_file ... ok [INFO] [stdout] test svg_export::tests::escape_xml_quote ... ok [INFO] [stdout] test document::tests::document_merge ... ok [INFO] [stdout] test svg_export::tests::calculate_bounds_empty ... ok [INFO] [stdout] test file_io::tests::render_shapes_to_text_single_rect ... ok [INFO] [stdout] test document::tests::document_send_to_back ... ok [INFO] [stdout] test svg_export::tests::export_svg_ellipse ... ok [INFO] [stdout] test document::tests::document_send_backward ... ok [INFO] [stdout] test file_io::tests::render_shapes_to_text_with_label ... ok [INFO] [stdout] test canvas::tests::ellipse_points_has_sides ... ok [INFO] [stdout] test svg_export::tests::export_svg_line ... ok [INFO] [stdout] test document::tests::document_shape_order ... ok [INFO] [stdout] test svg_export::tests::calculate_bounds_multiple_shapes ... ok [INFO] [stdout] test svg_export::tests::calculate_bounds_single_rect ... ok [INFO] [stdout] test svg_export::tests::export_svg_arrow ... ok [INFO] [stdout] test svg_export::tests::export_svg_has_arrow_marker ... ok [INFO] [stdout] test svg_export::tests::export_svg_rectangle ... ok [INFO] [stdout] test document::tests::document_read_all_groups ... ok [INFO] [stdout] test svg_export::tests::export_svg_has_footer ... ok [INFO] [stdout] test svg_export::tests::export_svg_has_header ... ok [INFO] [stdout] test svg_export::tests::to_svg_coords_origin ... ok [INFO] [stdout] test svg_export::tests::to_svg_coords_negative ... ok [INFO] [stdout] test svg_export::tests::to_svg_coords_positive ... ok [INFO] [stdout] test ui::tests::truncate_name_unicode ... ok [INFO] [stdout] test ui::tests::truncate_name_empty_string ... ok [INFO] [stdout] test ui::tests::truncate_name_exact_length ... ok [INFO] [stdout] test ui::tests::truncate_name_long_string ... ok [INFO] [stdout] test undo::tests::undo_manager_new ... ok [INFO] [stdout] test ui::tests::truncate_name_very_small_max ... ok [INFO] [stdout] test undo::tests::undo_manager_default ... ok [INFO] [stdout] test undo::tests::undo_manager_save_state ... ok [INFO] [stdout] test svg_export::tests::export_svg_text ... ok [INFO] [stdout] test undo::tests::undo_manager_clear ... ok [INFO] [stdout] test undo::tests::undo_manager_save_clears_redo ... ok [INFO] [stdout] test svg_export::tests::export_svg_with_color ... ok [INFO] [stdout] test undo::tests::undo_manager_redo_empty ... ok [INFO] [stdout] test undo::tests::undo_manager_max_history ... ok [INFO] [stdout] test undo::tests::undo_manager_undo_redo_cycle ... ok [INFO] [stdout] test undo::tests::undo_manager_undo_empty ... ok [INFO] [stdout] test svg_export::tests::save_svg_creates_file ... ok [INFO] [stdout] test svg_export::tests::export_svg_with_label ... ok [INFO] [stdout] test shapes::tests::shape_kind_color ... ok [INFO] [stdout] test ui::tests::truncate_name_whitespace ... ok [INFO] [stdout] test ui::tests::truncate_name_short_string ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 199 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.65s [INFO] [stdout] [INFO] [stderr] Running tests/sync_integration.rs (/opt/rustwide/target/debug/build/irohscii/7da98504b9aa98bd/deps/sync_integration-7da98504b9aa98bd) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test proptest_tests::proptest_ticket_prefix_required ... ok [INFO] [stdout] test proptest_tests::proptest_ticket_format_invariants ... ok [INFO] [stdout] test test_ticket_encoding_roundtrip ... ok [INFO] [stdout] test test_late_joiner_receives_full_state ... ok [INFO] [stdout] test test_layer_presence_sync ... ok [INFO] [stdout] test test_graceful_shutdown_presence_removed ... ok [INFO] [stdout] test test_multiple_peers_same_layer ... ok [INFO] [stdout] test test_layer_id_serialization_roundtrip ... ok [INFO] [stdout] test test_concurrent_shape_modification ... ok [INFO] [stdout] test test_layer_switching_updates_presence ... ok [INFO] [stdout] test test_presence_sync ... ok [INFO] [stdout] test test_presence_without_layer ... ok [INFO] [stdout] test test_peer_disconnect_handling ... ok [INFO] [stdout] test test_concurrent_edits_converge ... ok [INFO] [stdout] test test_three_peer_mesh_sync ... ok [INFO] [stdout] test test_bidirectional_sync ... ok [INFO] [stdout] test test_invalid_ticket_rejected ... ok [INFO] [stdout] test test_rapid_layer_switching_presence ... ok [INFO] [stdout] test test_two_peer_document_sync ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 27.70s [INFO] [stdout] [INFO] [stderr] Doc-tests irohscii [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" "a47fb8676f5819cd36e82c6463ede57a35c72de0cafcb1defe1c5aab6cb75cdc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a47fb8676f5819cd36e82c6463ede57a35c72de0cafcb1defe1c5aab6cb75cdc", kill_on_drop: false }` [INFO] [stdout] a47fb8676f5819cd36e82c6463ede57a35c72de0cafcb1defe1c5aab6cb75cdc