[INFO] cloning repository https://github.com/hamaluik/worksheet
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hamaluik/worksheet" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhamaluik%2Fworksheet", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhamaluik%2Fworksheet'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 98ae5f9afe103740964dae14ed68e720633fa16e
[INFO] testing hamaluik/worksheet against 1.95.0 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhamaluik%2Fworksheet" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hamaluik/worksheet
[INFO] finished tweaking git repo https://github.com/hamaluik/worksheet
[INFO] tweaked toml for git repo https://github.com/hamaluik/worksheet written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hamaluik/worksheet on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hamaluik/worksheet 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded phf_generator v0.13.1
[INFO] [stderr]   Downloaded siphasher v1.0.2
[INFO] [stderr]   Downloaded signal-hook-mio v0.2.5
[INFO] [stderr]   Downloaded fastrand v2.4.0
[INFO] [stderr]   Downloaded windows-link v0.2.1
[INFO] [stderr]   Downloaded phf_macros v0.13.1
[INFO] [stderr]   Downloaded crossterm_winapi v0.9.1
[INFO] [stderr]   Downloaded indenter v0.3.4
[INFO] [stderr]   Downloaded parking_lot v0.12.5
[INFO] [stderr]   Downloaded convert_case v0.10.0
[INFO] [stderr]   Downloaded addr2line v0.25.1
[INFO] [stderr]   Downloaded litrs v1.0.0
[INFO] [stderr]   Downloaded derive_more-impl v2.1.1
[INFO] [stderr]   Downloaded backtrace v0.3.76
[INFO] [stderr]   Downloaded derive_more v2.1.1
[INFO] [stderr]   Downloaded rustc-demangle v0.1.27
[INFO] [stderr]   Downloaded parking_lot_core v0.9.12
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.23
[INFO] [stderr]   Downloaded unicode-segmentation v1.13.2
[INFO] [stderr]   Downloaded wasi v0.11.1+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded gimli v0.32.3
[INFO] [stderr]   Downloaded signal-hook v0.3.18
[INFO] [stderr]   Downloaded crossterm v0.29.0
[INFO] [stderr]   Downloaded semver v1.0.28
[INFO] [stderr]   Downloaded lock_api v0.4.14
[INFO] [stderr]   Downloaded redox_syscall v0.5.18
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.8
[INFO] [stderr]   Downloaded owo-colors v4.3.0
[INFO] [stderr]   Downloaded object v0.37.3
[INFO] [stderr]   Downloaded rustc_version v0.4.1
[INFO] [stderr]   Downloaded document-features v0.2.12
[INFO] [stderr]   Downloaded phf v0.13.1
[INFO] [stderr]   Downloaded phf_shared v0.13.1
[INFO] [stderr]   Downloaded libc v0.2.185
[INFO] [stderr]   Downloaded windows-sys v0.61.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9935c9a666a21e4fdd95e49ee16500d536c58f5edc387756b61cb6dd2b118fe3
[INFO] running `Command { std: "docker" "start" "-a" "9935c9a666a21e4fdd95e49ee16500d536c58f5edc387756b61cb6dd2b118fe3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9935c9a666a21e4fdd95e49ee16500d536c58f5edc387756b61cb6dd2b118fe3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9935c9a666a21e4fdd95e49ee16500d536c58f5edc387756b61cb6dd2b118fe3", kill_on_drop: false }`
[INFO] [stdout] 9935c9a666a21e4fdd95e49ee16500d536c58f5edc387756b61cb6dd2b118fe3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ec0f6375914028fc8859e586193a75951a316803761eb207fbed506da13ee7c
[INFO] running `Command { std: "docker" "start" "-a" "1ec0f6375914028fc8859e586193a75951a316803761eb207fbed506da13ee7c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling fastrand v2.4.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling rustc-demangle v0.1.27
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling worksheet v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/formula/functions/math.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::Cell;
[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 imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/formula/functions/math.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NAMES` is never used
[INFO] [stdout]  --> src/formula/functions/math.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const NAMES: &[&str] = &[
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arg_count_range` is never used
[INFO] [stdout]   --> src/formula/functions/math.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn arg_count_range(name: &str, args: &[Value], min: usize, max: usize) -> Result<(), FormulaError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arg_count_min` is never used
[INFO] [stdout]   --> src/formula/functions/math.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn arg_count_min(name: &str, args: &[Value], min: usize) -> Result<(), FormulaError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `text` is never used
[INFO] [stdout]    --> src/formula/functions/math.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn text<'a>(name: &str, args: &'a [Value], index: usize) -> Result<&'a str, FormulaError> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary` is never used
[INFO] [stdout]    --> src/formula/functions/math.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn binary(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NAMES` is never used
[INFO] [stdout]  --> src/formula/functions/stats.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const NAMES: &[&str] = &["max", "min"];
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peek_next`, `match_number`, and `match_string` are never used
[INFO] [stdout]   --> src/formula/parser.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Parser {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn peek_next(&self) -> Option<&Token> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn match_number(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn match_string(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/tui/render/cells.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Stdout, Write};
[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 variable: `model`
[INFO] [stdout]  --> src/editor/mode/command/mod.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/editor/mode/command/mod.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pos`
[INFO] [stdout]  --> src/editor/mode/navigate/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let start_pos = model.cursor;
[INFO] [stdout]   |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]  --> src/editor/mode/select/mod.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/editor/mode/select/mod.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Command` and `Select` are never constructed
[INFO] [stdout]   --> src/editor/mode/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum Mode {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout]  8 |     Navigate,
[INFO] [stdout]  9 |     Command,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     Edit,
[INFO] [stdout] 11 |     Select,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.46s
[INFO] running `Command { std: "docker" "inspect" "1ec0f6375914028fc8859e586193a75951a316803761eb207fbed506da13ee7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ec0f6375914028fc8859e586193a75951a316803761eb207fbed506da13ee7c", kill_on_drop: false }`
[INFO] [stdout] 1ec0f6375914028fc8859e586193a75951a316803761eb207fbed506da13ee7c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 613ed556aff4c5d3db88516fb05857cd2844ea20359ed327ffe1d63237e1a5d4
[INFO] running `Command { std: "docker" "start" "-a" "613ed556aff4c5d3db88516fb05857cd2844ea20359ed327ffe1d63237e1a5d4", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/formula/functions/math.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::Cell;
[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 imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/formula/functions/math.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NAMES` is never used
[INFO] [stdout]  --> src/formula/functions/math.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const NAMES: &[&str] = &[
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arg_count_range` is never used
[INFO] [stdout]   --> src/formula/functions/math.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn arg_count_range(name: &str, args: &[Value], min: usize, max: usize) -> Result<(), FormulaError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arg_count_min` is never used
[INFO] [stdout]   --> src/formula/functions/math.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn arg_count_min(name: &str, args: &[Value], min: usize) -> Result<(), FormulaError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `text` is never used
[INFO] [stdout]    --> src/formula/functions/math.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn text<'a>(name: &str, args: &'a [Value], index: usize) -> Result<&'a str, FormulaError> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary` is never used
[INFO] [stdout]    --> src/formula/functions/math.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn binary(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NAMES` is never used
[INFO] [stdout]  --> src/formula/functions/stats.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const NAMES: &[&str] = &["max", "min"];
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peek_next`, `match_number`, and `match_string` are never used
[INFO] [stdout]   --> src/formula/parser.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Parser {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn peek_next(&self) -> Option<&Token> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn match_number(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn match_string(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling worksheet v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/tui/render/cells.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Stdout, Write};
[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 variable: `model`
[INFO] [stdout]  --> src/editor/mode/command/mod.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/editor/mode/command/mod.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pos`
[INFO] [stdout]  --> src/editor/mode/navigate/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let start_pos = model.cursor;
[INFO] [stdout]   |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]  --> src/editor/mode/select/mod.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/editor/mode/select/mod.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Command` and `Select` are never constructed
[INFO] [stdout]   --> src/editor/mode/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum Mode {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout]  8 |     Navigate,
[INFO] [stdout]  9 |     Command,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     Edit,
[INFO] [stdout] 11 |     Select,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/formula/functions/math.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::Cell;
[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 imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/formula/functions/math.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/tui/render/cells.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Stdout, Write};
[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 variable: `model`
[INFO] [stdout]  --> src/editor/mode/command/mod.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/editor/mode/command/mod.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pos`
[INFO] [stdout]  --> src/editor/mode/navigate/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let start_pos = model.cursor;
[INFO] [stdout]   |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]  --> src/editor/mode/select/mod.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/editor/mode/select/mod.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stdout]   |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Command` and `Select` are never constructed
[INFO] [stdout]   --> src/editor/mode/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum Mode {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout]  8 |     Navigate,
[INFO] [stdout]  9 |     Command,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     Edit,
[INFO] [stdout] 11 |     Select,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arg_count_range` is never used
[INFO] [stdout]   --> src/formula/functions/math.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn arg_count_range(name: &str, args: &[Value], min: usize, max: usize) -> Result<(), FormulaError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arg_count_min` is never used
[INFO] [stdout]   --> src/formula/functions/math.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn arg_count_min(name: &str, args: &[Value], min: usize) -> Result<(), FormulaError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `text` is never used
[INFO] [stdout]    --> src/formula/functions/math.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn text<'a>(name: &str, args: &'a [Value], index: usize) -> Result<&'a str, FormulaError> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary` is never used
[INFO] [stdout]    --> src/formula/functions/math.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn binary(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peek_next`, `match_number`, and `match_string` are never used
[INFO] [stdout]   --> src/formula/parser.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Parser {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn peek_next(&self) -> Option<&Token> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn match_number(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn match_string(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.18s
[INFO] running `Command { std: "docker" "inspect" "613ed556aff4c5d3db88516fb05857cd2844ea20359ed327ffe1d63237e1a5d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "613ed556aff4c5d3db88516fb05857cd2844ea20359ed327ffe1d63237e1a5d4", kill_on_drop: false }`
[INFO] [stdout] 613ed556aff4c5d3db88516fb05857cd2844ea20359ed327ffe1d63237e1a5d4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 425b56e953af648d86bf715fe7ff217b9c0e28f4b6d570eaf12b2f029b57c004
[INFO] running `Command { std: "docker" "start" "-a" "425b56e953af648d86bf715fe7ff217b9c0e28f4b6d570eaf12b2f029b57c004", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::cell::Cell`
[INFO] [stderr]  --> src/formula/functions/math.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::cell::Cell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stderr]  --> src/formula/functions/math.rs:3:17
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stderr]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NAMES` is never used
[INFO] [stderr]  --> src/formula/functions/math.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub const NAMES: &[&str] = &[
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `arg_count_range` is never used
[INFO] [stderr]   --> src/formula/functions/math.rs:75:4
[INFO] [stderr]    |
[INFO] [stderr] 75 | fn arg_count_range(name: &str, args: &[Value], min: usize, max: usize) -> Result<(), FormulaError> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `arg_count_min` is never used
[INFO] [stderr]   --> src/formula/functions/math.rs:86:4
[INFO] [stderr]    |
[INFO] [stderr] 86 | fn arg_count_min(name: &str, args: &[Value], min: usize) -> Result<(), FormulaError> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `text` is never used
[INFO] [stderr]    --> src/formula/functions/math.rs:109:4
[INFO] [stderr]     |
[INFO] [stderr] 109 | fn text<'a>(name: &str, args: &'a [Value], index: usize) -> Result<&'a str, FormulaError> {
[INFO] [stderr]     |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `binary` is never used
[INFO] [stderr]    --> src/formula/functions/math.rs:126:4
[INFO] [stderr]     |
[INFO] [stderr] 126 | fn binary(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NAMES` is never used
[INFO] [stderr]  --> src/formula/functions/stats.rs:3:11
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub const NAMES: &[&str] = &["max", "min"];
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `peek_next`, `match_number`, and `match_string` are never used
[INFO] [stderr]   --> src/formula/parser.rs:55:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl Parser {
[INFO] [stderr]    | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 55 |     fn peek_next(&self) -> Option<&Token> {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 |     fn match_number(&mut self) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 97 |     fn match_string(&mut self) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `arg_count_range` is never used
[INFO] [stderr]   --> src/formula/functions/math.rs:75:4
[INFO] [stderr]    |
[INFO] [stderr] 75 | fn arg_count_range(name: &str, args: &[Value], min: usize, max: usize) -> Result<(), FormulaError> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `worksheet` (lib) generated 9 warnings (run `cargo fix --lib -p worksheet` to apply 2 suggestions)
[INFO] [stderr] warning: `worksheet` (lib test) generated 7 warnings (6 duplicates)
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]  --> src/tui/render/cells.rs:5:23
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::{Stdout, Write};
[INFO] [stderr]   |                       ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model`
[INFO] [stderr]  --> src/editor/mode/command/mod.rs:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stderr]   |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]  --> src/editor/mode/command/mod.rs:4:29
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stderr]   |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start_pos`
[INFO] [stderr]  --> src/editor/mode/navigate/mod.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 |     let start_pos = model.cursor;
[INFO] [stderr]   |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model`
[INFO] [stderr]  --> src/editor/mode/select/mod.rs:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stderr]   |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]  --> src/editor/mode/select/mod.rs:4:29
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn update(model: Model, key: KeyEvent) -> (Model, Option<Command>) {
[INFO] [stderr]   |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Command` and `Select` are never constructed
[INFO] [stderr]   --> src/editor/mode/mod.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub enum Mode {
[INFO] [stderr]    |          ---- variants in this enum
[INFO] [stderr]  8 |     Navigate,
[INFO] [stderr]  9 |     Command,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 10 |     Edit,
[INFO] [stderr] 11 |     Select,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Mode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `worksheet` (bin "worksheet") generated 7 warnings (run `cargo fix --bin "worksheet" -p worksheet` to apply 5 suggestions)
[INFO] [stderr] warning: `worksheet` (bin "worksheet" test) generated 7 warnings (7 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/worksheet-17de09d9cbaca218)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test formula::functions::tests::all_declared_functions_are_wired ... ok
[INFO] [stdout] test formula::interpreter::tests::test_interpret_binary_operation ... ok
[INFO] [stdout] test formula::interpreter::tests::test_interpret_function_call ... ok
[INFO] [stdout] test formula::interpreter::tests::test_interpret_cell_range ... ok
[INFO] [stdout] test formula::interpreter::tests::test_interpret_grouping ... ok
[INFO] [stdout] test formula::interpreter::tests::test_interpret_invalid_cell_reference ... ok
[INFO] [stdout] test formula::interpreter::tests::test_interpret_cell_reference ... ok
[INFO] [stdout] test formula::interpreter::tests::test_compound_expression ... ok
[INFO] [stdout] test formula::interpreter::tests::test_interpret_invalid_operation ... ok
[INFO] [stdout] test formula::interpreter::tests::test_interpret_unary_operation ... ok
[INFO] [stdout] test formula::interpreter::tests::test_interpret_literal ... ok
[INFO] [stdout] test formula::parser::tests::can_parse_cell_ranges ... ok
[INFO] [stdout] test formula::parser::tests::can_parse_cell_references ... ok
[INFO] [stdout] test formula::parser::tests::can_parse_function_calls ... ok
[INFO] [stdout] test formula::interpreter::tests::test_interpret_uncomputed_formula ... ok
[INFO] [stdout] test formula::parser::tests::can_parse_nested_function_calls ... ok
[INFO] [stdout] test formula::tokeniser::tests::can_tokenise_string_literals ... ok
[INFO] [stdout] test kernel::cell_range::tests::cell_range_can_iterate_properly ... ok
[INFO] [stdout] test kernel::cell_range::tests::cell_range_display ... ok
[INFO] [stdout] test kernel::cell_address::tests::can_parse_cell_addresses ... ok
[INFO] [stdout] test kernel::cell_range::tests::cell_range_width_and_height ... ok
[INFO] [stdout] test sheet::cell::tests::can_map_raw_input_to_cell_type ... ok
[INFO] [stdout] test sheet::cell::tests::can_display_cells ... ok
[INFO] [stdout] test sheet::sheet::tests::can_access_cells ... ok
[INFO] [stdout] test formula::tokeniser::tests::can_tokenise_simple_formula ... ok
[INFO] [stdout] test formula::parser::tests::test_parser ... ok
[INFO] [stdout] test formula::tokeniser::tests::can_tokenise_comparison_operators ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/worksheet-3e67cd7d82ea06b8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sheet_computation.rs (/opt/rustwide/target/debug/deps/sheet_computation-c09dc8e5529c3566)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test built_in_functions_are_reachable_from_the_sheet ... ok
[INFO] [stdout] test editing_a_numeric_cell_updates_a_referencing_formula ... ok
[INFO] [stdout] test formula_errors_are_isolated_to_the_failing_cell ... ok
[INFO] [stderr]    Doc-tests worksheet
[INFO] [stdout] test chained_formulas_propagate_through_a_single_edit ... ok
[INFO] [stdout] test range_aggregations_recompute_when_any_cell_in_the_range_changes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "425b56e953af648d86bf715fe7ff217b9c0e28f4b6d570eaf12b2f029b57c004", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "425b56e953af648d86bf715fe7ff217b9c0e28f4b6d570eaf12b2f029b57c004", kill_on_drop: false }`
[INFO] [stdout] 425b56e953af648d86bf715fe7ff217b9c0e28f4b6d570eaf12b2f029b57c004
