[INFO] fetching crate o2lsh 0.1.0... [INFO] checking o2lsh-0.1.0 against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] extracting crate o2lsh 0.1.0 into /workspace/builds/worker-3/source [INFO] validating manifest of crates.io crate o2lsh 0.1.0 on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate o2lsh 0.1.0 [INFO] finished tweaking crates.io crate o2lsh 0.1.0 [INFO] tweaked toml for crates.io crate o2lsh 0.1.0 written to /workspace/builds/worker-3/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rayon v0.7.1 [INFO] [stderr] Downloaded revord v0.0.2 [INFO] [stderr] Downloaded ndarray v0.9.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2df85dbd2f1bcef6b02914cdaf75d0138ac1629a3eca3650435011d0c4ae62a1 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "2df85dbd2f1bcef6b02914cdaf75d0138ac1629a3eca3650435011d0c4ae62a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2df85dbd2f1bcef6b02914cdaf75d0138ac1629a3eca3650435011d0c4ae62a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2df85dbd2f1bcef6b02914cdaf75d0138ac1629a3eca3650435011d0c4ae62a1", kill_on_drop: false }` [INFO] [stdout] 2df85dbd2f1bcef6b02914cdaf75d0138ac1629a3eca3650435011d0c4ae62a1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 76df1b50ec43d0df3341f97a710dae4bd4d276c508e8cc2c715c2e3bb9da9d17 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "76df1b50ec43d0df3341f97a710dae4bd4d276c508e8cc2c715c2e3bb9da9d17", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling ndarray v0.9.1 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking revord v0.0.2 [INFO] [stderr] Checking itertools v0.6.5 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Compiling crossbeam-utils v0.8.3 [INFO] [stderr] Compiling memoffset v0.6.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking crossbeam-epoch v0.9.3 [INFO] [stderr] Checking crossbeam-channel v0.5.0 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Checking rayon-core v1.9.0 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking rayon v0.7.1 [INFO] [stderr] Checking o2lsh v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:65:29 [INFO] [stdout] | [INFO] [stdout] 65 | hash_functions: Vec O + Sync + Send>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&'a T) -> O + Sync + Send` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:104:47 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn new(data: &'a [T], hashes: Vec f32 + Sync + Send>>, ms: &'a [Vec]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&'a T) -> f32 + Sync + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:130:53 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn new_build(data: &'a [T], hashes: Vec f32 + Sync + Send>>, ms: &'a [Vec]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&'a T) -> f32 + Sync + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hashes.rs:16:55 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn get_hash_closure(length: usize, w: f32) -> Box) -> f32 + Send + Sync> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32 + Send + Sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/util.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | let f = try!(File::open(path)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/util.rs:49:31 [INFO] [stdout] | [INFO] [stdout] 49 | line_vec[j] = try!(br.read_f32::()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/util.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | let f = try!(File::open(path)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/util.rs:64:31 [INFO] [stdout] | [INFO] [stdout] 64 | line_vec[j] = try!(br.read_i32::()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/multi.rs:23:48 [INFO] [stdout] | [INFO] [stdout] 23 | vec![((i, 1), bucket_distance(*fi, (*hi as f32), 1, W)), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/multi.rs:24:49 [INFO] [stdout] | [INFO] [stdout] 24 | ((i, -1), bucket_distance(*fi, (*hi as f32), -1, W))] [INFO] [stdout] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:65:29 [INFO] [stdout] | [INFO] [stdout] 65 | hash_functions: Vec O + Sync + Send>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&'a T) -> O + Sync + Send` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:104:47 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn new(data: &'a [T], hashes: Vec f32 + Sync + Send>>, ms: &'a [Vec]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&'a T) -> f32 + Sync + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:130:53 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn new_build(data: &'a [T], hashes: Vec f32 + Sync + Send>>, ms: &'a [Vec]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&'a T) -> f32 + Sync + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:219:28 [INFO] [stdout] | [INFO] [stdout] 219 | let funcs: Vec) -> f32 + Send + Sync>> = vec![Box::new(val)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32 + Send + Sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:233:28 [INFO] [stdout] | [INFO] [stdout] 233 | let funcs: Vec) -> f32 + Send + Sync>> = vec![Box::new(val)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32 + Send + Sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:247:28 [INFO] [stdout] | [INFO] [stdout] 247 | let funcs: Vec) -> f32 + Send + Sync>> = vec![Box::new(val)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32 + Send + Sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:263:28 [INFO] [stdout] | [INFO] [stdout] 263 | ... let funcs: Vec) -> f32 + Send + Sync>> = (1..num_hashes).map(|_| hashes::get_hash_closure(vec_length, 10.0)).colle... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32 + Send + Sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/table.rs:289:28 [INFO] [stdout] | [INFO] [stdout] 289 | let funcs: Vec) -> f32 + Send + Sync>> = vec![Box::new(val)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32 + Send + Sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/hashes.rs:16:55 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn get_hash_closure(length: usize, w: f32) -> Box) -> f32 + Send + Sync> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32 + Send + Sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/util.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | let f = try!(File::open(path)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/util.rs:49:31 [INFO] [stdout] | [INFO] [stdout] 49 | line_vec[j] = try!(br.read_f32::()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/util.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | let f = try!(File::open(path)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/util.rs:64:31 [INFO] [stdout] | [INFO] [stdout] 64 | line_vec[j] = try!(br.read_i32::()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/multi.rs:23:48 [INFO] [stdout] | [INFO] [stdout] 23 | vec![((i, 1), bucket_distance(*fi, (*hi as f32), 1, W)), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/multi.rs:24:49 [INFO] [stdout] | [INFO] [stdout] 24 | ((i, -1), bucket_distance(*fi, (*hi as f32), -1, W))] [INFO] [stdout] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lsh.rs:88:32 [INFO] [stdout] | [INFO] [stdout] 88 | let funcs: Vec) -> f32 + Send + Sync>> = vec![Box::new(val)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32 + Send + Sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lsh.rs:112:32 [INFO] [stdout] | [INFO] [stdout] 112 | let funcs: Vec) -> f32 + Send + Sync>> = vec![Box::new(val)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32 + Send + Sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | let mut bucket_chain = &mut (x_to_build.buckets[bucket_ind]); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/table.rs:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | let x = StandardLSHTable::new(&test_data, funcs, &ms); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/table.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | let x = StandardLSHTable::new_build(&test_data, funcs, &ms); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> src/multi.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let z: Vec<_> = ii.take(3).collect(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | let mut bucket_chain = &mut (x_to_build.buckets[bucket_ind]); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0603]: trait `LSHTable` is private [INFO] [stdout] --> benches/mnist_benchmark.rs:31:35 [INFO] [stdout] | [INFO] [stdout] 31 | let hash_table: o2lsh::table::LSHTable, Fn(&Vec) -> f32> = o2lsh::table::LSHTable::new_build(&mnist_data, hash_boxes, &... [INFO] [stdout] | ^^^^^^^^ private trait [INFO] [stdout] | [INFO] [stdout] note: the trait `LSHTable` is defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::lshtable::LSHTable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0603]: trait `LSHTable` is private [INFO] [stdout] --> benches/mnist_benchmark.rs:31:92 [INFO] [stdout] | [INFO] [stdout] 31 | let hash_table: o2lsh::table::LSHTable, Fn(&Vec) -> f32> = o2lsh::table::LSHTable::new_build(&mnist_data, hash_boxes, &... [INFO] [stdout] | ^^^^^^^^ private trait [INFO] [stdout] | [INFO] [stdout] note: the trait `LSHTable` is defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::lshtable::LSHTable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0603]: trait `LSHTable` is private [INFO] [stdout] --> benches/mnist_benchmark.rs:68:39 [INFO] [stdout] | [INFO] [stdout] 68 | ... let hash_table: o2lsh::table::LSHTable, Fn(&Vec) -> f32> = o2lsh::table::LSHTable::new_build(&mnist_data, hash_boxes,... [INFO] [stdout] | ^^^^^^^^ private trait [INFO] [stdout] | [INFO] [stdout] note: the trait `LSHTable` is defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::lshtable::LSHTable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0603]: trait `LSHTable` is private [INFO] [stdout] --> benches/mnist_benchmark.rs:68:96 [INFO] [stdout] | [INFO] [stdout] 68 | ... let hash_table: o2lsh::table::LSHTable, Fn(&Vec) -> f32> = o2lsh::table::LSHTable::new_build(&mnist_data, hash_boxes,... [INFO] [stdout] | ^^^^^^^^ private trait [INFO] [stdout] | [INFO] [stdout] note: the trait `LSHTable` is defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::lshtable::LSHTable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> benches/mnist_benchmark.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | let hash_table: o2lsh::table::LSHTable, Fn(&Vec) -> f32> = o2lsh::table::LSHTable::new_build(&mnist_data, hash_boxes, &... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn o2lsh::table::LSHTable, Fn(&Vec) -> f32>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> benches/mnist_benchmark.rs:31:54 [INFO] [stdout] | [INFO] [stdout] 31 | let hash_table: o2lsh::table::LSHTable, Fn(&Vec) -> f32> = o2lsh::table::LSHTable::new_build(&mnist_data, hash_boxes, &... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> benches/mnist_benchmark.rs:68:25 [INFO] [stdout] | [INFO] [stdout] 68 | let hash_table: o2lsh::table::LSHTable, Fn(&Vec) -> f32> = o2lsh::table::LSHTable::new_build(&mnist_data, hash_boxe... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn o2lsh::table::LSHTable, Fn(&Vec) -> f32>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> benches/mnist_benchmark.rs:68:58 [INFO] [stdout] | [INFO] [stdout] 68 | ... let hash_table: o2lsh::table::LSHTable, Fn(&Vec) -> f32> = o2lsh::table::LSHTable::new_build(&mnist_data, hash_boxes,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new_build` found for trait object `dyn LSHTable<'_, _, _>` in the current scope [INFO] [stdout] --> benches/mnist_benchmark.rs:31:102 [INFO] [stdout] | [INFO] [stdout] 31 | ...2> = o2lsh::table::LSHTable::new_build(&mnist_data, hash_boxes, &ms); [INFO] [stdout] | ^^^^^^^^^ function or associated item not found in `dyn LSHTable<'_, _, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: the `query_multiprobe` method cannot be invoked on a trait object [INFO] [stdout] --> benches/mnist_benchmark.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | hash_table.query_multiprobe(vec, 10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/lshtable.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait LSHTable<'a, T, O> : Sync + Send { [INFO] [stdout] | - this has a `Sized` requirement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new_build` found for trait object `dyn LSHTable<'_, _, _>` in the current scope [INFO] [stdout] --> benches/mnist_benchmark.rs:68:106 [INFO] [stdout] | [INFO] [stdout] 68 | ...2> = o2lsh::table::LSHTable::new_build(&mnist_data, hash_boxes, &ms); [INFO] [stdout] | ^^^^^^^^^ function or associated item not found in `dyn LSHTable<'_, _, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>` cannot be known at compilation time [INFO] [stdout] --> benches/mnist_benchmark.rs:69:30 [INFO] [stdout] | [INFO] [stdout] 69 | all_tables.add_table(hash_table); [INFO] [stdout] | ^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>: LSHTable<'_, _, f32>` is not satisfied [INFO] [stdout] --> benches/mnist_benchmark.rs:69:30 [INFO] [stdout] | [INFO] [stdout] 69 | all_tables.add_table(hash_table); [INFO] [stdout] | ^^^^^^^^^^ the trait `LSHTable<'_, _, f32>` is not implemented for `dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>` cannot be known at compilation time [INFO] [stdout] --> benches/mnist_benchmark.rs:64:26 [INFO] [stdout] | [INFO] [stdout] 64 | let mut all_tables = o2lsh::lsh::LSHLookup::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>` [INFO] [stdout] = note: required by `LSHLookup::<'a, T, f32, L>::new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>: LSHTable<'_, _, f32>` is not satisfied [INFO] [stdout] --> benches/mnist_benchmark.rs:64:26 [INFO] [stdout] | [INFO] [stdout] 64 | let mut all_tables = o2lsh::lsh::LSHLookup::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `LSHTable<'_, _, f32>` is not implemented for `dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>` [INFO] [stdout] | [INFO] [stdout] = note: required by `LSHLookup::<'a, T, f32, L>::new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `query_vec` exists for struct `LSHLookup<'_, _, f32, dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>>`, but its trait bounds were not satisfied [INFO] [stdout] --> benches/mnist_benchmark.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | all_tables.query_vec(vec, 10); [INFO] [stdout] | ^^^^^^^^^ method cannot be called on `LSHLookup<'_, _, f32, dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/lshtable.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait LSHTable<'a, T, O> : Sync + Send { [INFO] [stdout] | ------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | doesn't satisfy `_: LSHTable<_, f32>` [INFO] [stdout] | doesn't satisfy `_: Sized` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>: Sized` [INFO] [stdout] `dyn LSHTable<'_, Vec, dyn for<'r> Fn(&'r Vec) -> f32>: LSHTable<_, f32>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 12 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599, E0603. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `o2lsh` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `Command { std: "docker" "inspect" "76df1b50ec43d0df3341f97a710dae4bd4d276c508e8cc2c715c2e3bb9da9d17", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "76df1b50ec43d0df3341f97a710dae4bd4d276c508e8cc2c715c2e3bb9da9d17", kill_on_drop: false }` [INFO] [stdout] 76df1b50ec43d0df3341f97a710dae4bd4d276c508e8cc2c715c2e3bb9da9d17