[INFO] fetching crate perlin 0.1.0...
[INFO] testing perlin-0.1.0 against beta-2025-10-28 for beta-1.92-2
[INFO] extracting crate perlin 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate perlin 0.1.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate perlin 0.1.0
[INFO] tweaked toml for crates.io crate perlin 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate perlin 0.1.0 on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 15 packages to latest compatible versions
[INFO] [stderr]       Adding lazy_static v0.2.11 (available: v1.5.0)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.9.2)
[INFO] [stderr]       Adding walkdir v0.1.8 (available: v2.5.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3fffc5d6462e8363e9c18fb791106b17c18edd7427d447a66adf0e4ef621e53c
[INFO] running `Command { std: "docker" "start" "-a" "3fffc5d6462e8363e9c18fb791106b17c18edd7427d447a66adf0e4ef621e53c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3fffc5d6462e8363e9c18fb791106b17c18edd7427d447a66adf0e4ef621e53c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3fffc5d6462e8363e9c18fb791106b17c18edd7427d447a66adf0e4ef621e53c", kill_on_drop: false }`
[INFO] [stdout] 3fffc5d6462e8363e9c18fb791106b17c18edd7427d447a66adf0e4ef621e53c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9a9f4438e1ba65452b4a7385ff1a973a697b1d99350a4c87f18d5a1e4f844a6a
[INFO] running `Command { std: "docker" "start" "-a" "9a9f4438e1ba65452b4a7385ff1a973a697b1d99350a4c87f18d5a1e4f844a6a", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling perlin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `index::boolean_index::boolean_query::*`
[INFO] [stdout]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | use index::boolean_index::boolean_query::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:55:23
[INFO] [stdout]    |
[INFO] [stdout] 55 | #![deny(missing_docs, warnings)]
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let vocab = try!(Self::load_vocabulary(path));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let doc_count = try!(Self::load_statistics(path));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         try!(index.index_documents(documents));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         try!(index.save_vocabulary());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         try!(index.save_statistics());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let mut vocab_file = try!(OpenOptions::new()
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:150:21
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     try!(vocab_file.write(&byte_buffer));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 try!(vocab_file.write(&byte_buffer));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         try!(vocab_file.read_to_end(&mut bytes));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let mut vocab_file = try!(OpenOptions::new().read(true).open(path.join(VOCAB_FILENAME)));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:167:24
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let metadata = try!(vocab_file.metadata());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |             try!(statistics_file.write(&vbyte_encode(self.document_count)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:191:39
[INFO] [stdout]     |
[INFO] [stdout] 191 |             let mut statistics_file = try!(OpenOptions::new()
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         try!(statistics_file.read_to_end(&mut bytes));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:204:35
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut statistics_file = try!(OpenOptions::new().read(true).open(path.join(STATISTICS_FILENAME)));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |         try!(index.index_documents(documents));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:249:100
[INFO] [stdout]     |
[INFO] [stdout] 249 |     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<(usize)>
[INFO] [stdout]     |                                                                                                    ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 249 -     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<(usize)>
[INFO] [stdout] 249 +     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<usize>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |             try!(self.postings.store(term_id, listing));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |     postings: Box<Storage<Listing>>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     postings: Box<dyn Storage<Listing>>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/storage/compression.rs:41:16
[INFO] [stdout]    |
[INFO] [stdout] 41 |     bytes: Box<Iterator<Item = u8> + 'a>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     bytes: Box<dyn Iterator<Item = u8> + 'a>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:234:39
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn from_parts(inverted_index: Box<Storage<Listing>>,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn from_parts(inverted_index: Box<dyn Storage<Listing>>,
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/storage/compression.rs:55:51
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn underlying_iterator(&mut self) -> &mut Iterator<Item = u8> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn underlying_iterator(&mut self) -> &mut dyn Iterator<Item = u8> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 |     type QueryResult = Box<Iterator<Item = u64>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     type QueryResult = Box<dyn Iterator<Item = u64>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/storage/mod.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/utils/owning_iterator.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait OwningIterator<'a> {
[INFO] [stdout]    |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn is_empty(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 |                         unreachable!(false);
[INFO] [stdout]    |                                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 33 |                         unreachable!("{}", false);
[INFO] [stdout]    |                                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 | ...                   unreachable!(false);
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 50 |                                 unreachable!("{}", false);
[INFO] [stdout]    |                                              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.53s
[INFO] running `Command { std: "docker" "inspect" "9a9f4438e1ba65452b4a7385ff1a973a697b1d99350a4c87f18d5a1e4f844a6a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a9f4438e1ba65452b4a7385ff1a973a697b1d99350a4c87f18d5a1e4f844a6a", kill_on_drop: false }`
[INFO] [stdout] 9a9f4438e1ba65452b4a7385ff1a973a697b1d99350a4c87f18d5a1e4f844a6a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eec5940fbb6c80f524c38e0f061212047859ded7eb7c1df0551774193680f87e
[INFO] running `Command { std: "docker" "start" "-a" "eec5940fbb6c80f524c38e0f061212047859ded7eb7c1df0551774193680f87e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stdout] warning: unused import: `index::boolean_index::boolean_query::*`
[INFO] [stdout]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | use index::boolean_index::boolean_query::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:55:23
[INFO] [stdout]    |
[INFO] [stdout] 55 | #![deny(missing_docs, warnings)]
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let vocab = try!(Self::load_vocabulary(path));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let doc_count = try!(Self::load_statistics(path));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         try!(index.index_documents(documents));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         try!(index.save_vocabulary());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         try!(index.save_statistics());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let mut vocab_file = try!(OpenOptions::new()
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:150:21
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     try!(vocab_file.write(&byte_buffer));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 try!(vocab_file.write(&byte_buffer));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         try!(vocab_file.read_to_end(&mut bytes));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let mut vocab_file = try!(OpenOptions::new().read(true).open(path.join(VOCAB_FILENAME)));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:167:24
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let metadata = try!(vocab_file.metadata());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |             try!(statistics_file.write(&vbyte_encode(self.document_count)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:191:39
[INFO] [stdout]     |
[INFO] [stdout] 191 |             let mut statistics_file = try!(OpenOptions::new()
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         try!(statistics_file.read_to_end(&mut bytes));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:204:35
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut statistics_file = try!(OpenOptions::new().read(true).open(path.join(STATISTICS_FILENAME)));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |         try!(index.index_documents(documents));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:249:100
[INFO] [stdout]     |
[INFO] [stdout] 249 |     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<(usize)>
[INFO] [stdout]     |                                                                                                    ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 249 -     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<(usize)>
[INFO] [stdout] 249 +     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<usize>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |             try!(self.postings.store(term_id, listing));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |     postings: Box<Storage<Listing>>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     postings: Box<dyn Storage<Listing>>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/storage/compression.rs:41:16
[INFO] [stdout]    |
[INFO] [stdout] 41 |     bytes: Box<Iterator<Item = u8> + 'a>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     bytes: Box<dyn Iterator<Item = u8> + 'a>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:234:39
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn from_parts(inverted_index: Box<Storage<Listing>>,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn from_parts(inverted_index: Box<dyn Storage<Listing>>,
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/storage/compression.rs:55:51
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn underlying_iterator(&mut self) -> &mut Iterator<Item = u8> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn underlying_iterator(&mut self) -> &mut dyn Iterator<Item = u8> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 |     type QueryResult = Box<Iterator<Item = u64>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     type QueryResult = Box<dyn Iterator<Item = u64>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/storage/mod.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/utils/owning_iterator.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait OwningIterator<'a> {
[INFO] [stdout]    |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn is_empty(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 |                         unreachable!(false);
[INFO] [stdout]    |                                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 33 |                         unreachable!("{}", false);
[INFO] [stdout]    |                                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 | ...                   unreachable!(false);
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 50 |                                 unreachable!("{}", false);
[INFO] [stdout]    |                                              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling walkdir v0.1.8
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling perlin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `index::boolean_index::boolean_query::*`
[INFO] [stdout]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | use index::boolean_index::boolean_query::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:55:23
[INFO] [stdout]    |
[INFO] [stdout] 55 | #![deny(missing_docs, warnings)]
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let vocab = try!(Self::load_vocabulary(path));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let doc_count = try!(Self::load_statistics(path));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         try!(index.index_documents(documents));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         try!(index.save_vocabulary());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         try!(index.save_statistics());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let mut vocab_file = try!(OpenOptions::new()
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:150:21
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     try!(vocab_file.write(&byte_buffer));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 try!(vocab_file.write(&byte_buffer));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         try!(vocab_file.read_to_end(&mut bytes));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let mut vocab_file = try!(OpenOptions::new().read(true).open(path.join(VOCAB_FILENAME)));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:167:24
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let metadata = try!(vocab_file.metadata());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |             try!(statistics_file.write(&vbyte_encode(self.document_count)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:191:39
[INFO] [stdout]     |
[INFO] [stdout] 191 |             let mut statistics_file = try!(OpenOptions::new()
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         try!(statistics_file.read_to_end(&mut bytes));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:204:35
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut statistics_file = try!(OpenOptions::new().read(true).open(path.join(STATISTICS_FILENAME)));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |         try!(index.index_documents(documents));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:249:100
[INFO] [stdout]     |
[INFO] [stdout] 249 |     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<(usize)>
[INFO] [stdout]     |                                                                                                    ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 249 -     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<(usize)>
[INFO] [stdout] 249 +     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<usize>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |             try!(self.postings.store(term_id, listing));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `index::boolean_index::boolean_query::*`
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |     use index::boolean_index::boolean_query::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |     postings: Box<Storage<Listing>>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     postings: Box<dyn Storage<Listing>>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/storage/compression.rs:41:16
[INFO] [stdout]    |
[INFO] [stdout] 41 |     bytes: Box<Iterator<Item = u8> + 'a>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     bytes: Box<dyn Iterator<Item = u8> + 'a>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/index/boolean_index/mod.rs:234:39
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn from_parts(inverted_index: Box<Storage<Listing>>,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn from_parts(inverted_index: Box<dyn Storage<Listing>>,
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/storage/compression.rs:55:51
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn underlying_iterator(&mut self) -> &mut Iterator<Item = u8> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn underlying_iterator(&mut self) -> &mut dyn Iterator<Item = u8> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/index/boolean_index/mod.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 |     type QueryResult = Box<Iterator<Item = u64>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     type QueryResult = Box<dyn Iterator<Item = u64>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/storage/mod.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/utils/owning_iterator.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait OwningIterator<'a> {
[INFO] [stdout]    |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn is_empty(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 |                         unreachable!(false);
[INFO] [stdout]    |                                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 33 |                         unreachable!("{}", false);
[INFO] [stdout]    |                                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 | ...                   unreachable!(false);
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 50 |                                 unreachable!("{}", false);
[INFO] [stdout]    |                                              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.10s
[INFO] running `Command { std: "docker" "inspect" "eec5940fbb6c80f524c38e0f061212047859ded7eb7c1df0551774193680f87e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eec5940fbb6c80f524c38e0f061212047859ded7eb7c1df0551774193680f87e", kill_on_drop: false }`
[INFO] [stdout] eec5940fbb6c80f524c38e0f061212047859ded7eb7c1df0551774193680f87e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f9a52814fd0d5a7554e2afdfbb5cf19f4eee21618f250258dfea232019546e04
[INFO] running `Command { std: "docker" "start" "-a" "f9a52814fd0d5a7554e2afdfbb5cf19f4eee21618f250258dfea232019546e04", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unused import: `index::boolean_index::boolean_query::*`
[INFO] [stderr]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:5:5
[INFO] [stderr]    |
[INFO] [stderr]  5 | use index::boolean_index::boolean_query::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:55:23
[INFO] [stderr]    |
[INFO] [stderr] 55 | #![deny(missing_docs, warnings)]
[INFO] [stderr]    |                       ^^^^^^^^
[INFO] [stderr]    = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/index/boolean_index/mod.rs:98:21
[INFO] [stderr]    |
[INFO] [stderr] 98 |         let vocab = try!(Self::load_vocabulary(path));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/index/boolean_index/mod.rs:99:25
[INFO] [stderr]    |
[INFO] [stderr] 99 |         let doc_count = try!(Self::load_statistics(path));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:120:9
[INFO] [stderr]     |
[INFO] [stderr] 120 |         try!(index.index_documents(documents));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:121:9
[INFO] [stderr]     |
[INFO] [stderr] 121 |         try!(index.save_vocabulary());
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:122:9
[INFO] [stderr]     |
[INFO] [stderr] 122 |         try!(index.save_statistics());
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:129:34
[INFO] [stderr]     |
[INFO] [stderr] 129 |             let mut vocab_file = try!(OpenOptions::new()
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:150:21
[INFO] [stderr]     |
[INFO] [stderr] 150 |                     try!(vocab_file.write(&byte_buffer));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:156:17
[INFO] [stderr]     |
[INFO] [stderr] 156 |                 try!(vocab_file.write(&byte_buffer));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:170:9
[INFO] [stderr]     |
[INFO] [stderr] 170 |         try!(vocab_file.read_to_end(&mut bytes));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:166:30
[INFO] [stderr]     |
[INFO] [stderr] 166 |         let mut vocab_file = try!(OpenOptions::new().read(true).open(path.join(VOCAB_FILENAME)));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:167:24
[INFO] [stderr]     |
[INFO] [stderr] 167 |         let metadata = try!(vocab_file.metadata());
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:196:13
[INFO] [stderr]     |
[INFO] [stderr] 196 |             try!(statistics_file.write(&vbyte_encode(self.document_count)));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:191:39
[INFO] [stderr]     |
[INFO] [stderr] 191 |             let mut statistics_file = try!(OpenOptions::new()
[INFO] [stderr]     |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:206:9
[INFO] [stderr]     |
[INFO] [stderr] 206 |         try!(statistics_file.read_to_end(&mut bytes));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:204:35
[INFO] [stderr]     |
[INFO] [stderr] 204 |         let mut statistics_file = try!(OpenOptions::new().read(true).open(path.join(STATISTICS_FILENAME)));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:229:9
[INFO] [stderr]     |
[INFO] [stderr] 229 |         try!(index.index_documents(documents));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:249:100
[INFO] [stderr]     |
[INFO] [stderr] 249 |     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<(usize)>
[INFO] [stderr]     |                                                                                                    ^     ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 249 -     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<(usize)>
[INFO] [stderr] 249 +     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<usize>
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:294:13
[INFO] [stderr]     |
[INFO] [stderr] 294 |             try!(self.postings.store(term_id, listing));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/index/boolean_index/mod.rs:73:19
[INFO] [stderr]    |
[INFO] [stderr] 73 |     postings: Box<Storage<Listing>>,
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 73 |     postings: Box<dyn Storage<Listing>>,
[INFO] [stderr]    |                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/storage/compression.rs:41:16
[INFO] [stderr]    |
[INFO] [stderr] 41 |     bytes: Box<Iterator<Item = u8> + 'a>,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 41 |     bytes: Box<dyn Iterator<Item = u8> + 'a>,
[INFO] [stderr]    |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:234:39
[INFO] [stderr]     |
[INFO] [stderr] 234 |     fn from_parts(inverted_index: Box<Storage<Listing>>,
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 234 |     fn from_parts(inverted_index: Box<dyn Storage<Listing>>,
[INFO] [stderr]     |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/storage/compression.rs:55:51
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn underlying_iterator(&mut self) -> &mut Iterator<Item = u8> {
[INFO] [stderr]    |                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn underlying_iterator(&mut self) -> &mut dyn Iterator<Item = u8> {
[INFO] [stderr]    |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/index/boolean_index/mod.rs:80:28
[INFO] [stderr]    |
[INFO] [stderr] 80 |     type QueryResult = Box<Iterator<Item = u64>>;
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 80 |     type QueryResult = Box<dyn Iterator<Item = u64>>;
[INFO] [stderr]    |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/storage/mod.rs:57:32
[INFO] [stderr]    |
[INFO] [stderr] 57 |     fn cause(&self) -> Option<&Error> {
[INFO] [stderr]    |                                ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 57 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_empty` is never used
[INFO] [stderr]   --> src/utils/owning_iterator.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub trait OwningIterator<'a> {
[INFO] [stderr]    |           -------------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 32 |     fn is_empty(&self) -> bool;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:33:38
[INFO] [stderr]    |
[INFO] [stderr] 33 |                         unreachable!(false);
[INFO] [stderr]    |                                      ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` implied by `#[warn(warnings)]`
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 33 |                         unreachable!("{}", false);
[INFO] [stderr]    |                                      +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/index/boolean_index/query_result_iterator/nary_query_iterator.rs:50:46
[INFO] [stderr]    |
[INFO] [stderr] 50 | ...                   unreachable!(false);
[INFO] [stderr]    |                                    ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 50 |                                 unreachable!("{}", false);
[INFO] [stderr]    |                                              +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `perlin` (lib) generated 28 warnings (run `cargo fix --lib -p perlin` to apply 10 suggestions)
[INFO] [stderr] warning: unused import: `index::boolean_index::boolean_query::*`
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:365:9
[INFO] [stderr]     |
[INFO] [stderr] 365 |     use index::boolean_index::boolean_query::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `perlin` (lib test) generated 29 warnings (28 duplicates) (run `cargo fix --lib -p perlin --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/perlin-21180075771c3bb8)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test index::boolean_index::query_builder::tests::and_query ... ok
[INFO] [stdout] test index::boolean_index::query_builder::tests::in_order ... ok
[INFO] [stdout] test index::boolean_index::query_builder::tests::not ... ok
[INFO] [stdout] test index::boolean_index::query_result_iterator::tests::peek ... ok
[INFO] [stdout] test index::boolean_index::tests::empty_query ... ok
[INFO] [stdout] test index::boolean_index::tests::and_query ... ok
[INFO] [stdout] test index::boolean_index::tests::nary_query ... ok
[INFO] [stdout] test index::boolean_index::tests::indexing ... ok
[INFO] [stdout] test index::boolean_index::query_result_iterator::tests::estimate_length ... ok
[INFO] [stdout] test index::boolean_index::tests::inorder_query ... ok
[INFO] [stdout] test index::boolean_index::tests::or_query ... ok
[INFO] [stdout] test index::boolean_index::tests::query_atom ... ok
[INFO] [stdout] test storage::compression::tests::test_vbyte_decode ... ok
[INFO] [stdout] test storage::compression::tests::test_vbyte_encode ... ok
[INFO] [stdout] test storage::fs_storage::tests::basic ... ok
[INFO] [stdout] test storage::fs_storage::tests::not_found ... ok
[INFO] [stdout] test language::tests::tokenization ... ok
[INFO] [stdout] test storage::ram_storage::tests::basic ... ok
[INFO] [stdout] test storage::fs_storage::tests::persistence ... ok
[INFO] [stdout] test index::boolean_index::tests::persistence ... ok
[INFO] [stdout] test storage::ram_storage::tests::not_found ... ok
[INFO] [stdout] test index::boolean_index::query_builder::tests::nested_and ... ok
[INFO] [stdout] test index::boolean_index::tests::query_filter ... ok
[INFO] [stdout] test language::tests::lowercase ... ok
[INFO] [stdout] test language::tests::non_alphanum ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/boolean_index.rs (/opt/rustwide/target/debug/deps/boolean_index-bfb38caea33a76c5)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/readme_usage.rs (/opt/rustwide/target/debug/deps/readme_usage-90a6b030f711f43c)
[INFO] [stdout] running 2 tests
[INFO] [stdout] test build_and_query_persistent_index ... ok
[INFO] [stdout] test build_and_query_volatile_index ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test main ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests perlin
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/storage/compression.rs - storage::compression (line 12) ... ignored
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/index/boolean_index/mod.rs:249:100
[INFO] [stderr]     |
[INFO] [stderr] 249 |     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<(usize)>
[INFO] [stderr]     |                                                                                                    ^     ^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:55:23
[INFO] [stderr]     |
[INFO] [stderr]  55 | #![deny(missing_docs, warnings)]
[INFO] [stderr]     |                       ^^^^^^^^
[INFO] [stderr]     = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 249 -     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<(usize)>
[INFO] [stderr] 249 +     fn index_documents<TDocsIterator, TDocIterator>(&mut self, documents: TDocsIterator) -> Result<usize>
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] test src/lib.rs - (line 21) ... ok
[INFO] [stdout] test src/index/boolean_index/query_builder.rs - index::boolean_index::query_builder::QueryBuilder (line 9) ... ok
[INFO] [stdout] test src/index/boolean_index/query_builder.rs - index::boolean_index::query_builder::QueryBuilder (line 17) ... ok
[INFO] [stdout] test src/index/boolean_index/query_builder.rs - index::boolean_index::query_builder::QueryBuilder (line 29) ... ok
[INFO] [stdout] test src/index/boolean_index/query_builder.rs - index::boolean_index::query_builder::QueryBuilder (line 56) ... ok
[INFO] [stdout] test src/lib.rs - (line 27) ... ok
[INFO] [stdout] test src/index/boolean_index/query_builder.rs - index::boolean_index::query_builder::QueryBuilder (line 45) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.76s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f9a52814fd0d5a7554e2afdfbb5cf19f4eee21618f250258dfea232019546e04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9a52814fd0d5a7554e2afdfbb5cf19f4eee21618f250258dfea232019546e04", kill_on_drop: false }`
[INFO] [stdout] f9a52814fd0d5a7554e2afdfbb5cf19f4eee21618f250258dfea232019546e04
