[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 master#28742a1146f10a4f09369baad027a464acb7a766 for pr-71274 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwspeirs%2Fmem_table" "/workspace/builds/worker-10/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/wspeirs/mem_table on toolchain 28742a1146f10a4f09369baad027a464acb7a766 [INFO] running `"/workspace/cargo-home/bin/cargo" "+28742a1146f10a4f09369baad027a464acb7a766" "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-10/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" "+28742a1146f10a4f09369baad027a464acb7a766" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=forbid" "-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" "+28742a1146f10a4f09369baad027a464acb7a766" "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] 6907465c6cb7fbff5c870d79d354d5cc6d7d93e138afe2b161fe87c65c7cbd13 [INFO] running `"docker" "start" "-a" "6907465c6cb7fbff5c870d79d354d5cc6d7d93e138afe2b161fe87c65c7cbd13"` [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Compiling memchr v2.3.0 [INFO] [stderr] Compiling rayon-core v1.7.0 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling either v1.5.3 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Compiling num-bigint v0.2.5 [INFO] [stderr] Compiling num-iter v0.1.40 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num-rational v0.2.3 [INFO] [stderr] Compiling time v0.1.42 [INFO] [stderr] Compiling memmap v0.7.0 [INFO] [stderr] Compiling regex-automata v0.1.8 [INFO] [stderr] Compiling crossbeam-queue v0.2.1 [INFO] [stderr] Compiling ordered-float v1.0.2 [INFO] [stderr] Compiling rayon v1.3.0 [INFO] [stderr] Compiling csv-core v0.1.6 [INFO] [stderr] Compiling chrono v0.4.10 [INFO] [stderr] Compiling num v0.2.1 [INFO] [stderr] Compiling rust_decimal v0.10.2 [INFO] [stderr] Compiling bstr v0.2.9 [INFO] [stderr] Compiling dtparse v1.0.3 [INFO] [stderr] Compiling csv v1.1.2 [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 31.63s [INFO] running `"docker" "inspect" "6907465c6cb7fbff5c870d79d354d5cc6d7d93e138afe2b161fe87c65c7cbd13"` [INFO] running `"docker" "rm" "-f" "6907465c6cb7fbff5c870d79d354d5cc6d7d93e138afe2b161fe87c65c7cbd13"` [INFO] [stdout] 6907465c6cb7fbff5c870d79d354d5cc6d7d93e138afe2b161fe87c65c7cbd13 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=forbid" "-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" "+28742a1146f10a4f09369baad027a464acb7a766" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 8c4b7d6771417264891a963d41495a02fd9dbfe30380d2da9237c69eae48dd5d [INFO] running `"docker" "start" "-a" "8c4b7d6771417264891a963d41495a02fd9dbfe30380d2da9237c69eae48dd5d"` [INFO] [stderr] Compiling proc-macro2 v1.0.8 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling syn v1.0.14 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling unicode-width v0.1.7 [INFO] [stderr] Compiling ppv-lite86 v0.2.6 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling regex-syntax v0.6.14 [INFO] [stderr] Compiling oorandom v11.1.0 [INFO] [stderr] Compiling itertools v0.8.2 [INFO] [stderr] Compiling cast v0.2.3 [INFO] [stderr] Compiling plotters v0.2.12 [INFO] [stderr] Compiling serde_json v1.0.45 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling simple_logger v0.5.0 [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 textwrap v0.11.0 [INFO] [stderr] Compiling walkdir v2.3.1 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling c2-chacha v0.2.3 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling criterion-plot v0.4.1 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling tinytemplate v1.0.3 [INFO] [stderr] Compiling regex v1.3.4 [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 59.22s [INFO] running `"docker" "inspect" "8c4b7d6771417264891a963d41495a02fd9dbfe30380d2da9237c69eae48dd5d"` [INFO] running `"docker" "rm" "-f" "8c4b7d6771417264891a963d41495a02fd9dbfe30380d2da9237c69eae48dd5d"` [INFO] [stdout] 8c4b7d6771417264891a963d41495a02fd9dbfe30380d2da9237c69eae48dd5d [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=forbid" "-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" "+28742a1146f10a4f09369baad027a464acb7a766" "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] 91820600340e06446e3633f448b0e014f2ddf3c459c972eb71bec755c13c7df7 [INFO] running `"docker" "start" "-a" "91820600340e06446e3633f448b0e014f2ddf3c459c972eb71bec755c13c7df7"` [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] 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 0.58s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/large_table-0e81cf6626b47697 [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test row_table::tests::to_from_csv ... ok [INFO] [stdout] test value::test::float ... ok [INFO] [stdout] test value::test::integer ... ok [INFO] [stdout] test value::test::date_time ... ok [INFO] [stdout] test mmap_table::tests::new ... FAILED [INFO] [stderr] error: test failed, to rerun pass '--lib' [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: 0x555a15dfade4 - backtrace::backtrace::libunwind::trace::hbb4ce8c04526962e [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x555a15dfade4 - backtrace::backtrace::trace_unsynchronized::h79251c088e7be038 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x555a15dfade4 - std::sys_common::backtrace::_print_fmt::h6b0ea30a9223acae [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x555a15dfade4 - ::fmt::h4d51ef07ce58e54b [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x555a15e2549c - core::fmt::write::he16b9c1345d8565e [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x555a15d086a5 - std::io::Write::write_fmt::hc31efe493f037457 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x555a15df5401 - std::io::impls::>::write_fmt::hfcb1ff6c5b834381 [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x555a15dfd6b5 - std::sys_common::backtrace::_print::h9288fa7d9f6629cb [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x555a15dfd6b5 - std::sys_common::backtrace::print::h82e606e62781d8af [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x555a15dfd6b5 - std::panicking::default_hook::{{closure}}::h1fe350ecbf7604e4 [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x555a15dfd39b - std::panicking::default_hook::h1b8b42953fdc841d [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x555a15dfdd12 - std::panicking::rust_panic_with_hook::he73826f4bb75a21e [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x555a15dfd8fb - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x555a15e23ec1 - core::panicking::panic_fmt::hc8f9a0b2af5fb585 [INFO] [stdout] at src/libcore/panicking.rs:111 [INFO] [stdout] 14: 0x555a15e23ce3 - core::option::expect_none_failed::ha34d57526cca3063 [INFO] [stdout] at src/libcore/option.rs:1268 [INFO] [stdout] 15: 0x555a15cef97a - core::result::Result::unwrap::h51a8ac0005404746 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libcore/result.rs:1005 [INFO] [stdout] 16: 0x555a15d02c67 - large_table::mmap_table::tests::new::hacc04f8afdc356b9 [INFO] [stdout] at src/mmap_table.rs:335 [INFO] [stdout] 17: 0x555a15d02bda - large_table::mmap_table::tests::new::{{closure}}::hdc9bb59ebec4efa5 [INFO] [stdout] at src/mmap_table.rs:331 [INFO] [stdout] 18: 0x555a15cf453e - core::ops::function::FnOnce::call_once::h1e9963cea9131986 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libcore/ops/function.rs:232 [INFO] [stdout] 19: 0x555a15d1459f - as core::ops::function::FnOnce>::call_once::he1ba1da20629a2d8 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/liballoc/boxed.rs:1008 [INFO] [stdout] 20: 0x555a15d2fb9e - as core::ops::function::FnOnce<()>>::call_once::hf94927858761de4a [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/panic.rs:318 [INFO] [stdout] 21: 0x555a15d2fb9e - std::panicking::try::do_call::h1585003392664d93 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/panicking.rs:331 [INFO] [stdout] 22: 0x555a15d2fb9e - std::panicking::try::h43d950f958a74468 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/panicking.rs:274 [INFO] [stdout] 23: 0x555a15d2fb9e - std::panic::catch_unwind::hb5284de2977ddeea [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/panic.rs:394 [INFO] [stdout] 24: 0x555a15d2fb9e - test::run_test_in_process::had39bb305b26a3ae [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 25: 0x555a15d2fb9e - test::run_test::run_test_inner::{{closure}}::h12b1756b854ada1a [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 26: 0x555a15d07b56 - std::sys_common::backtrace::__rust_begin_short_backtrace::hec04b80bece92bf9 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 27: 0x555a15d0ce75 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::heca431434c1ac418 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/thread/mod.rs:475 [INFO] [stdout] 28: 0x555a15d0ce75 - as core::ops::function::FnOnce<()>>::call_once::he2457d582c032747 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/panic.rs:318 [INFO] [stdout] 29: 0x555a15d0ce75 - std::panicking::try::do_call::hbcd49dc3823e8b28 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/panicking.rs:331 [INFO] [stdout] 30: 0x555a15d0ce75 - std::panicking::try::h1ba95c07dd8d422b [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/panicking.rs:274 [INFO] [stdout] 31: 0x555a15d0ce75 - std::panic::catch_unwind::h95854794ba9eee4c [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/panic.rs:394 [INFO] [stdout] 32: 0x555a15d0ce75 - std::thread::Builder::spawn_unchecked::{{closure}}::h4e297b8574092d6e [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libstd/thread/mod.rs:474 [INFO] [stdout] 33: 0x555a15d0ce75 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h1b855aad7f5ac67e [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/libcore/ops/function.rs:232 [INFO] [stdout] 34: 0x555a15df11ef - as core::ops::function::FnOnce>::call_once::h48069b269ca48108 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/liballoc/boxed.rs:1008 [INFO] [stdout] 35: 0x555a15e04503 - as core::ops::function::FnOnce>::call_once::heff660b32cd3afd8 [INFO] [stdout] at /rustc/28742a1146f10a4f09369baad027a464acb7a766/src/liballoc/boxed.rs:1008 [INFO] [stdout] 36: 0x555a15e04503 - std::sys::unix::thread::Thread::new::thread_start::ha538939ed1e2e958 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 37: 0x7f958257b6db - start_thread [INFO] [stdout] 38: 0x7f958208c88f - __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" "91820600340e06446e3633f448b0e014f2ddf3c459c972eb71bec755c13c7df7"` [INFO] running `"docker" "rm" "-f" "91820600340e06446e3633f448b0e014f2ddf3c459c972eb71bec755c13c7df7"` [INFO] [stdout] 91820600340e06446e3633f448b0e014f2ddf3c459c972eb71bec755c13c7df7