[INFO] fetching crate ironstorm_lookup 1.0.4...
[INFO] checking ironstorm_lookup-1.0.4 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate ironstorm_lookup 1.0.4 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate ironstorm_lookup 1.0.4 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ironstorm_lookup 1.0.4
[INFO] finished tweaking crates.io crate ironstorm_lookup 1.0.4
[INFO] tweaked toml for crates.io crate ironstorm_lookup 1.0.4 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 4 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.5.10 (latest: v0.12.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded suffix v1.3.0
[INFO] [stderr]   Downloaded itertools v0.5.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 34c43fa4ba2aa6eed24c0b230f6bfe9a96f59eabefc840c638472e0006ec1b05
[INFO] running `Command { std: "docker" "start" "-a" "34c43fa4ba2aa6eed24c0b230f6bfe9a96f59eabefc840c638472e0006ec1b05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "34c43fa4ba2aa6eed24c0b230f6bfe9a96f59eabefc840c638472e0006ec1b05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34c43fa4ba2aa6eed24c0b230f6bfe9a96f59eabefc840c638472e0006ec1b05", kill_on_drop: false }`
[INFO] [stdout] 34c43fa4ba2aa6eed24c0b230f6bfe9a96f59eabefc840c638472e0006ec1b05
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3a4372c56a732daeccc149da50f4b0a938b0630d8123c93e5f24d4b1b3eeca13
[INFO] running `Command { std: "docker" "start" "-a" "3a4372c56a732daeccc149da50f4b0a938b0630d8123c93e5f24d4b1b3eeca13", kill_on_drop: false }`
[INFO] [stderr]     Checking itertools v0.5.10
[INFO] [stderr]     Checking suffix v1.3.0
[INFO] [stderr]     Checking ironstorm_lookup v1.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `collections_bound` has been stable since 1.17.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(btree_range, collections_bound)]
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `btree_range` has been stable since 1.17.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(btree_range, collections_bound)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:198:56
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn find(&'a self, search_text: &'a str) -> Box<Iterator<Item=&V> + Send + '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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn find(&'a self, search_text: &'a str) -> Box<dyn Iterator<Item=&V> + Send + 'a> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `collections_bound` has been stable since 1.17.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(btree_range, collections_bound)]
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `btree_range` has been stable since 1.17.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(btree_range, collections_bound)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:198:56
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn find(&'a self, search_text: &'a str) -> Box<Iterator<Item=&V> + Send + '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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn find(&'a self, search_text: &'a str) -> Box<dyn Iterator<Item=&V> + Send + 'a> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Bound<_>: RangeBounds<(usize, usize)>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:184:54
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some(value) = self.position_map.range(Unbounded, Included(&(bucket,(text_position as usize)))).rev().next() {
[INFO] [stdout]     |                                                ----- ^^^^^^^^^ the trait `RangeBounds<(usize, usize)>` is not implemented for `Bound<_>`
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BTreeMap::<K, V, A>::range`
[INFO] [stdout]    --> /rustc/c2f2db79ca3024f68d22b45aa22b570775c2c4ad/library/alloc/src/collections/btree/map.rs:1205:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Bound<_>: RangeBounds<(usize, usize)>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:184:54
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some(value) = self.position_map.range(Unbounded, Included(&(bucket,(text_position as usize)))).rev().next() {
[INFO] [stdout]     |                                                ----- ^^^^^^^^^ the trait `RangeBounds<(usize, usize)>` is not implemented for `Bound<_>`
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BTreeMap::<K, V, A>::range`
[INFO] [stdout]    --> /rustc/c2f2db79ca3024f68d22b45aa22b570775c2c4ad/library/alloc/src/collections/btree/map.rs:1205:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:184:48
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some(value) = self.position_map.range(Unbounded, Included(&(bucket,(text_position as usize)))).rev().next() {
[INFO] [stdout]     |                                                ^^^^^          ----------------------------------------------
[INFO] [stdout]     |                                                               | |
[INFO] [stdout]     |                                                               | unexpected argument of type `Bound<&(usize, usize)>`
[INFO] [stdout]     |                                                               help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/c2f2db79ca3024f68d22b45aa22b570775c2c4ad/library/alloc/src/collections/btree/map.rs:1205:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:184:48
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some(value) = self.position_map.range(Unbounded, Included(&(bucket,(text_position as usize)))).rev().next() {
[INFO] [stdout]     |                                                ^^^^^          ----------------------------------------------
[INFO] [stdout]     |                                                               | |
[INFO] [stdout]     |                                                               | unexpected argument of type `Bound<&(usize, usize)>`
[INFO] [stdout]     |                                                               help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/c2f2db79ca3024f68d22b45aa22b570775c2c4ad/library/alloc/src/collections/btree/map.rs:1205:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut text = text_map.entry(value.bucket()).or_insert_with(String::new);
[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] error: aborting due to 2 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut text = text_map.entry(value.bucket()).or_insert_with(String::new);
[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] [stderr] error: could not compile `ironstorm_lookup` (lib) due to 3 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 2 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ironstorm_lookup` (lib test) due to 3 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3a4372c56a732daeccc149da50f4b0a938b0630d8123c93e5f24d4b1b3eeca13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a4372c56a732daeccc149da50f4b0a938b0630d8123c93e5f24d4b1b3eeca13", kill_on_drop: false }`
[INFO] [stdout] 3a4372c56a732daeccc149da50f4b0a938b0630d8123c93e5f24d4b1b3eeca13
[INFO] checking ironstorm_lookup-1.0.4 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate ironstorm_lookup 1.0.4 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate ironstorm_lookup 1.0.4 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ironstorm_lookup 1.0.4
[INFO] finished tweaking crates.io crate ironstorm_lookup 1.0.4
[INFO] tweaked toml for crates.io crate ironstorm_lookup 1.0.4 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 4 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.5.10 (latest: v0.12.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2d2ff8d8b46cbe62d8681fa6bb527c963f0573472084253b210fb214f550c05b
[INFO] running `Command { std: "docker" "start" "-a" "2d2ff8d8b46cbe62d8681fa6bb527c963f0573472084253b210fb214f550c05b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2d2ff8d8b46cbe62d8681fa6bb527c963f0573472084253b210fb214f550c05b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d2ff8d8b46cbe62d8681fa6bb527c963f0573472084253b210fb214f550c05b", kill_on_drop: false }`
[INFO] [stdout] 2d2ff8d8b46cbe62d8681fa6bb527c963f0573472084253b210fb214f550c05b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] edb1c71ba4bb7bbe3633af2977b47c6aa452d55d837e2c6eae41a85d4c98e1db
[INFO] running `Command { std: "docker" "start" "-a" "edb1c71ba4bb7bbe3633af2977b47c6aa452d55d837e2c6eae41a85d4c98e1db", kill_on_drop: false }`
[INFO] [stderr]     Checking itertools v0.5.10
[INFO] [stderr]     Checking suffix v1.3.0
[INFO] [stderr]     Checking ironstorm_lookup v1.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `collections_bound` has been stable since 1.17.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(btree_range, collections_bound)]
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `btree_range` has been stable since 1.17.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(btree_range, collections_bound)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:198:56
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn find(&'a self, search_text: &'a str) -> Box<Iterator<Item=&V> + Send + '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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn find(&'a self, search_text: &'a str) -> Box<dyn Iterator<Item=&V> + Send + 'a> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `collections_bound` has been stable since 1.17.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(btree_range, collections_bound)]
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `btree_range` has been stable since 1.17.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(btree_range, collections_bound)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:198:56
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn find(&'a self, search_text: &'a str) -> Box<Iterator<Item=&V> + Send + '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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn find(&'a self, search_text: &'a str) -> Box<dyn Iterator<Item=&V> + Send + 'a> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Bound<_>: RangeBounds<(usize, usize)>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:184:54
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some(value) = self.position_map.range(Unbounded, Included(&(bucket,(text_position as usize)))).rev().next() {
[INFO] [stdout]     |                                                ----- ^^^^^^^^^ the trait `RangeBounds<(usize, usize)>` is not implemented for `Bound<_>`
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BTreeMap::<K, V, A>::range`
[INFO] [stdout]    --> /rustc/9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88/library/alloc/src/collections/btree/map.rs:1205:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Bound<_>: RangeBounds<(usize, usize)>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:184:54
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some(value) = self.position_map.range(Unbounded, Included(&(bucket,(text_position as usize)))).rev().next() {
[INFO] [stdout]     |                                                ----- ^^^^^^^^^ the trait `RangeBounds<(usize, usize)>` is not implemented for `Bound<_>`
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BTreeMap::<K, V, A>::range`
[INFO] [stdout]    --> /rustc/9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88/library/alloc/src/collections/btree/map.rs:1205:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:184:48
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some(value) = self.position_map.range(Unbounded, Included(&(bucket,(text_position as usize)))).rev().next() {
[INFO] [stdout]     |                                                ^^^^^          ----------------------------------------------
[INFO] [stdout]     |                                                               | |
[INFO] [stdout]     |                                                               | unexpected argument of type `Bound<&(usize, usize)>`
[INFO] [stdout]     |                                                               help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88/library/alloc/src/collections/btree/map.rs:1205:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:184:48
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some(value) = self.position_map.range(Unbounded, Included(&(bucket,(text_position as usize)))).rev().next() {
[INFO] [stdout]     |                                                ^^^^^          ----------------------------------------------
[INFO] [stdout]     |                                                               | |
[INFO] [stdout]     |                                                               | unexpected argument of type `Bound<&(usize, usize)>`
[INFO] [stdout]     |                                                               help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88/library/alloc/src/collections/btree/map.rs:1205:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut text = text_map.entry(value.bucket()).or_insert_with(String::new);
[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] error: aborting due to 2 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut text = text_map.entry(value.bucket()).or_insert_with(String::new);
[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] [stderr] error: could not compile `ironstorm_lookup` (lib) due to 3 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 2 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ironstorm_lookup` (lib test) due to 3 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "edb1c71ba4bb7bbe3633af2977b47c6aa452d55d837e2c6eae41a85d4c98e1db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "edb1c71ba4bb7bbe3633af2977b47c6aa452d55d837e2c6eae41a85d4c98e1db", kill_on_drop: false }`
[INFO] [stdout] edb1c71ba4bb7bbe3633af2977b47c6aa452d55d837e2c6eae41a85d4c98e1db
