[INFO] crate rust2vec 0.3.1 is already in cache [INFO] extracting crate rust2vec 0.3.1 into work/ex/clippy-test-run/sources/stable/reg/rust2vec/0.3.1 [INFO] extracting crate rust2vec 0.3.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rust2vec/0.3.1 [INFO] validating manifest of rust2vec-0.3.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of rust2vec-0.3.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing rust2vec-0.3.1 [INFO] finished frobbing rust2vec-0.3.1 [INFO] frobbed toml for rust2vec-0.3.1 written to work/ex/clippy-test-run/sources/stable/reg/rust2vec/0.3.1/Cargo.toml [INFO] started frobbing rust2vec-0.3.1 [INFO] finished frobbing rust2vec-0.3.1 [INFO] frobbed toml for rust2vec-0.3.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rust2vec/0.3.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting rust2vec-0.3.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rust2vec/0.3.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 9f8956dfa7c22dc89e1a99a2529d18d2d804e092686b6884670e1b708d7e22cc [INFO] running `"docker" "start" "-a" "9f8956dfa7c22dc89e1a99a2529d18d2d804e092686b6884670e1b708d7e22cc"` [INFO] [stderr] Checking ndarray v0.11.2 [INFO] [stderr] Checking rust2vec v0.3.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/embeddings.rs:307:17 [INFO] [stderr] | [INFO] [stderr] 307 | word: word, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `word` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/embeddings.rs:360:9 [INFO] [stderr] | [INFO] [stderr] 360 | matrix: matrix, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `matrix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/embeddings.rs:361:9 [INFO] [stderr] | [INFO] [stderr] 361 | embed_len: embed_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `embed_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/embeddings.rs:362:9 [INFO] [stderr] | [INFO] [stderr] 362 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/embeddings.rs:363:9 [INFO] [stderr] | [INFO] [stderr] 363 | words: words, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `words` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/word2vec.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | write!(w, "{} {}\n", self.len(), self.embed_len())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/embeddings.rs:307:17 [INFO] [stderr] | [INFO] [stderr] 307 | word: word, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `word` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/embeddings.rs:360:9 [INFO] [stderr] | [INFO] [stderr] 360 | matrix: matrix, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `matrix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/embeddings.rs:361:9 [INFO] [stderr] | [INFO] [stderr] 361 | embed_len: embed_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `embed_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/embeddings.rs:362:9 [INFO] [stderr] | [INFO] [stderr] 362 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/embeddings.rs:363:9 [INFO] [stderr] | [INFO] [stderr] 363 | words: words, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `words` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/word2vec.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | write!(w, "{} {}\n", self.len(), self.embed_len())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `embeddings::Builder` [INFO] [stderr] --> src/embeddings.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | / pub fn new() -> Self { [INFO] [stderr] 69 | | Builder { [INFO] [stderr] 70 | | words: Vec::new(), [INFO] [stderr] 71 | | indices: HashMap::new(), [INFO] [stderr] 72 | | embeddings: Vec::new(), [INFO] [stderr] 73 | | } [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 60 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: item `embeddings::Embeddings` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/embeddings.rs:144:1 [INFO] [stderr] | [INFO] [stderr] 144 | / impl Embeddings { [INFO] [stderr] 145 | | /// Perform an analogy query. [INFO] [stderr] 146 | | /// [INFO] [stderr] 147 | | /// This method returns words that are close in vector space the analogy [INFO] [stderr] ... | [INFO] [stderr] 334 | | } [INFO] [stderr] 335 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/word2vec.rs:37:49 [INFO] [stderr] | [INFO] [stderr] 37 | let word = try!(read_string(reader, ' ' as u8)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b' ' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/word2vec.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | w.write(&[0x0a])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust2vec`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `embeddings::Builder` [INFO] [stderr] --> src/embeddings.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | / pub fn new() -> Self { [INFO] [stderr] 69 | | Builder { [INFO] [stderr] 70 | | words: Vec::new(), [INFO] [stderr] 71 | | indices: HashMap::new(), [INFO] [stderr] 72 | | embeddings: Vec::new(), [INFO] [stderr] 73 | | } [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 60 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: item `embeddings::Embeddings` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/embeddings.rs:144:1 [INFO] [stderr] | [INFO] [stderr] 144 | / impl Embeddings { [INFO] [stderr] 145 | | /// Perform an analogy query. [INFO] [stderr] 146 | | /// [INFO] [stderr] 147 | | /// This method returns words that are close in vector space the analogy [INFO] [stderr] ... | [INFO] [stderr] 334 | | } [INFO] [stderr] 335 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/word2vec.rs:37:49 [INFO] [stderr] | [INFO] [stderr] 37 | let word = try!(read_string(reader, ' ' as u8)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b' ' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/word2vec.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | w.write(&[0x0a])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust2vec`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "9f8956dfa7c22dc89e1a99a2529d18d2d804e092686b6884670e1b708d7e22cc"` [INFO] running `"docker" "rm" "-f" "9f8956dfa7c22dc89e1a99a2529d18d2d804e092686b6884670e1b708d7e22cc"` [INFO] [stdout] 9f8956dfa7c22dc89e1a99a2529d18d2d804e092686b6884670e1b708d7e22cc