[INFO] updating cached repository https://github.com/wspeirs/mem_table [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] f9515e477df3848c93cacd5855bcffacf8105187 [INFO] testing wspeirs/mem_table against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwspeirs%2Fmem_table" "/workspace/builds/worker-1/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/wspeirs/mem_table on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/wspeirs/mem_table [INFO] finished tweaking git repo https://github.com/wspeirs/mem_table [INFO] tweaked toml for git repo https://github.com/wspeirs/mem_table written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/wspeirs/mem_table already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 7979d2778e84e77bb628277922882ef189638f4a7a10c4d9a434238165ca8fd6 [INFO] running `"docker" "start" "-a" "7979d2778e84e77bb628277922882ef189638f4a7a10c4d9a434238165ca8fd6"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling num-bigint v0.2.5 [INFO] [stderr] Compiling num-rational v0.2.3 [INFO] [stderr] Compiling regex-automata v0.1.8 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num-iter v0.1.40 [INFO] [stderr] Compiling chrono v0.4.10 [INFO] [stderr] Compiling bstr v0.2.9 [INFO] [stderr] Compiling csv v1.1.2 [INFO] [stderr] Compiling num v0.2.1 [INFO] [stderr] Compiling rust_decimal v0.10.2 [INFO] [stderr] Compiling dtparse v1.0.3 [INFO] [stderr] Compiling large_table v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error as IOError`, `Read` [INFO] [stderr] --> src/lib.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{Error as IOError, Read}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Display`, `Error as FmtError`, `Formatter` [INFO] [stderr] --> src/lib.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fmt::{Display, Formatter, Error as FmtError}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Hash`, `Hasher` [INFO] [stderr] --> src/lib.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | use std::hash::{Hash, Hasher}; [INFO] [stderr] | ^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::Ref` [INFO] [stderr] --> src/lib.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::cell::Ref; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FusedIterator` [INFO] [stderr] --> src/lib.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::iter::FusedIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/lib.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Reader` [INFO] [stderr] --> src/lib.rs:16:11 [INFO] [stderr] | [INFO] [stderr] 16 | use csv::{Reader, Writer}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/row.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/row.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/row.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Table` [INFO] [stderr] --> src/row.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::Table; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/row_table.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::hash_map::RandomState` [INFO] [stderr] --> src/row_table.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::hash_map::RandomState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::Map` [INFO] [stderr] --> src/row_table.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::Map; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ByteRecord`, `ReaderBuilder`, `Trim` [INFO] [stderr] --> src/row_table.rs:12:33 [INFO] [stderr] | [INFO] [stderr] 12 | use csv::{Reader, StringRecord, ByteRecord, ReaderBuilder, Trim}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Cursor` [INFO] [stderr] --> src/mmap_table.rs:5:44 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{Error as IOError, ErrorKind, Cursor}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `MmapOptions` [INFO] [stderr] --> src/mmap_table.rs:9:23 [INFO] [stderr] | [INFO] [stderr] 9 | use memmap::{MmapMut, MmapOptions}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/lib.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/row_table.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/lib.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | let pos = self.column_position(column)?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/row.rs:30:23 [INFO] [stderr] | [INFO] [stderr] 30 | fn set(&mut self, column :&str, value :Value) -> Result { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/row.rs:30:37 [INFO] [stderr] | [INFO] [stderr] 30 | fn set(&mut self, column :&str, value :Value) -> Result { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:269:56 [INFO] [stderr] | [INFO] [stderr] 269 | let pos = self.column_map.iter().position(|(c, i)| c == column); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:284:40 [INFO] [stderr] | [INFO] [stderr] 284 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:381:40 [INFO] [stderr] | [INFO] [stderr] 381 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_val` [INFO] [stderr] --> src/row_table.rs:451:13 [INFO] [stderr] | [INFO] [stderr] 451 | let new_val = (new_col.to_string(), self.column_map[pos].1); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_val` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `written` [INFO] [stderr] --> src/mmap_table.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | let (res, read, written, num_ends) = reader.read_record(&mmap[pos..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_written` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_ends` [INFO] [stderr] --> src/mmap_table.rs:42:38 [INFO] [stderr] | [INFO] [stderr] 42 | let (res, read, written, num_ends) = reader.read_record(&mmap[pos..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_ends` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `update` [INFO] [stderr] --> src/mmap_table.rs:84:59 [INFO] [stderr] | [INFO] [stderr] 84 | fn update_by(&mut self, update: F) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/mmap_table.rs:88:33 [INFO] [stderr] | [INFO] [stderr] 88 | fn append_row(&mut self, row: R) -> Result<(), TableError> where R: Row { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column_name` [INFO] [stderr] --> src/mmap_table.rs:92:56 [INFO] [stderr] | [INFO] [stderr] 92 | fn add_column_with Value>(&mut self, column_name: &str, f: F) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_column_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/mmap_table.rs:92:75 [INFO] [stderr] | [INFO] [stderr] 92 | fn add_column_with Value>(&mut self, column_name: &str, f: F) -> Result<(), TableError> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_col` [INFO] [stderr] --> src/mmap_table.rs:96:33 [INFO] [stderr] | [INFO] [stderr] 96 | fn rename_column(&mut self, old_col :&str, new_col :&str) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_col` [INFO] [stderr] --> src/mmap_table.rs:96:48 [INFO] [stderr] | [INFO] [stderr] 96 | fn rename_column(&mut self, old_col :&str, new_col :&str) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/mmap_table.rs:131:24 [INFO] [stderr] | [INFO] [stderr] 131 | fn group_by(&self, column: &str) -> Result, TableError> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mid` [INFO] [stderr] --> src/mmap_table.rs:151:29 [INFO] [stderr] | [INFO] [stderr] 151 | fn split_rows_at(&self, mid: usize) -> Result<(Self::TableSliceType, Self::TableSliceType), TableError> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_mid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:182:56 [INFO] [stderr] | [INFO] [stderr] 182 | let pos = self.column_map.iter().position(|(c, i)| c == column); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `read` [INFO] [stderr] --> src/mmap_table.rs:200:19 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_read` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `written` [INFO] [stderr] --> src/mmap_table.rs:200:25 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_written` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_ends` [INFO] [stderr] --> src/mmap_table.rs:200:34 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_ends` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:217:40 [INFO] [stderr] | [INFO] [stderr] 217 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:255:40 [INFO] [stderr] | [INFO] [stderr] 255 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/mmap_table.rs:258:24 [INFO] [stderr] | [INFO] [stderr] 258 | fn group_by(&self, column: &str) -> Result, TableError> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mid` [INFO] [stderr] --> src/mmap_table.rs:281:29 [INFO] [stderr] | [INFO] [stderr] 281 | fn split_rows_at(&self, mid: usize) -> Result<(Self::TableSliceType, Self::TableSliceType), TableError> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_mid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `compare` [INFO] [stderr] --> src/mmap_table.rs:287:75 [INFO] [stderr] | [INFO] [stderr] 287 | fn sort_by Ordering>(&self, compare: F) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_col` [INFO] [stderr] --> src/mmap_table.rs:291:29 [INFO] [stderr] | [INFO] [stderr] 291 | fn rename_column(&self, old_col :&str, new_col :&str) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_col` [INFO] [stderr] --> src/mmap_table.rs:291:44 [INFO] [stderr] | [INFO] [stderr] 291 | fn rename_column(&self, old_col :&str, new_col :&str) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_col` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/mmap_table.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut mmap = unsafe { MmapMut::map_mut(&file)? }; [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 `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | self.append_row(row); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | csv.write_record(self.columns()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 172 | / csv.write_record(self.columns().iter().map(|c| { [INFO] [stderr] 173 | | row.get(c).as_string() [INFO] [stderr] 174 | | })); [INFO] [stderr] | |________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/row_table.rs:344:13 [INFO] [stderr] | [INFO] [stderr] 344 | writeln!(f, "{:?}", self.table.lock().unwrap().rows[*row]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 53 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 12.44s [INFO] running `"docker" "inspect" "7979d2778e84e77bb628277922882ef189638f4a7a10c4d9a434238165ca8fd6"` [INFO] running `"docker" "rm" "-f" "7979d2778e84e77bb628277922882ef189638f4a7a10c4d9a434238165ca8fd6"` [INFO] [stdout] 7979d2778e84e77bb628277922882ef189638f4a7a10c4d9a434238165ca8fd6 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stdout] c0755936db8554c52f084c7e1c49f2aaeff6b6e84bf9e53428b622348fd37ffc [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "c0755936db8554c52f084c7e1c49f2aaeff6b6e84bf9e53428b622348fd37ffc"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling proc-macro2 v1.0.8 [INFO] [stderr] Compiling serde_json v1.0.45 [INFO] [stderr] Compiling simple_logger v0.5.0 [INFO] [stderr] Compiling criterion-plot v0.4.1 [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error as IOError`, `Read` [INFO] [stderr] --> src/lib.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{Error as IOError, Read}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Display`, `Error as FmtError`, `Formatter` [INFO] [stderr] --> src/lib.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fmt::{Display, Formatter, Error as FmtError}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Hash`, `Hasher` [INFO] [stderr] --> src/lib.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | use std::hash::{Hash, Hasher}; [INFO] [stderr] | ^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::Ref` [INFO] [stderr] --> src/lib.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::cell::Ref; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FusedIterator` [INFO] [stderr] --> src/lib.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::iter::FusedIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/lib.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Reader` [INFO] [stderr] --> src/lib.rs:16:11 [INFO] [stderr] | [INFO] [stderr] 16 | use csv::{Reader, Writer}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/row.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/row.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/row.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Table` [INFO] [stderr] --> src/row.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::Table; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/row_table.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::hash_map::RandomState` [INFO] [stderr] --> src/row_table.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::hash_map::RandomState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::Map` [INFO] [stderr] --> src/row_table.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::Map; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ByteRecord`, `ReaderBuilder`, `Trim` [INFO] [stderr] --> src/row_table.rs:12:33 [INFO] [stderr] | [INFO] [stderr] 12 | use csv::{Reader, StringRecord, ByteRecord, ReaderBuilder, Trim}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Cursor` [INFO] [stderr] --> src/mmap_table.rs:5:44 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{Error as IOError, ErrorKind, Cursor}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `MmapOptions` [INFO] [stderr] --> src/mmap_table.rs:9:23 [INFO] [stderr] | [INFO] [stderr] 9 | use memmap::{MmapMut, MmapOptions}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/lib.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/row_table.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/lib.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | let pos = self.column_position(column)?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/row.rs:30:23 [INFO] [stderr] | [INFO] [stderr] 30 | fn set(&mut self, column :&str, value :Value) -> Result { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/row.rs:30:37 [INFO] [stderr] | [INFO] [stderr] 30 | fn set(&mut self, column :&str, value :Value) -> Result { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:269:56 [INFO] [stderr] | [INFO] [stderr] 269 | let pos = self.column_map.iter().position(|(c, i)| c == column); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:284:40 [INFO] [stderr] | [INFO] [stderr] 284 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:381:40 [INFO] [stderr] | [INFO] [stderr] 381 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_val` [INFO] [stderr] --> src/row_table.rs:451:13 [INFO] [stderr] | [INFO] [stderr] 451 | let new_val = (new_col.to_string(), self.column_map[pos].1); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_val` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `written` [INFO] [stderr] --> src/mmap_table.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | let (res, read, written, num_ends) = reader.read_record(&mmap[pos..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_written` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_ends` [INFO] [stderr] --> src/mmap_table.rs:42:38 [INFO] [stderr] | [INFO] [stderr] 42 | let (res, read, written, num_ends) = reader.read_record(&mmap[pos..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_ends` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `update` [INFO] [stderr] --> src/mmap_table.rs:84:59 [INFO] [stderr] | [INFO] [stderr] 84 | fn update_by(&mut self, update: F) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/mmap_table.rs:88:33 [INFO] [stderr] | [INFO] [stderr] 88 | fn append_row(&mut self, row: R) -> Result<(), TableError> where R: Row { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column_name` [INFO] [stderr] --> src/mmap_table.rs:92:56 [INFO] [stderr] | [INFO] [stderr] 92 | fn add_column_with Value>(&mut self, column_name: &str, f: F) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_column_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/mmap_table.rs:92:75 [INFO] [stderr] | [INFO] [stderr] 92 | fn add_column_with Value>(&mut self, column_name: &str, f: F) -> Result<(), TableError> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_col` [INFO] [stderr] --> src/mmap_table.rs:96:33 [INFO] [stderr] | [INFO] [stderr] 96 | fn rename_column(&mut self, old_col :&str, new_col :&str) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_col` [INFO] [stderr] --> src/mmap_table.rs:96:48 [INFO] [stderr] | [INFO] [stderr] 96 | fn rename_column(&mut self, old_col :&str, new_col :&str) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/mmap_table.rs:131:24 [INFO] [stderr] | [INFO] [stderr] 131 | fn group_by(&self, column: &str) -> Result, TableError> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mid` [INFO] [stderr] --> src/mmap_table.rs:151:29 [INFO] [stderr] | [INFO] [stderr] 151 | fn split_rows_at(&self, mid: usize) -> Result<(Self::TableSliceType, Self::TableSliceType), TableError> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_mid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:182:56 [INFO] [stderr] | [INFO] [stderr] 182 | let pos = self.column_map.iter().position(|(c, i)| c == column); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `read` [INFO] [stderr] --> src/mmap_table.rs:200:19 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_read` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `written` [INFO] [stderr] --> src/mmap_table.rs:200:25 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_written` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_ends` [INFO] [stderr] --> src/mmap_table.rs:200:34 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_ends` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:217:40 [INFO] [stderr] | [INFO] [stderr] 217 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:255:40 [INFO] [stderr] | [INFO] [stderr] 255 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/mmap_table.rs:258:24 [INFO] [stderr] | [INFO] [stderr] 258 | fn group_by(&self, column: &str) -> Result, TableError> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mid` [INFO] [stderr] --> src/mmap_table.rs:281:29 [INFO] [stderr] | [INFO] [stderr] 281 | fn split_rows_at(&self, mid: usize) -> Result<(Self::TableSliceType, Self::TableSliceType), TableError> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_mid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `compare` [INFO] [stderr] --> src/mmap_table.rs:287:75 [INFO] [stderr] | [INFO] [stderr] 287 | fn sort_by Ordering>(&self, compare: F) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_col` [INFO] [stderr] --> src/mmap_table.rs:291:29 [INFO] [stderr] | [INFO] [stderr] 291 | fn rename_column(&self, old_col :&str, new_col :&str) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_col` [INFO] [stderr] --> src/mmap_table.rs:291:44 [INFO] [stderr] | [INFO] [stderr] 291 | fn rename_column(&self, old_col :&str, new_col :&str) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_col` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/mmap_table.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut mmap = unsafe { MmapMut::map_mut(&file)? }; [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 `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | self.append_row(row); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | csv.write_record(self.columns()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 172 | / csv.write_record(self.columns().iter().map(|c| { [INFO] [stderr] 173 | | row.get(c).as_string() [INFO] [stderr] 174 | | })); [INFO] [stderr] | |________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/row_table.rs:344:13 [INFO] [stderr] | [INFO] [stderr] 344 | writeln!(f, "{:?}", self.table.lock().unwrap().rows[*row]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 53 warnings emitted [INFO] [stderr] [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling syn v1.0.14 [INFO] [stderr] Compiling tinytemplate v1.0.3 [INFO] [stderr] Compiling serde_derive v1.0.104 [INFO] [stderr] Compiling criterion v0.3.1 [INFO] [stderr] Compiling large_table v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error as IOError`, `Read` [INFO] [stderr] --> src/lib.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{Error as IOError, Read}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Display`, `Error as FmtError`, `Formatter` [INFO] [stderr] --> src/lib.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fmt::{Display, Formatter, Error as FmtError}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Hash`, `Hasher` [INFO] [stderr] --> src/lib.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | use std::hash::{Hash, Hasher}; [INFO] [stderr] | ^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::Ref` [INFO] [stderr] --> src/lib.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::cell::Ref; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FusedIterator` [INFO] [stderr] --> src/lib.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::iter::FusedIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/lib.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Reader` [INFO] [stderr] --> src/lib.rs:16:11 [INFO] [stderr] | [INFO] [stderr] 16 | use csv::{Reader, Writer}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/row.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/row.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/row.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Table` [INFO] [stderr] --> src/row.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::Table; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/row_table.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::hash_map::RandomState` [INFO] [stderr] --> src/row_table.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::hash_map::RandomState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::Map` [INFO] [stderr] --> src/row_table.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::Map; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ByteRecord`, `ReaderBuilder`, `Trim` [INFO] [stderr] --> src/row_table.rs:12:33 [INFO] [stderr] | [INFO] [stderr] 12 | use csv::{Reader, StringRecord, ByteRecord, ReaderBuilder, Trim}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Cursor` [INFO] [stderr] --> src/mmap_table.rs:5:44 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{Error as IOError, ErrorKind, Cursor}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `MmapOptions` [INFO] [stderr] --> src/mmap_table.rs:9:23 [INFO] [stderr] | [INFO] [stderr] 9 | use memmap::{MmapMut, MmapOptions}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::Duration` [INFO] [stderr] --> src/mmap_table.rs:321:9 [INFO] [stderr] | [INFO] [stderr] 321 | use chrono::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/lib.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/row_table.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/lib.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | let pos = self.column_position(column)?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/row.rs:30:23 [INFO] [stderr] | [INFO] [stderr] 30 | fn set(&mut self, column :&str, value :Value) -> Result { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/row.rs:30:37 [INFO] [stderr] | [INFO] [stderr] 30 | fn set(&mut self, column :&str, value :Value) -> Result { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:269:56 [INFO] [stderr] | [INFO] [stderr] 269 | let pos = self.column_map.iter().position(|(c, i)| c == column); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:284:40 [INFO] [stderr] | [INFO] [stderr] 284 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:381:40 [INFO] [stderr] | [INFO] [stderr] 381 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_val` [INFO] [stderr] --> src/row_table.rs:451:13 [INFO] [stderr] | [INFO] [stderr] 451 | let new_val = (new_col.to_string(), self.column_map[pos].1); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_val` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `written` [INFO] [stderr] --> src/mmap_table.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | let (res, read, written, num_ends) = reader.read_record(&mmap[pos..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_written` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_ends` [INFO] [stderr] --> src/mmap_table.rs:42:38 [INFO] [stderr] | [INFO] [stderr] 42 | let (res, read, written, num_ends) = reader.read_record(&mmap[pos..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_ends` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `update` [INFO] [stderr] --> src/mmap_table.rs:84:59 [INFO] [stderr] | [INFO] [stderr] 84 | fn update_by(&mut self, update: F) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/mmap_table.rs:88:33 [INFO] [stderr] | [INFO] [stderr] 88 | fn append_row(&mut self, row: R) -> Result<(), TableError> where R: Row { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column_name` [INFO] [stderr] --> src/mmap_table.rs:92:56 [INFO] [stderr] | [INFO] [stderr] 92 | fn add_column_with Value>(&mut self, column_name: &str, f: F) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_column_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/mmap_table.rs:92:75 [INFO] [stderr] | [INFO] [stderr] 92 | fn add_column_with Value>(&mut self, column_name: &str, f: F) -> Result<(), TableError> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_col` [INFO] [stderr] --> src/mmap_table.rs:96:33 [INFO] [stderr] | [INFO] [stderr] 96 | fn rename_column(&mut self, old_col :&str, new_col :&str) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_col` [INFO] [stderr] --> src/mmap_table.rs:96:48 [INFO] [stderr] | [INFO] [stderr] 96 | fn rename_column(&mut self, old_col :&str, new_col :&str) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/mmap_table.rs:131:24 [INFO] [stderr] | [INFO] [stderr] 131 | fn group_by(&self, column: &str) -> Result, TableError> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mid` [INFO] [stderr] --> src/mmap_table.rs:151:29 [INFO] [stderr] | [INFO] [stderr] 151 | fn split_rows_at(&self, mid: usize) -> Result<(Self::TableSliceType, Self::TableSliceType), TableError> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_mid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:182:56 [INFO] [stderr] | [INFO] [stderr] 182 | let pos = self.column_map.iter().position(|(c, i)| c == column); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `read` [INFO] [stderr] --> src/mmap_table.rs:200:19 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_read` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `written` [INFO] [stderr] --> src/mmap_table.rs:200:25 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_written` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_ends` [INFO] [stderr] --> src/mmap_table.rs:200:34 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_ends` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:217:40 [INFO] [stderr] | [INFO] [stderr] 217 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:255:40 [INFO] [stderr] | [INFO] [stderr] 255 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/mmap_table.rs:258:24 [INFO] [stderr] | [INFO] [stderr] 258 | fn group_by(&self, column: &str) -> Result, TableError> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mid` [INFO] [stderr] --> src/mmap_table.rs:281:29 [INFO] [stderr] | [INFO] [stderr] 281 | fn split_rows_at(&self, mid: usize) -> Result<(Self::TableSliceType, Self::TableSliceType), TableError> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_mid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `compare` [INFO] [stderr] --> src/mmap_table.rs:287:75 [INFO] [stderr] | [INFO] [stderr] 287 | fn sort_by Ordering>(&self, compare: F) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_col` [INFO] [stderr] --> src/mmap_table.rs:291:29 [INFO] [stderr] | [INFO] [stderr] 291 | fn rename_column(&self, old_col :&str, new_col :&str) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_col` [INFO] [stderr] --> src/mmap_table.rs:291:44 [INFO] [stderr] | [INFO] [stderr] 291 | fn rename_column(&self, old_col :&str, new_col :&str) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_col` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/mmap_table.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut mmap = unsafe { MmapMut::map_mut(&file)? }; [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 `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | self.append_row(row); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | csv.write_record(self.columns()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 172 | / csv.write_record(self.columns().iter().map(|c| { [INFO] [stderr] 173 | | row.get(c).as_string() [INFO] [stderr] 174 | | })); [INFO] [stderr] | |________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/row_table.rs:344:13 [INFO] [stderr] | [INFO] [stderr] 344 | writeln!(f, "{:?}", self.table.lock().unwrap().rows[*row]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/row_table.rs:504:9 [INFO] [stderr] | [INFO] [stderr] 504 | table.find_by(|r| { r.get("B"); true }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/row_table.rs:506:31 [INFO] [stderr] | [INFO] [stderr] 506 | table.update_by(|r| { r.set("B", Value::Integer(7));} ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 56 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 39.10s [INFO] running `"docker" "inspect" "c0755936db8554c52f084c7e1c49f2aaeff6b6e84bf9e53428b622348fd37ffc"` [INFO] running `"docker" "rm" "-f" "c0755936db8554c52f084c7e1c49f2aaeff6b6e84bf9e53428b622348fd37ffc"` [INFO] [stdout] c0755936db8554c52f084c7e1c49f2aaeff6b6e84bf9e53428b622348fd37ffc [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e6b4bffcfff40b675d908ac03ffc6fc0805a31399642b80c1ab4e6b383a4efd9 [INFO] running `"docker" "start" "-a" "e6b4bffcfff40b675d908ac03ffc6fc0805a31399642b80c1ab4e6b383a4efd9"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error as IOError`, `Read` [INFO] [stderr] --> src/lib.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{Error as IOError, Read}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error as IOError`, `Read` [INFO] [stderr] --> src/lib.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{Error as IOError, Read}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Display`, `Error as FmtError`, `Formatter` [INFO] [stderr] --> src/lib.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fmt::{Display, Formatter, Error as FmtError}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Hash`, `Hasher` [INFO] [stderr] --> src/lib.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | use std::hash::{Hash, Hasher}; [INFO] [stderr] | ^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::Ref` [INFO] [stderr] --> src/lib.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::cell::Ref; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Display`, `Error as FmtError`, `Formatter` [INFO] [stderr] --> src/lib.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fmt::{Display, Formatter, Error as FmtError}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FusedIterator` [INFO] [stderr] --> src/lib.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::iter::FusedIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/lib.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Hash`, `Hasher` [INFO] [stderr] --> src/lib.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | use std::hash::{Hash, Hasher}; [INFO] [stderr] | ^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::Ref` [INFO] [stderr] --> src/lib.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::cell::Ref; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FusedIterator` [INFO] [stderr] --> src/lib.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::iter::FusedIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/lib.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Reader` [INFO] [stderr] --> src/lib.rs:16:11 [INFO] [stderr] | [INFO] [stderr] 16 | use csv::{Reader, Writer}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/row.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/row.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/row.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Table` [INFO] [stderr] --> src/row.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::Table; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/row_table.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::hash_map::RandomState` [INFO] [stderr] --> src/row_table.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::hash_map::RandomState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::Map` [INFO] [stderr] --> src/row_table.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::Map; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ByteRecord`, `ReaderBuilder`, `Trim` [INFO] [stderr] --> src/row_table.rs:12:33 [INFO] [stderr] | [INFO] [stderr] 12 | use csv::{Reader, StringRecord, ByteRecord, ReaderBuilder, Trim}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Cursor` [INFO] [stderr] --> src/mmap_table.rs:5:44 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{Error as IOError, ErrorKind, Cursor}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `MmapOptions` [INFO] [stderr] --> src/mmap_table.rs:9:23 [INFO] [stderr] | [INFO] [stderr] 9 | use memmap::{MmapMut, MmapOptions}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/lib.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/row_table.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/lib.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | let pos = self.column_position(column)?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/row.rs:30:23 [INFO] [stderr] | [INFO] [stderr] 30 | fn set(&mut self, column :&str, value :Value) -> Result { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/row.rs:30:37 [INFO] [stderr] | [INFO] [stderr] 30 | fn set(&mut self, column :&str, value :Value) -> Result { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:269:56 [INFO] [stderr] | [INFO] [stderr] 269 | let pos = self.column_map.iter().position(|(c, i)| c == column); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:284:40 [INFO] [stderr] | [INFO] [stderr] 284 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:381:40 [INFO] [stderr] | [INFO] [stderr] 381 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_val` [INFO] [stderr] --> src/row_table.rs:451:13 [INFO] [stderr] | [INFO] [stderr] 451 | let new_val = (new_col.to_string(), self.column_map[pos].1); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_val` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `written` [INFO] [stderr] --> src/mmap_table.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | let (res, read, written, num_ends) = reader.read_record(&mmap[pos..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_written` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_ends` [INFO] [stderr] --> src/mmap_table.rs:42:38 [INFO] [stderr] | [INFO] [stderr] 42 | let (res, read, written, num_ends) = reader.read_record(&mmap[pos..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_ends` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `update` [INFO] [stderr] --> src/mmap_table.rs:84:59 [INFO] [stderr] | [INFO] [stderr] 84 | fn update_by(&mut self, update: F) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/mmap_table.rs:88:33 [INFO] [stderr] | [INFO] [stderr] 88 | fn append_row(&mut self, row: R) -> Result<(), TableError> where R: Row { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column_name` [INFO] [stderr] --> src/mmap_table.rs:92:56 [INFO] [stderr] | [INFO] [stderr] 92 | fn add_column_with Value>(&mut self, column_name: &str, f: F) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_column_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/mmap_table.rs:92:75 [INFO] [stderr] | [INFO] [stderr] 92 | fn add_column_with Value>(&mut self, column_name: &str, f: F) -> Result<(), TableError> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_col` [INFO] [stderr] --> src/mmap_table.rs:96:33 [INFO] [stderr] | [INFO] [stderr] 96 | fn rename_column(&mut self, old_col :&str, new_col :&str) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_col` [INFO] [stderr] --> src/mmap_table.rs:96:48 [INFO] [stderr] | [INFO] [stderr] 96 | fn rename_column(&mut self, old_col :&str, new_col :&str) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/mmap_table.rs:131:24 [INFO] [stderr] | [INFO] [stderr] 131 | fn group_by(&self, column: &str) -> Result, TableError> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mid` [INFO] [stderr] --> src/mmap_table.rs:151:29 [INFO] [stderr] | [INFO] [stderr] 151 | fn split_rows_at(&self, mid: usize) -> Result<(Self::TableSliceType, Self::TableSliceType), TableError> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_mid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:182:56 [INFO] [stderr] | [INFO] [stderr] 182 | let pos = self.column_map.iter().position(|(c, i)| c == column); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `read` [INFO] [stderr] --> src/mmap_table.rs:200:19 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_read` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `written` [INFO] [stderr] --> src/mmap_table.rs:200:25 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_written` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_ends` [INFO] [stderr] --> src/mmap_table.rs:200:34 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_ends` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:217:40 [INFO] [stderr] | [INFO] [stderr] 217 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:255:40 [INFO] [stderr] | [INFO] [stderr] 255 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/mmap_table.rs:258:24 [INFO] [stderr] | [INFO] [stderr] 258 | fn group_by(&self, column: &str) -> Result, TableError> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mid` [INFO] [stderr] --> src/mmap_table.rs:281:29 [INFO] [stderr] | [INFO] [stderr] 281 | fn split_rows_at(&self, mid: usize) -> Result<(Self::TableSliceType, Self::TableSliceType), TableError> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_mid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `compare` [INFO] [stderr] --> src/mmap_table.rs:287:75 [INFO] [stderr] | [INFO] [stderr] 287 | fn sort_by Ordering>(&self, compare: F) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_col` [INFO] [stderr] --> src/mmap_table.rs:291:29 [INFO] [stderr] | [INFO] [stderr] 291 | fn rename_column(&self, old_col :&str, new_col :&str) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_col` [INFO] [stderr] --> src/mmap_table.rs:291:44 [INFO] [stderr] | [INFO] [stderr] 291 | fn rename_column(&self, old_col :&str, new_col :&str) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_col` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/mmap_table.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut mmap = unsafe { MmapMut::map_mut(&file)? }; [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 `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | self.append_row(row); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | csv.write_record(self.columns()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 172 | / csv.write_record(self.columns().iter().map(|c| { [INFO] [stderr] 173 | | row.get(c).as_string() [INFO] [stderr] 174 | | })); [INFO] [stderr] | |________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/row_table.rs:344:13 [INFO] [stderr] | [INFO] [stderr] 344 | writeln!(f, "{:?}", self.table.lock().unwrap().rows[*row]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 53 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `Reader` [INFO] [stderr] --> src/lib.rs:16:11 [INFO] [stderr] | [INFO] [stderr] 16 | use csv::{Reader, Writer}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/row.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/row.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/row.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Table` [INFO] [stderr] --> src/row.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::Table; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/row_table.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::hash_map::RandomState` [INFO] [stderr] --> src/row_table.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::hash_map::RandomState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::Map` [INFO] [stderr] --> src/row_table.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::Map; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ByteRecord`, `ReaderBuilder`, `Trim` [INFO] [stderr] --> src/row_table.rs:12:33 [INFO] [stderr] | [INFO] [stderr] 12 | use csv::{Reader, StringRecord, ByteRecord, ReaderBuilder, Trim}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Cursor` [INFO] [stderr] --> src/mmap_table.rs:5:44 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{Error as IOError, ErrorKind, Cursor}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `MmapOptions` [INFO] [stderr] --> src/mmap_table.rs:9:23 [INFO] [stderr] | [INFO] [stderr] 9 | use memmap::{MmapMut, MmapOptions}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::Duration` [INFO] [stderr] --> src/mmap_table.rs:321:9 [INFO] [stderr] | [INFO] [stderr] 321 | use chrono::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/lib.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/row_table.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/lib.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | let pos = self.column_position(column)?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/row.rs:30:23 [INFO] [stderr] | [INFO] [stderr] 30 | fn set(&mut self, column :&str, value :Value) -> Result { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/row.rs:30:37 [INFO] [stderr] | [INFO] [stderr] 30 | fn set(&mut self, column :&str, value :Value) -> Result { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:269:56 [INFO] [stderr] | [INFO] [stderr] 269 | let pos = self.column_map.iter().position(|(c, i)| c == column); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:284:40 [INFO] [stderr] | [INFO] [stderr] 284 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/row_table.rs:381:40 [INFO] [stderr] | [INFO] [stderr] 381 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_val` [INFO] [stderr] --> src/row_table.rs:451:13 [INFO] [stderr] | [INFO] [stderr] 451 | let new_val = (new_col.to_string(), self.column_map[pos].1); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_val` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `written` [INFO] [stderr] --> src/mmap_table.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | let (res, read, written, num_ends) = reader.read_record(&mmap[pos..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_written` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_ends` [INFO] [stderr] --> src/mmap_table.rs:42:38 [INFO] [stderr] | [INFO] [stderr] 42 | let (res, read, written, num_ends) = reader.read_record(&mmap[pos..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_ends` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `update` [INFO] [stderr] --> src/mmap_table.rs:84:59 [INFO] [stderr] | [INFO] [stderr] 84 | fn update_by(&mut self, update: F) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/mmap_table.rs:88:33 [INFO] [stderr] | [INFO] [stderr] 88 | fn append_row(&mut self, row: R) -> Result<(), TableError> where R: Row { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column_name` [INFO] [stderr] --> src/mmap_table.rs:92:56 [INFO] [stderr] | [INFO] [stderr] 92 | fn add_column_with Value>(&mut self, column_name: &str, f: F) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_column_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/mmap_table.rs:92:75 [INFO] [stderr] | [INFO] [stderr] 92 | fn add_column_with Value>(&mut self, column_name: &str, f: F) -> Result<(), TableError> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_col` [INFO] [stderr] --> src/mmap_table.rs:96:33 [INFO] [stderr] | [INFO] [stderr] 96 | fn rename_column(&mut self, old_col :&str, new_col :&str) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_col` [INFO] [stderr] --> src/mmap_table.rs:96:48 [INFO] [stderr] | [INFO] [stderr] 96 | fn rename_column(&mut self, old_col :&str, new_col :&str) -> Result<(), TableError> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/mmap_table.rs:131:24 [INFO] [stderr] | [INFO] [stderr] 131 | fn group_by(&self, column: &str) -> Result, TableError> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mid` [INFO] [stderr] --> src/mmap_table.rs:151:29 [INFO] [stderr] | [INFO] [stderr] 151 | fn split_rows_at(&self, mid: usize) -> Result<(Self::TableSliceType, Self::TableSliceType), TableError> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_mid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:182:56 [INFO] [stderr] | [INFO] [stderr] 182 | let pos = self.column_map.iter().position(|(c, i)| c == column); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `read` [INFO] [stderr] --> src/mmap_table.rs:200:19 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_read` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `written` [INFO] [stderr] --> src/mmap_table.rs:200:25 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_written` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_ends` [INFO] [stderr] --> src/mmap_table.rs:200:34 [INFO] [stderr] | [INFO] [stderr] 200 | let (res, read, written, num_ends) = reader.read_record(&table.mmap[offset..], &mut output, &mut ends); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_ends` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:217:40 [INFO] [stderr] | [INFO] [stderr] 217 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mmap_table.rs:255:40 [INFO] [stderr] | [INFO] [stderr] 255 | self.column_map.iter().map(|(c,i)| c.clone()).collect() [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/mmap_table.rs:258:24 [INFO] [stderr] | [INFO] [stderr] 258 | fn group_by(&self, column: &str) -> Result, TableError> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mid` [INFO] [stderr] --> src/mmap_table.rs:281:29 [INFO] [stderr] | [INFO] [stderr] 281 | fn split_rows_at(&self, mid: usize) -> Result<(Self::TableSliceType, Self::TableSliceType), TableError> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_mid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `compare` [INFO] [stderr] --> src/mmap_table.rs:287:75 [INFO] [stderr] | [INFO] [stderr] 287 | fn sort_by Ordering>(&self, compare: F) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_col` [INFO] [stderr] --> src/mmap_table.rs:291:29 [INFO] [stderr] | [INFO] [stderr] 291 | fn rename_column(&self, old_col :&str, new_col :&str) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_col` [INFO] [stderr] --> src/mmap_table.rs:291:44 [INFO] [stderr] | [INFO] [stderr] 291 | fn rename_column(&self, old_col :&str, new_col :&str) -> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_col` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/mmap_table.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut mmap = unsafe { MmapMut::map_mut(&file)? }; [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 `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | self.append_row(row); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | csv.write_record(self.columns()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 172 | / csv.write_record(self.columns().iter().map(|c| { [INFO] [stderr] 173 | | row.get(c).as_string() [INFO] [stderr] 174 | | })); [INFO] [stderr] | |________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/row_table.rs:344:13 [INFO] [stderr] | [INFO] [stderr] 344 | writeln!(f, "{:?}", self.table.lock().unwrap().rows[*row]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/row_table.rs:504:9 [INFO] [stderr] | [INFO] [stderr] 504 | table.find_by(|r| { r.get("B"); true }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/row_table.rs:506:31 [INFO] [stderr] | [INFO] [stderr] 506 | table.update_by(|r| { r.set("B", Value::Integer(7));} ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 56 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/large_table-2019ac773157822b [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test value::test::integer ... ok [INFO] [stdout] test value::test::float ... ok [INFO] [stdout] test row_table::tests::to_from_csv ... ok [INFO] [stdout] test value::test::date_time ... ok [INFO] [stderr] error: test failed, to rerun pass '--lib' [INFO] [stdout] test mmap_table::tests::new ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- mmap_table::tests::new stdout ---- [INFO] [stdout] thread 'mmap_table::tests::new' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/mmap_table.rs:335:21 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55c450264344 - backtrace::backtrace::libunwind::trace::hc1c4a1d8ad423b97 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x55c450264344 - backtrace::backtrace::trace_unsynchronized::h82274781060cb056 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x55c450264344 - std::sys_common::backtrace::_print_fmt::h2a45d89b653a4da8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x55c450264344 - ::fmt::h41a0a93ab85e6aa1 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x55c45028ea2c - core::fmt::write::hdaea18585065a96d [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x55c4501710f5 - std::io::Write::write_fmt::h42f0550b6bd39c6e [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x55c45025e931 - std::io::impls::>::write_fmt::h223d7b7033cad46d [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x55c450266c15 - std::sys_common::backtrace::_print::hd95f9978cc145ca4 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x55c450266c15 - std::sys_common::backtrace::print::hfb25ca2291be47d0 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x55c450266c15 - std::panicking::default_hook::{{closure}}::h44f76cee5dc8591c [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x55c4502668fb - std::panicking::default_hook::h198e1a712910f1e6 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x55c450267272 - std::panicking::rust_panic_with_hook::hc0b4730bb8013f9d [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x55c450266e5b - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x55c45028d451 - core::panicking::panic_fmt::h1ac71ad045d55416 [INFO] [stdout] at src/libcore/panicking.rs:111 [INFO] [stdout] 14: 0x55c45028d273 - core::option::expect_none_failed::hb40004d71d61b685 [INFO] [stdout] at src/libcore/option.rs:1268 [INFO] [stdout] 15: 0x55c45015f0ca - core::result::Result::unwrap::h7c870cfaa87dd776 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/result.rs:1005 [INFO] [stdout] 16: 0x55c45016b4f7 - large_table::mmap_table::tests::new::hd1c7359a2b7911d4 [INFO] [stdout] at src/mmap_table.rs:335 [INFO] [stdout] 17: 0x55c45016b46a - large_table::mmap_table::tests::new::{{closure}}::h83d6d87e8dd01b54 [INFO] [stdout] at src/mmap_table.rs:331 [INFO] [stdout] 18: 0x55c4501585de - core::ops::function::FnOnce::call_once::h2603f571be5bc032 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 19: 0x55c450198586 - as core::ops::function::FnOnce>::call_once::hc165f65f4331a55c [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 20: 0x55c450198586 - as core::ops::function::FnOnce<()>>::call_once::hb89f1f769cad07ce [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 21: 0x55c450198586 - std::panicking::try::do_call::h104f7f3dae5a1b29 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 22: 0x55c450198586 - std::panicking::try::h0e20f01361cba753 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 23: 0x55c450198586 - std::panic::catch_unwind::h0bd0c84b5f4cd121 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 24: 0x55c450198586 - test::run_test_in_process::hf34c22adfeb6853d [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 25: 0x55c450198586 - test::run_test::run_test_inner::{{closure}}::h40d568b4c10a12f1 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 26: 0x55c4501705a6 - std::sys_common::backtrace::__rust_begin_short_backtrace::hffd9774ad3f2d778 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 27: 0x55c450175935 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h4594020476cf52d4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:475 [INFO] [stdout] 28: 0x55c450175935 - as core::ops::function::FnOnce<()>>::call_once::h9d0a6d45b73e29e4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 29: 0x55c450175935 - std::panicking::try::do_call::h902fd77b30bb3bb7 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 30: 0x55c450175935 - std::panicking::try::hc17d3a628e65d49d [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 31: 0x55c450175935 - std::panic::catch_unwind::h9c9d49cbb6b18017 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 32: 0x55c450175935 - std::thread::Builder::spawn_unchecked::{{closure}}::h6a6f5a333fd631a2 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:474 [INFO] [stdout] 33: 0x55c450175935 - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha6fb197e0ce57f73 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 34: 0x55c45026da6a - as core::ops::function::FnOnce>::call_once::h1f1fac7de7dd9691 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 35: 0x55c45026da6a - as core::ops::function::FnOnce>::call_once::ha031f48633a6af54 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 36: 0x55c45026da6a - std::sys::unix::thread::Thread::new::thread_start::h241864caf436e182 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 37: 0x7fdfab317609 - start_thread [INFO] [stdout] 38: 0x7fdfab223103 - __clone [INFO] [stdout] 39: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] mmap_table::tests::new [INFO] [stdout] [INFO] [stdout] test result: FAILED. 4 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "e6b4bffcfff40b675d908ac03ffc6fc0805a31399642b80c1ab4e6b383a4efd9"` [INFO] running `"docker" "rm" "-f" "e6b4bffcfff40b675d908ac03ffc6fc0805a31399642b80c1ab4e6b383a4efd9"` [INFO] [stdout] e6b4bffcfff40b675d908ac03ffc6fc0805a31399642b80c1ab4e6b383a4efd9