[INFO] cloning repository https://github.com/jdpolicano/excel [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jdpolicano/excel" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdpolicano%2Fexcel", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdpolicano%2Fexcel'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f9c381d93d94b0fb486acd53df68b6044665a356 [INFO] testing jdpolicano/excel against beta-2025-01-12 for beta-1.85-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdpolicano%2Fexcel" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jdpolicano/excel on toolchain beta-2025-01-12 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-01-12" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jdpolicano/excel [INFO] finished tweaking git repo https://github.com/jdpolicano/excel [INFO] tweaked toml for git repo https://github.com/jdpolicano/excel written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/jdpolicano/excel already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-01-12" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 346e2dadfb3e8c994734aae393ceb400b61f5d5882b082808abd1c6d2ee94870 [INFO] running `Command { std: "docker" "start" "-a" "346e2dadfb3e8c994734aae393ceb400b61f5d5882b082808abd1c6d2ee94870", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "346e2dadfb3e8c994734aae393ceb400b61f5d5882b082808abd1c6d2ee94870", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "346e2dadfb3e8c994734aae393ceb400b61f5d5882b082808abd1c6d2ee94870", kill_on_drop: false }` [INFO] [stdout] 346e2dadfb3e8c994734aae393ceb400b61f5d5882b082808abd1c6d2ee94870 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e43a617c09172ab2e224de2f33d51adc3acb8195d53de20f4c67895e572d73d7 [INFO] running `Command { std: "docker" "start" "-a" "e43a617c09172ab2e224de2f33d51adc3acb8195d53de20f4c67895e572d73d7", kill_on_drop: false }` [INFO] [stderr] Compiling excel_takehome v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `File` and `read_to_string` [INFO] [stdout] --> src/csv.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::{read_to_string, File}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufWriter` and `Write` [INFO] [stdout] --> src/csv.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufWriter, Write}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/csv.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `while let` pattern [INFO] [stdout] --> src/csv.rs:134:15 [INFO] [stdout] | [INFO] [stdout] 134 | while let token = self.tokenizer.get_csv_token() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the loop will never exit [INFO] [stdout] = help: consider instead using a `loop { ... }` with a `let` inside it [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/formual.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | for i in 1..n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [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/formual.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | let mut toke = self.next(); [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: type `Node` is more private than the item `ParseResult` [INFO] [stdout] --> src/formual.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | pub type ParseResult = Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ type alias `ParseResult` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/formual.rs:222:1 [INFO] [stdout] | [INFO] [stdout] 222 | enum Node { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ParseError` is more private than the item `ParseResult` [INFO] [stdout] --> src/formual.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | pub type ParseResult = Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ type alias `ParseResult` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `ParseError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/formual.rs:261:1 [INFO] [stdout] | [INFO] [stdout] 261 | enum ParseError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `src` is never read [INFO] [stdout] --> src/excel.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Excel { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 81 | src: Vec, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Token` is never used [INFO] [stdout] --> src/formual.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | enum Token <'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tokenizer` is never constructed [INFO] [stdout] --> src/formual.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct Tokenizer<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/formual.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl<'a> Tokenizer<'a> { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 45 | pub fn new(view: &'a [char]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn skip(&mut self, n: usize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn peek(&self) -> Option<&char> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn next_is(&self, cmp: char) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn next_is_one_of(&self, sp_cmp: &[char]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn empty(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn lookahead(&mut self, n: usize) -> Token<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | fn next(&mut self) -> Token<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Addition`, `Subtraction`, `Division`, `Multiplication`, and `Invalid` are never constructed [INFO] [stdout] --> src/formual.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 160 | enum Operator { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 161 | Addition, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 162 | Subtraction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 163 | Division, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 164 | Multiplication, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 165 | Invalid [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `apply`, `is_addition`, `is_subtraction`, `is_division`, and `is_multiplication` are never used [INFO] [stdout] --> src/formual.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 168 | impl Operator { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 169 | fn new(op: char) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | fn apply(&self, lhs: T, rhs: T) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn is_addition(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn is_subtraction(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn is_division(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn is_multiplication(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/formual.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 222 | enum Node { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 223 | // top level entry point of the ast [INFO] [stdout] 224 | Formula { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | Expression { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | Term { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | Factor { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | Primary(Box), // a value, reference, or another expression. [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 250 | Primitive(String), // prims like string boolean int or float. [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 251 | CellRef(String), // a cell reference with (col, row) as strings. [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 252 | CellRange(Box, Box), // two cell refs. [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 253 | // a function call. [INFO] [stdout] 254 | Function { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnexpectedEndOfFile`, `UnexpectedToken`, and `InvalidExpression` are never constructed [INFO] [stdout] --> src/formual.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 261 | enum ParseError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 262 | UnexpectedEndOfFile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 263 | UnexpectedToken { expected: String, found: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 264 | InvalidExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `src` and `func_names` are never read [INFO] [stdout] --> src/formual.rs:284:5 [INFO] [stdout] | [INFO] [stdout] 283 | pub struct Ast<'a> { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 284 | src: &'a str, [INFO] [stdout] | ^^^ [INFO] [stdout] 285 | func_names: HashSet [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/formual.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 288 | impl<'a> Ast<'a> { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 289 | fn new(src: &'a str, func_names: HashSet) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn parse(&self) -> ParseResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | fn parse_expression(&self, tokenizer: &mut Tokenizer) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 337 | fn parse_term(&self, tokenizer: &mut Tokenizer) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | fn parse_factor(&self, tokenizer: &mut Tokenizer) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 389 | fn parse_primary(&self, tokenizer: &mut Tokenizer) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 420 | fn parse_string(&self, tokenizer: &mut Tokenizer) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 457 | fn parse_function(&self, tokenizer: &mut Tokenizer, name: String) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 491 | fn is_cell_ref(&self, chars: &'a [char]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 506 | fn is_numeric(&self, chars: &'a [char]) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 515 | fn is_string_literal(&self, chars: &'a [char]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 519 | fn is_boolean(&self, chars: &'a [char]) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 524 | fn expect(&self, tokenizer: &mut Tokenizer, expected: Token, result: Node) -> ParseResult { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excel.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | writer.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 127 | let _ = writer.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | let mut excel = Excel::from_path(&p).expect("File read failed..."); [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] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/beta-2025-01-12-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcCwK2NV/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libexcel_takehome-5bb8a2f4cea20f3b.rlib}" "/opt/rustwide/rustup-home/toolchains/beta-2025-01-12-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-2e6eca6bf1681754.rlib,libpanic_unwind-6419b8734ab2f0cb.rlib,libobject-784ada497c5d935e.rlib,libmemchr-9267ffe866ca370f.rlib,libaddr2line-36f3ec5f8f15f213.rlib,libgimli-a0a71c3c5fe00164.rlib,librustc_demangle-95f237535246c825.rlib,libstd_detect-e0bd23c2b0917c59.rlib,libhashbrown-22a7802a8abbef9e.rlib,librustc_std_workspace_alloc-eb0228d54dd99343.rlib,libminiz_oxide-e6c6f516ce70276d.rlib,libadler-af73ed2b2e212982.rlib,libunwind-0000b4ce778574a2.rlib,libcfg_if-1a94dbdc43bc518f.rlib,liblibc-b957950176a614bc.rlib,liballoc-2b137d666ae9b5cb.rlib,librustc_std_workspace_core-4cf833632aafa84c.rlib,libcore-65c2c6d2d6ae570b.rlib,libcompiler_builtins-678c764df5f831e4.rlib}" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2025-01-12-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/excel_takehome-ef96dc53c1760b1f" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: /usr/bin/ld: final link failed: No space left on device [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `excel_takehome` (bin "excel_takehome") due to 1 previous error; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "e43a617c09172ab2e224de2f33d51adc3acb8195d53de20f4c67895e572d73d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e43a617c09172ab2e224de2f33d51adc3acb8195d53de20f4c67895e572d73d7", kill_on_drop: false }` [INFO] [stdout] e43a617c09172ab2e224de2f33d51adc3acb8195d53de20f4c67895e572d73d7