[INFO] cloning repository https://github.com/mindbeam/editor-experiment [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mindbeam/editor-experiment" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmindbeam%2Feditor-experiment", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmindbeam%2Feditor-experiment'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e9c448693dd3f8310c5035d6dbb37af4076c9df5 [INFO] testing mindbeam/editor-experiment against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_in_2025-retry-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmindbeam%2Feditor-experiment" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mindbeam/editor-experiment [INFO] finished tweaking git repo https://github.com/mindbeam/editor-experiment [INFO] tweaked toml for git repo https://github.com/mindbeam/editor-experiment written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mindbeam/editor-experiment on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mindbeam/editor-experiment 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.crate-type [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tracing-appender v0.1.1 [INFO] [stderr] Downloaded structopt-derive v0.4.9 [INFO] [stderr] Downloaded ahash v0.4.4 [INFO] [stderr] Downloaded structopt v0.3.16 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e83caac8e1d5b62e95686149bb9e37c3116e27d8a75ba50ae172448a2e8dc0b1 [INFO] running `Command { std: "docker" "start" "-a" "e83caac8e1d5b62e95686149bb9e37c3116e27d8a75ba50ae172448a2e8dc0b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e83caac8e1d5b62e95686149bb9e37c3116e27d8a75ba50ae172448a2e8dc0b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e83caac8e1d5b62e95686149bb9e37c3116e27d8a75ba50ae172448a2e8dc0b1", kill_on_drop: false }` [INFO] [stdout] e83caac8e1d5b62e95686149bb9e37c3116e27d8a75ba50ae172448a2e8dc0b1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 847470a64f5162fcbf90320073ea42adc3975bb38c83280efcf9b9f6d6d0da2d [INFO] running `Command { std: "docker" "start" "-a" "847470a64f5162fcbf90320073ea42adc3975bb38c83280efcf9b9f6d6d0da2d", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.crate-type [INFO] [stderr] Compiling proc-macro2 v1.0.19 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling syn v1.0.38 [INFO] [stderr] Compiling libc v0.2.74 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling serde_derive v1.0.115 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling strsim v0.9.3 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling serde v1.0.115 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling proc-macro-hack v0.5.18 [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling time v0.1.43 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Compiling num-rational v0.3.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling tracing-core v0.1.14 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling regex-syntax v0.6.18 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling chrono v0.4.15 [INFO] [stderr] Compiling const-random-macro v0.1.8 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling arc-swap v0.4.7 [INFO] [stderr] Compiling serde_json v1.0.57 [INFO] [stderr] Compiling const-random v0.1.8 [INFO] [stderr] Compiling signal-hook-registry v1.2.1 [INFO] [stderr] Compiling crossbeam-channel v0.4.3 [INFO] [stderr] Compiling num-complex v0.3.0 [INFO] [stderr] Compiling regex-automata v0.1.9 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling unicode-segmentation v1.6.0 [INFO] [stderr] Compiling array-macro v1.0.5 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Compiling num v0.3.0 [INFO] [stderr] Compiling matchers v0.0.1 [INFO] [stderr] Compiling owning_ref v0.4.1 [INFO] [stderr] Compiling regex v1.3.9 [INFO] [stderr] Compiling signal-hook v0.1.16 [INFO] [stderr] Compiling ahash v0.4.4 [INFO] [stderr] Compiling tracing-log v0.1.1 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling sharded-slab v0.0.9 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling numtoa v0.1.0 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling smallvec v1.4.2 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling xi-unicode v0.2.1 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling termion v1.5.5 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling ahash v0.3.8 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling cpuid-bool v0.1.2 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling hex v0.4.2 [INFO] [stderr] Compiling sha2 v0.9.1 [INFO] [stderr] Compiling darling_core v0.10.2 [INFO] [stderr] Compiling enum-map-derive v0.4.3 [INFO] [stderr] Compiling structopt-derive v0.4.9 [INFO] [stderr] Compiling tracing-attributes v0.1.10 [INFO] [stderr] Compiling enum-map v0.6.2 [INFO] [stderr] Compiling tracing v0.1.19 [INFO] [stderr] Compiling darling_macro v0.10.2 [INFO] [stderr] Compiling structopt v0.3.16 [INFO] [stderr] Compiling darling v0.10.2 [INFO] [stderr] Compiling enumset_derive v0.5.0 [INFO] [stderr] Compiling enumset v1.0.1 [INFO] [stderr] Compiling cursive_core v0.1.1 [INFO] [stderr] Compiling cursive v0.15.0 [INFO] [stderr] Compiling tracing-serde v0.1.1 [INFO] [stderr] Compiling tracing-subscriber v0.2.11 [INFO] [stderr] Compiling tracing-appender v0.1.1 [INFO] [stderr] Compiling design-study-texteditor v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `document::Document` [INFO] [stdout] --> src/node.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{cursor::Cursor, document::Document, util::mutstr::MutStr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RangeFrom` [INFO] [stdout] --> src/util/mutstr.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::{RangeBounds, RangeFrom}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `children` [INFO] [stdout] --> src/cursor.rs:89:63 [INFO] [stdout] | [INFO] [stdout] 89 | self.depth_first_scan(|_node_id, node, render_offset, children| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_children` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_id` [INFO] [stdout] --> src/document.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | mut node_id: NodeId, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `positions` [INFO] [stdout] --> src/document.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | mut positions: usize, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `try_avoid_zero` [INFO] [stdout] --> src/document.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | try_avoid_zero: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_try_avoid_zero` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/document.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | mut node_id: NodeId, [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/document.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | mut positions: usize, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/node.rs:119:30 [INFO] [stdout] | [INFO] [stdout] 119 | Action::Insert { offset, body } => body.find(c), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `offset: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cursor.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn doc(&self) -> std::sync::MutexGuard { [INFO] [stdout] | ^^^^^ ------------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn doc(&self) -> std::sync::MutexGuard<'_, DocumentInner> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/document.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn inner(&self) -> std::sync::MutexGuard { [INFO] [stdout] | ^^^^^ ------------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn inner(&self) -> std::sync::MutexGuard<'_, DocumentInner> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event` and `Key` [INFO] [stdout] --> src/bin/editor/editor_window.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use cursive::event::{Event, Key}; [INFO] [stdout] | ^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Dialog`, `EditView`, `OnEventView`, and `TextArea` [INFO] [stdout] --> src/bin/editor/editor_window.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use cursive::views::{Dialog, EditView, OnEventView, TextArea}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cursive::Cursive` [INFO] [stdout] --> src/bin/editor/editor_window.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use cursive::Cursive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `available` [INFO] [stdout] --> src/bin/editor/editor.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | let mut available = size.x; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/editor/editor.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut available = size.x; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `width` [INFO] [stdout] --> src/bin/editor/util/row.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let width = usize::max(width, 1); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/bin/editor/util/row.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn make_rows(cursor: Cursor, width: usize) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_node_id` [INFO] [stdout] --> src/bin/editor/util/row.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | let mut last_node_id = self.cursor.node_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/bin/editor/util/row.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | let mut buf = String::new(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/editor/util/row.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut last_node_id = self.cursor.node_id.clone(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/editor/util/row.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | let mut buf = String::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rows` is never read [INFO] [stdout] --> src/bin/editor/editor.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Editor { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | rows: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_rows` is never used [INFO] [stdout] --> src/bin/editor/util/row.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn make_rows(cursor: Cursor, width: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RowIterator` is never constructed [INFO] [stdout] --> src/bin/editor/util/row.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | struct RowIterator { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/bin/editor/util/row.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl RowIterator { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 36 | pub fn new(cursor: Cursor, max_width: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.56s [INFO] running `Command { std: "docker" "inspect" "847470a64f5162fcbf90320073ea42adc3975bb38c83280efcf9b9f6d6d0da2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "847470a64f5162fcbf90320073ea42adc3975bb38c83280efcf9b9f6d6d0da2d", kill_on_drop: false }` [INFO] [stdout] 847470a64f5162fcbf90320073ea42adc3975bb38c83280efcf9b9f6d6d0da2d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 80afc62ade154c862d4c07dc5c270134642ea61827ea4652811129d7b784d2df [INFO] running `Command { std: "docker" "start" "-a" "80afc62ade154c862d4c07dc5c270134642ea61827ea4652811129d7b784d2df", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.crate-type [INFO] [stderr] Compiling design-study-texteditor v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `document::Document` [INFO] [stdout] --> src/node.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{cursor::Cursor, document::Document, util::mutstr::MutStr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RangeFrom` [INFO] [stdout] --> src/util/mutstr.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::{RangeBounds, RangeFrom}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `children` [INFO] [stdout] --> src/cursor.rs:89:63 [INFO] [stdout] | [INFO] [stdout] 89 | self.depth_first_scan(|_node_id, node, render_offset, children| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_children` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_id` [INFO] [stdout] --> src/document.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | mut node_id: NodeId, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `positions` [INFO] [stdout] --> src/document.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | mut positions: usize, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `try_avoid_zero` [INFO] [stdout] --> src/document.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | try_avoid_zero: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_try_avoid_zero` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/document.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | mut node_id: NodeId, [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/document.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | mut positions: usize, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/node.rs:119:30 [INFO] [stdout] | [INFO] [stdout] 119 | Action::Insert { offset, body } => body.find(c), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `offset: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cursor.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn doc(&self) -> std::sync::MutexGuard { [INFO] [stdout] | ^^^^^ ------------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn doc(&self) -> std::sync::MutexGuard<'_, DocumentInner> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/document.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn inner(&self) -> std::sync::MutexGuard { [INFO] [stdout] | ^^^^^ ------------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn inner(&self) -> std::sync::MutexGuard<'_, DocumentInner> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event` and `Key` [INFO] [stdout] --> src/bin/editor/editor_window.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use cursive::event::{Event, Key}; [INFO] [stdout] | ^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Dialog`, `EditView`, `OnEventView`, and `TextArea` [INFO] [stdout] --> src/bin/editor/editor_window.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use cursive::views::{Dialog, EditView, OnEventView, TextArea}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cursive::Cursive` [INFO] [stdout] --> src/bin/editor/editor_window.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use cursive::Cursive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `available` [INFO] [stdout] --> src/bin/editor/editor.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | let mut available = size.x; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/editor/editor.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut available = size.x; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `width` [INFO] [stdout] --> src/bin/editor/util/row.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let width = usize::max(width, 1); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/bin/editor/util/row.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn make_rows(cursor: Cursor, width: usize) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_node_id` [INFO] [stdout] --> src/bin/editor/util/row.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | let mut last_node_id = self.cursor.node_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/bin/editor/util/row.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | let mut buf = String::new(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/editor/util/row.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut last_node_id = self.cursor.node_id.clone(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/editor/util/row.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | let mut buf = String::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rows` is never read [INFO] [stdout] --> src/bin/editor/editor.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Editor { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | rows: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_rows` is never used [INFO] [stdout] --> src/bin/editor/util/row.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn make_rows(cursor: Cursor, width: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RowIterator` is never constructed [INFO] [stdout] --> src/bin/editor/util/row.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | struct RowIterator { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/bin/editor/util/row.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl RowIterator { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 36 | pub fn new(cursor: Cursor, max_width: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event` and `Key` [INFO] [stdout] --> src/bin/editor/editor_window.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use cursive::event::{Event, Key}; [INFO] [stdout] | ^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Dialog`, `EditView`, `OnEventView`, and `TextArea` [INFO] [stdout] --> src/bin/editor/editor_window.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use cursive::views::{Dialog, EditView, OnEventView, TextArea}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cursive::Cursive` [INFO] [stdout] --> src/bin/editor/editor_window.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use cursive::Cursive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> tests/basic.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `available` [INFO] [stdout] --> src/bin/editor/editor.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | let mut available = size.x; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/editor/editor.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut available = size.x; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `width` [INFO] [stdout] --> src/bin/editor/util/row.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let width = usize::max(width, 1); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/bin/editor/util/row.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn make_rows(cursor: Cursor, width: usize) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_node_id` [INFO] [stdout] --> src/bin/editor/util/row.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | let mut last_node_id = self.cursor.node_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/bin/editor/util/row.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | let mut buf = String::new(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/editor/util/row.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut last_node_id = self.cursor.node_id.clone(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/editor/util/row.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | let mut buf = String::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `document::Document` [INFO] [stdout] --> src/node.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{cursor::Cursor, document::Document, util::mutstr::MutStr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RangeFrom` [INFO] [stdout] --> src/util/mutstr.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::{RangeBounds, RangeFrom}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rows` is never read [INFO] [stdout] --> src/bin/editor/editor.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Editor { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | rows: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_rows` is never used [INFO] [stdout] --> src/bin/editor/util/row.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn make_rows(cursor: Cursor, width: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RowIterator` is never constructed [INFO] [stdout] --> src/bin/editor/util/row.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | struct RowIterator { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/bin/editor/util/row.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl RowIterator { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 36 | pub fn new(cursor: Cursor, max_width: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `children` [INFO] [stdout] --> src/cursor.rs:89:63 [INFO] [stdout] | [INFO] [stdout] 89 | self.depth_first_scan(|_node_id, node, render_offset, children| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_children` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/cursor.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | let mut count = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_id` [INFO] [stdout] --> src/cursor.rs:258:34 [INFO] [stdout] | [INFO] [stdout] 258 | cursor.depth_first_scan(|node_id, node, render_offset, children| { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/cursor.rs:258:43 [INFO] [stdout] | [INFO] [stdout] 258 | cursor.depth_first_scan(|node_id, node, render_offset, children| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `render_offset` [INFO] [stdout] --> src/cursor.rs:258:49 [INFO] [stdout] | [INFO] [stdout] 258 | cursor.depth_first_scan(|node_id, node, render_offset, children| { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_render_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `children` [INFO] [stdout] --> src/cursor.rs:258:64 [INFO] [stdout] | [INFO] [stdout] 258 | cursor.depth_first_scan(|node_id, node, render_offset, children| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_children` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cursor.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | let mut count = 0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_id` [INFO] [stdout] --> src/document.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | mut node_id: NodeId, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `positions` [INFO] [stdout] --> src/document.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | mut positions: usize, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `try_avoid_zero` [INFO] [stdout] --> src/document.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | try_avoid_zero: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_try_avoid_zero` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/document.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | mut node_id: NodeId, [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/document.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | mut positions: usize, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/node.rs:119:30 [INFO] [stdout] | [INFO] [stdout] 119 | Action::Insert { offset, body } => body.find(c), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `offset: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `incremental_scan` is never used [INFO] [stdout] --> src/cursor.rs:240:8 [INFO] [stdout] | [INFO] [stdout] 240 | fn incremental_scan() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cursor.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn doc(&self) -> std::sync::MutexGuard { [INFO] [stdout] | ^^^^^ ------------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn doc(&self) -> std::sync::MutexGuard<'_, DocumentInner> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/document.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn inner(&self) -> std::sync::MutexGuard { [INFO] [stdout] | ^^^^^ ------------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn inner(&self) -> std::sync::MutexGuard<'_, DocumentInner> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.64s [INFO] running `Command { std: "docker" "inspect" "80afc62ade154c862d4c07dc5c270134642ea61827ea4652811129d7b784d2df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80afc62ade154c862d4c07dc5c270134642ea61827ea4652811129d7b784d2df", kill_on_drop: false }` [INFO] [stdout] 80afc62ade154c862d4c07dc5c270134642ea61827ea4652811129d7b784d2df [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 31eb876da49ab2e156b9043b4d79442ad29146313b3d38f4ae545d29f1cdf02d [INFO] running `Command { std: "docker" "start" "-a" "31eb876da49ab2e156b9043b4d79442ad29146313b3d38f4ae545d29f1cdf02d", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.crate-type [INFO] [stderr] warning: unused import: `document::Document` [INFO] [stderr] --> src/node.rs:1:29 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::{cursor::Cursor, document::Document, util::mutstr::MutStr}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `RangeFrom` [INFO] [stderr] --> src/util/mutstr.rs:1:29 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::{RangeBounds, RangeFrom}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `children` [INFO] [stderr] --> src/cursor.rs:89:63 [INFO] [stderr] | [INFO] [stderr] 89 | self.depth_first_scan(|_node_id, node, render_offset, children| { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_children` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `node_id` [INFO] [stderr] --> src/document.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | mut node_id: NodeId, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `positions` [INFO] [stderr] --> src/document.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | mut positions: usize, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `try_avoid_zero` [INFO] [stderr] --> src/document.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | try_avoid_zero: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_try_avoid_zero` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/document.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | mut node_id: NodeId, [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/document.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | mut positions: usize, [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/node.rs:119:30 [INFO] [stderr] | [INFO] [stderr] 119 | Action::Insert { offset, body } => body.find(c), [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `offset: _` [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/cursor.rs:27:16 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn doc(&self) -> std::sync::MutexGuard { [INFO] [stderr] | ^^^^^ ------------------------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 27 | pub fn doc(&self) -> std::sync::MutexGuard<'_, DocumentInner> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/document.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn inner(&self) -> std::sync::MutexGuard { [INFO] [stderr] | ^^^^^ ------------------------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 27 | pub fn inner(&self) -> std::sync::MutexGuard<'_, DocumentInner> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `count` [INFO] [stderr] --> src/cursor.rs:256:17 [INFO] [stderr] | [INFO] [stderr] 256 | let mut count = 0; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `node_id` [INFO] [stderr] --> src/cursor.rs:258:34 [INFO] [stderr] | [INFO] [stderr] 258 | cursor.depth_first_scan(|node_id, node, render_offset, children| { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `node` [INFO] [stderr] --> src/cursor.rs:258:43 [INFO] [stderr] | [INFO] [stderr] 258 | cursor.depth_first_scan(|node_id, node, render_offset, children| { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `render_offset` [INFO] [stderr] --> src/cursor.rs:258:49 [INFO] [stderr] | [INFO] [stderr] 258 | cursor.depth_first_scan(|node_id, node, render_offset, children| { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_render_offset` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `children` [INFO] [stderr] --> src/cursor.rs:258:64 [INFO] [stderr] | [INFO] [stderr] 258 | cursor.depth_first_scan(|node_id, node, render_offset, children| { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_children` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cursor.rs:256:13 [INFO] [stderr] | [INFO] [stderr] 256 | let mut count = 0; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/document.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | mut node_id: NodeId, [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function `incremental_scan` is never used [INFO] [stderr] --> src/cursor.rs:240:8 [INFO] [stderr] | [INFO] [stderr] 240 | fn incremental_scan() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `design-study-texteditor` (lib) generated 11 warnings (run `cargo fix --lib -p design-study-texteditor` to apply 6 suggestions) [INFO] [stderr] warning: `design-study-texteditor` (lib test) generated 18 warnings (10 duplicates) (run `cargo fix --lib -p design-study-texteditor --tests` to apply 2 suggestions) [INFO] [stderr] warning: unused imports: `Event` and `Key` [INFO] [stderr] --> src/bin/editor/editor_window.rs:1:22 [INFO] [stderr] | [INFO] [stderr] 1 | use cursive::event::{Event, Key}; [INFO] [stderr] | ^^^^^ ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Dialog`, `EditView`, `OnEventView`, and `TextArea` [INFO] [stderr] --> src/bin/editor/editor_window.rs:3:22 [INFO] [stderr] | [INFO] [stderr] 3 | use cursive::views::{Dialog, EditView, OnEventView, TextArea}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cursive::Cursive` [INFO] [stderr] --> src/bin/editor/editor_window.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use cursive::Cursive; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `available` [INFO] [stderr] --> src/bin/editor/editor.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | let mut available = size.x; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bin/editor/editor.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | let mut available = size.x; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `width` [INFO] [stderr] --> src/bin/editor/util/row.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | let width = usize::max(width, 1); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_width` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cursor` [INFO] [stderr] --> src/bin/editor/util/row.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn make_rows(cursor: Cursor, width: usize) -> Vec { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last_node_id` [INFO] [stderr] --> src/bin/editor/util/row.rs:50:17 [INFO] [stderr] | [INFO] [stderr] 50 | let mut last_node_id = self.cursor.node_id.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_node_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `buf` [INFO] [stderr] --> src/bin/editor/util/row.rs:51:17 [INFO] [stderr] | [INFO] [stderr] 51 | let mut buf = String::new(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bin/editor/util/row.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | let mut last_node_id = self.cursor.node_id.clone(); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bin/editor/util/row.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | let mut buf = String::new(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field `rows` is never read [INFO] [stderr] --> src/bin/editor/editor.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Editor { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 14 | rows: Vec, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `make_rows` is never used [INFO] [stderr] --> src/bin/editor/util/row.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn make_rows(cursor: Cursor, width: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `RowIterator` is never constructed [INFO] [stderr] --> src/bin/editor/util/row.rs:30:8 [INFO] [stderr] | [INFO] [stderr] 30 | struct RowIterator { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/bin/editor/util/row.rs:36:12 [INFO] [stderr] | [INFO] [stderr] 35 | impl RowIterator { [INFO] [stderr] | ---------------- associated function in this implementation [INFO] [stderr] 36 | pub fn new(cursor: Cursor, max_width: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc` and `Mutex` [INFO] [stderr] --> tests/basic.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `design-study-texteditor` (bin "editor" test) generated 15 warnings (run `cargo fix --bin "editor" --tests` to apply 6 suggestions) [INFO] [stderr] warning: `design-study-texteditor` (bin "editor") generated 15 warnings (15 duplicates) [INFO] [stderr] warning: `design-study-texteditor` (test "basic") generated 1 warning (run `cargo fix --test "basic"` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/design_study_texteditor-ab5fd17e77e3846e) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test test::multiple_deletes ... ok [INFO] [stdout] test test::basic_deletion_and_regional_projection ... ok [INFO] [stdout] test cursor::test::limit_2 ... ok [INFO] [stdout] test util::mutstr::test::slice ... ok [INFO] [stdout] test node::test::test1 ... ok [INFO] [stdout] test util::mutstr::test::bad_insert - should panic ... ok [INFO] [stdout] test util::mutstr::test::bad_remove - should panic ... ok [INFO] [stdout] test cursor::test::limit ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- cursor::test::limit stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'cursor::test::limit' panicked at src/util/logging.rs:13:14: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x7f02ade7afc2 - std::backtrace_rs::backtrace::libunwind::trace::h559918daaaf51ab7 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x7f02ade7afc2 - std::backtrace_rs::backtrace::trace_unsynchronized::hb04fbcf80d07af8b [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x7f02ade7afc2 - std::sys::backtrace::_print_fmt::h7c0bbbbfac0065d4 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x7f02ade7afc2 - ::fmt::hb62c8ed31943daa5 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x7f02adeb63a3 - core::fmt::rt::Argument::fmt::he5eaa7dd607ed4c9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x7f02adeb63a3 - core::fmt::write::h375399f8cb90b45a [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/fmt/mod.rs:1460:25 [INFO] [stdout] 6: 0x7f02ade782f3 - std::io::default_write_fmt::hdc1b4dd565dd0099 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x7f02ade782f3 - std::io::Write::write_fmt::h29f6044e9bc43c23 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x7f02ade7ae12 - std::sys::backtrace::BacktraceLock::print::ha189c586374f916a [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x7f02ade7c59c - std::panicking::default_hook::{{closure}}::ha3a26c98ff210e12 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:300:27 [INFO] [stdout] 10: 0x7f02ade7c3f2 - std::panicking::default_hook::h8c8a86b4390ab794 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:324:9 [INFO] [stdout] 11: 0x7f02addde3f4 - as core::ops::function::Fn>::call::ha39ae63ed1e9a130 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1980:9 [INFO] [stdout] 12: 0x7f02addde3f4 - test::test_main_with_exit_callback::{{closure}}::h9df7c328ebe18c28 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x7f02ade7d003 - as core::ops::function::Fn>::call::h96b7201b552e9069 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1980:9 [INFO] [stdout] 14: 0x7f02ade7d003 - std::panicking::rust_panic_with_hook::hb3b66c2e80efa371 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:841:13 [INFO] [stdout] 15: 0x7f02ade7ccea - std::panicking::begin_panic_handler::{{closure}}::h9c68d0f839e62070 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:706:13 [INFO] [stdout] 16: 0x7f02ade7b4c9 - std::sys::backtrace::__rust_end_short_backtrace::h68d22ddde4a73ad6 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:168:18 [INFO] [stdout] 17: 0x7f02ade7c97d - __rustc[f4ffc7196a45a630]::rust_begin_unwind [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:697:5 [INFO] [stdout] 18: 0x7f02add7bed0 - core::panicking::panic_fmt::h8cdd4c81eb9069aa [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x7f02add7c336 - core::result::unwrap_failed::h8476ffaa6db8205b [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/result.rs:1761:5 [INFO] [stdout] 20: 0x7f02add8df43 - core::result::Result::unwrap::hafe8de865e27fff2 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/result.rs:1167:23 [INFO] [stdout] 21: 0x7f02add8df43 - design_study_texteditor::util::logging::init_logging::mkwriter::hc2d077e007e1e927 [INFO] [stdout] at /opt/rustwide/workdir/src/util/logging.rs:13:14 [INFO] [stdout] 22: 0x7f02add9326e - core::ops::function::Fn::call::h8d0f31badd1acbad [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:79:5 [INFO] [stdout] 23: 0x7f02add8d12a - ::make_writer::h113ef151c496c059 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-subscriber-0.2.11/src/fmt/writer.rs:53:9 [INFO] [stdout] 24: 0x7f02add92a25 - as tracing_subscriber::layer::Layer>::on_event::{{closure}}::h2b46944ab07f53f8 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-subscriber-0.2.11/src/fmt/fmt_layer.rs:707:51 [INFO] [stdout] 25: 0x7f02adda377d - std::thread::local::LocalKey::try_with::h8a4fce3e1fb1bf17 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/local.rs:315:12 [INFO] [stdout] 26: 0x7f02adda359e - std::thread::local::LocalKey::with::h2b7eb3a15cbf38b2 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/local.rs:279:20 [INFO] [stdout] 27: 0x7f02add9280d - as tracing_subscriber::layer::Layer>::on_event::h043f935d4b74bf8f [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-subscriber-0.2.11/src/fmt/fmt_layer.rs:690:13 [INFO] [stdout] 28: 0x7f02adda25a4 - as tracing_core::subscriber::Subscriber>::event::h1e48c0ad2203dcfb [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-subscriber-0.2.11/src/layer.rs:651:20 [INFO] [stdout] 29: 0x7f02adda2531 - as tracing_core::subscriber::Subscriber>::event::h0e6a7f41dbbd5ce6 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-subscriber-0.2.11/src/layer.rs:650:20 [INFO] [stdout] 30: 0x7f02add9ead3 - as tracing_core::subscriber::Subscriber>::event::h9851078b94fd744d [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-subscriber-0.2.11/src/fmt/mod.rs:327:20 [INFO] [stdout] 31: 0x7f02ade33142 - tracing_core::dispatcher::Dispatch::event::h57169e6509fe9b4e [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-core-0.1.14/src/dispatcher.rs:509:25 [INFO] [stdout] 32: 0x7f02ade331b1 - tracing_core::event::Event::dispatch::{{closure}}::h5e0f55b6039fb521 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-core-0.1.14/src/event.rs:36:21 [INFO] [stdout] 33: 0x7f02ade330db - tracing_core::dispatcher::get_default::{{closure}}::hc25c34369aac5e3c [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-core-0.1.14/src/dispatcher.rs:352:17 [INFO] [stdout] 34: 0x7f02ade33b4c - std::thread::local::LocalKey::try_with::h19b6286d8cc988b3 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/local.rs:315:12 [INFO] [stdout] 35: 0x7f02ade32cfe - tracing_core::dispatcher::get_default::hd5178ad27080f050 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-core-0.1.14/src/dispatcher.rs:340:10 [INFO] [stdout] 36: 0x7f02add8e559 - tracing_core::event::Event::dispatch::h08184864472ac5d6 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-core-0.1.14/src/event.rs:35:9 [INFO] [stdout] 37: 0x7f02add99063 - design_study_texteditor::node::Node::project::h87fc5b3ccf2170dc [INFO] [stdout] at /opt/rustwide/workdir/src/node.rs:126:17 [INFO] [stdout] 38: 0x7f02add9d855 - design_study_texteditor::cursor::Cursor::project_forward::{{closure}}::hcbdc2ae4ca99ac97 [INFO] [stdout] at /opt/rustwide/workdir/src/cursor.rs:95:28 [INFO] [stdout] 39: 0x7f02add9df2c - design_study_texteditor::cursor::Cursor::depth_first_scan::h4e82010ea1820083 [INFO] [stdout] at /opt/rustwide/workdir/src/cursor.rs:172:13 [INFO] [stdout] 40: 0x7f02add9d754 - design_study_texteditor::cursor::Cursor::project_forward::h378a6936c844a5ae [INFO] [stdout] at /opt/rustwide/workdir/src/cursor.rs:89:14 [INFO] [stdout] 41: 0x7f02add9da52 - design_study_texteditor::cursor::Cursor::rewind_and_project::h8d93d5d88fce6db1 [INFO] [stdout] at /opt/rustwide/workdir/src/cursor.rs:123:16 [INFO] [stdout] 42: 0x7f02add94fe0 - design_study_texteditor::cursor::test::limit::h9e31ca0025735943 [INFO] [stdout] at /opt/rustwide/workdir/src/cursor.rs:212:27 [INFO] [stdout] 43: 0x7f02add94e87 - design_study_texteditor::cursor::test::limit::{{closure}}::h860f42b059d32b59 [INFO] [stdout] at /opt/rustwide/workdir/src/cursor.rs:202:15 [INFO] [stdout] 44: 0x7f02add933b6 - core::ops::function::FnOnce::call_once::h95960ce123d80468 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 45: 0x7f02adde3aeb - core::ops::function::FnOnce::call_once::h9633dcf760ae81b2 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 46: 0x7f02adde3aeb - test::__rust_begin_short_backtrace::h12ad5e04c8d7b4a5 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:648:18 [INFO] [stdout] 47: 0x7f02adde2d5e - test::run_test_in_process::{{closure}}::he596b4fd3fa4893c [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:671:74 [INFO] [stdout] 48: 0x7f02adde2d5e - as core::ops::function::FnOnce<()>>::call_once::hc746bc3fa75190e0 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 49: 0x7f02adde2d5e - std::panicking::catch_unwind::do_call::hf4843906108d6299 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:589:40 [INFO] [stdout] 50: 0x7f02adde2d5e - std::panicking::catch_unwind::h849d4e8b03577bb9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:552:19 [INFO] [stdout] 51: 0x7f02adde2d5e - std::panic::catch_unwind::ha1f814c1dec025d2 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panic.rs:359:14 [INFO] [stdout] 52: 0x7f02adde2d5e - test::run_test_in_process::h542aad3fe61255e7 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:671:27 [INFO] [stdout] 53: 0x7f02adde2d5e - test::run_test::{{closure}}::h612788d75908cb63 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:592:43 [INFO] [stdout] 54: 0x7f02adda7be4 - test::run_test::{{closure}}::hbfeea3bcb7245123 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:622:41 [INFO] [stdout] 55: 0x7f02adda7be4 - std::sys::backtrace::__rust_begin_short_backtrace::h72542b83b4f87d5b [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:152:18 [INFO] [stdout] 56: 0x7f02addab3da - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hff26a7547ea762c9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 57: 0x7f02addab3da - as core::ops::function::FnOnce<()>>::call_once::hbee49bc759312884 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 58: 0x7f02addab3da - std::panicking::catch_unwind::do_call::h61de12ce5e04e28f [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:589:40 [INFO] [stdout] 59: 0x7f02addab3da - std::panicking::catch_unwind::h454dd49873d22e18 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:552:19 [INFO] [stdout] 60: 0x7f02addab3da - std::panic::catch_unwind::h5c15187324f8cebb [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panic.rs:359:14 [INFO] [stdout] 61: 0x7f02addab3da - std::thread::Builder::spawn_unchecked_::{{closure}}::hbc9d9c7427673d42 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 62: 0x7f02addab3da - core::ops::function::FnOnce::call_once{{vtable.shim}}::hefd458a129ddca13 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 63: 0x7f02ade7fa57 - as core::ops::function::FnOnce>::call_once::h2d6e2e526b02c3da [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1966:9 [INFO] [stdout] 64: 0x7f02ade7fa57 - as core::ops::function::FnOnce>::call_once::h1aefced482b33c72 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1966:9 [INFO] [stdout] 65: 0x7f02ade7fa57 - std::sys::pal::unix::thread::Thread::new::thread_start::h7c9c6951b48f721d [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/pal/unix/thread.rs:97:17 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] cursor::test::limit [INFO] [stdout] [INFO] [stdout] test result: FAILED. 7 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "31eb876da49ab2e156b9043b4d79442ad29146313b3d38f4ae545d29f1cdf02d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31eb876da49ab2e156b9043b4d79442ad29146313b3d38f4ae545d29f1cdf02d", kill_on_drop: false }` [INFO] [stdout] 31eb876da49ab2e156b9043b4d79442ad29146313b3d38f4ae545d29f1cdf02d