[INFO] fetching crate zenoh-protocol-core 0.7.0-rc...
[INFO] testing zenoh-protocol-core-0.7.0-rc against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate zenoh-protocol-core 0.7.0-rc into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate zenoh-protocol-core 0.7.0-rc
[INFO] finished tweaking crates.io crate zenoh-protocol-core 0.7.0-rc
[INFO] tweaked toml for crates.io crate zenoh-protocol-core 0.7.0-rc written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate zenoh-protocol-core 0.7.0-rc on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 169 packages to latest compatible versions
[INFO] [stderr]       Adding async-std v1.12.0 (available: v1.13.2)
[INFO] [stderr]       Adding criterion v0.4.0 (available: v0.8.2)
[INFO] [stderr]       Adding itertools v0.10.5 (available: v0.14.0)
[INFO] [stderr]       Adding rand v0.8.6 (available: v0.10.1)
[INFO] [stderr]       Adding uhlc v0.5.2 (available: v0.9.0)
[INFO] [stderr]       Adding zenoh-core v0.7.0-rc (available: v1.9.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded criterion v0.4.0
[INFO] [stderr]   Downloaded zenoh-core v0.7.0-rc
[INFO] [stderr]   Downloaded zenoh-macros v0.7.0-rc
[INFO] [stderr]   Downloaded uhlc v0.5.2
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7059998c0f1073809ab6574a3c98f14aed65d63bb77b0e6b2f446e69325acf78
[INFO] running `Command { std: "docker" "start" "-a" "7059998c0f1073809ab6574a3c98f14aed65d63bb77b0e6b2f446e69325acf78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7059998c0f1073809ab6574a3c98f14aed65d63bb77b0e6b2f446e69325acf78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7059998c0f1073809ab6574a3c98f14aed65d63bb77b0e6b2f446e69325acf78", kill_on_drop: false }`
[INFO] [stdout] 7059998c0f1073809ab6574a3c98f14aed65d63bb77b0e6b2f446e69325acf78
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 765ee1a74f3f802d1568181c0bc00c8f954a7881b9382aaab3f4670448926598
[INFO] running `Command { std: "docker" "start" "-a" "765ee1a74f3f802d1568181c0bc00c8f954a7881b9382aaab3f4670448926598", kill_on_drop: false }`
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling value-bag v1.12.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling rustix v0.37.28
[INFO] [stderr]    Compiling piper v0.2.5
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling linux-raw-sys v0.3.8
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling async-lock v3.4.2
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling async-lock v2.8.0
[INFO] [stderr]    Compiling socket2 v0.4.10
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling zenoh-macros v0.7.0-rc
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling blocking v1.6.2
[INFO] [stderr]    Compiling async-executor v1.14.0
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling unzip-n v0.1.4
[INFO] [stderr]    Compiling polling v3.11.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling async-global-executor v2.4.1
[INFO] [stderr]    Compiling async-std v1.12.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zenoh-core v0.7.0-rc
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling uhlc v0.5.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling zenoh-protocol-core v0.7.0-rc (/opt/rustwide/workdir)
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/include.rs:38:40
[INFO] [stdout]    |
[INFO] [stdout] 38 |             let (lchunk, lrest) = left.split_once(&DELIMITER);
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/include.rs:44:31
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 right = right.split_once(&DELIMITER).1;
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/include.rs:49:45
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let (rchunk, rrest) = right.split_once(&DELIMITER);
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let (l, new_left) = left.split_once(&DELIMITER);
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let (r, new_right) = right.split_once(&DELIMITER);
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:70:38
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let (l, new_left) = left.split_once(&DELIMITER);
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let (r, new_right) = right.split_once(&DELIMITER);
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LeftToRightIntersector` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct LeftToRightIntersector<ChunkIntersector>(pub ChunkIntersector);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LTRChunkIntersector` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/ltr_chunk.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct LTRChunkIntersector;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiddleOutIntersector` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/middle_out.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct MiddleOutIntersector<ChunkIntersector>(pub ChunkIntersector);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_prefix`, `is_suffix`, `strip_prefix`, `strip_suffix`, and `contains` are never used
[INFO] [stdout]    --> src/key_expr/intersect/middle_out.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | / impl<ChunkIntersector: for<'a> Intersector<NoBigWilds<&'a [u8]>, NoBigWilds<&'a [u8]>>>
[INFO] [stdout] 127 | |     MiddleOutIntersector<ChunkIntersector>
[INFO] [stdout]     | |__________________________________________- methods in this implementation
[INFO] [stdout] 128 |   {
[INFO] [stdout] 129 |       fn is_prefix(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |       fn is_suffix(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |       fn strip_prefix<'a>(&self, str: &'a [u8], needle: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |       fn strip_suffix<'a>(&self, str: &'a [u8], needle: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |       fn contains(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoSubWildMatcher` is never constructed
[INFO] [stdout]    --> src/key_expr/intersect/middle_out.rs:329:8
[INFO] [stdout]     |
[INFO] [stdout] 329 | struct NoSubWildMatcher;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `strip_prefix`, `is_prefix`, `strip_suffix`, `is_suffix`, and `contains` are never used
[INFO] [stdout]    --> src/key_expr/intersect/middle_out.rs:331:8
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl NoSubWildMatcher {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 331 |     fn strip_prefix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn is_prefix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     fn strip_suffix<'a>(&self, from: &'a [u8], suffix: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     fn is_suffix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     fn contains(&self, container: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoBigWilds` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/mod.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub struct NoBigWilds<T>(pub T);
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `inner`, `unwrap`, `left`, and `right` are never used
[INFO] [stdout]   --> src/key_expr/utils.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl<'a, S: Split<D> + ?Sized + std::fmt::Debug, D: ?Sized> Splitter<'a, S, D> {
[INFO] [stdout]    | ------------------------------------------------------------------------------ methods in this implementation
[INFO] [stdout] 46 |     pub fn inner(&self) -> Option<&'a S> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn unwrap(self) -> &'a S {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn left(&mut self) -> Option<&'a S> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn right(&mut self) -> Option<&'a S> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rsplit_once` is never used
[INFO] [stdout]    --> src/key_expr/utils.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Split<Delimiter: ?Sized> {
[INFO] [stdout]     |           ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn rsplit_once<'a>(&'a self, delimiter: &Delimiter) -> (&'a Self, &'a Self);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Utf` is never used
[INFO] [stdout]    --> src/key_expr/utils.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub(crate) trait Utf {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HasCanonForm` is never used
[INFO] [stdout]    --> src/locators.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub(crate) trait HasCanonForm {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cmp` is never used
[INFO] [stdout]    --> src/locators.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn cmp(this: &str, than: &str) -> std::cmp::Ordering {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.75s
[INFO] running `Command { std: "docker" "inspect" "765ee1a74f3f802d1568181c0bc00c8f954a7881b9382aaab3f4670448926598", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "765ee1a74f3f802d1568181c0bc00c8f954a7881b9382aaab3f4670448926598", kill_on_drop: false }`
[INFO] [stdout] 765ee1a74f3f802d1568181c0bc00c8f954a7881b9382aaab3f4670448926598
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ab7ebdf02b5ba2569ae6dd6f7a84cea26f00a23e82712bef067d72f8a997dbe
[INFO] running `Command { std: "docker" "start" "-a" "8ab7ebdf02b5ba2569ae6dd6f7a84cea26f00a23e82712bef067d72f8a997dbe", kill_on_drop: false }`
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling os_str_bytes v6.6.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/include.rs:38:40
[INFO] [stdout]    |
[INFO] [stdout] 38 |             let (lchunk, lrest) = left.split_once(&DELIMITER);
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/include.rs:44:31
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 right = right.split_once(&DELIMITER).1;
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/include.rs:49:45
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let (rchunk, rrest) = right.split_once(&DELIMITER);
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let (l, new_left) = left.split_once(&DELIMITER);
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let (r, new_right) = right.split_once(&DELIMITER);
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:70:38
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let (l, new_left) = left.split_once(&DELIMITER);
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let (r, new_right) = right.split_once(&DELIMITER);
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LeftToRightIntersector` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct LeftToRightIntersector<ChunkIntersector>(pub ChunkIntersector);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LTRChunkIntersector` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/ltr_chunk.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct LTRChunkIntersector;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiddleOutIntersector` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/middle_out.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct MiddleOutIntersector<ChunkIntersector>(pub ChunkIntersector);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_prefix`, `is_suffix`, `strip_prefix`, `strip_suffix`, and `contains` are never used
[INFO] [stdout]    --> src/key_expr/intersect/middle_out.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | / impl<ChunkIntersector: for<'a> Intersector<NoBigWilds<&'a [u8]>, NoBigWilds<&'a [u8]>>>
[INFO] [stdout] 127 | |     MiddleOutIntersector<ChunkIntersector>
[INFO] [stdout]     | |__________________________________________- methods in this implementation
[INFO] [stdout] 128 |   {
[INFO] [stdout] 129 |       fn is_prefix(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |       fn is_suffix(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |       fn strip_prefix<'a>(&self, str: &'a [u8], needle: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |       fn strip_suffix<'a>(&self, str: &'a [u8], needle: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |       fn contains(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoSubWildMatcher` is never constructed
[INFO] [stdout]    --> src/key_expr/intersect/middle_out.rs:329:8
[INFO] [stdout]     |
[INFO] [stdout] 329 | struct NoSubWildMatcher;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `strip_prefix`, `is_prefix`, `strip_suffix`, `is_suffix`, and `contains` are never used
[INFO] [stdout]    --> src/key_expr/intersect/middle_out.rs:331:8
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl NoSubWildMatcher {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 331 |     fn strip_prefix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn is_prefix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     fn strip_suffix<'a>(&self, from: &'a [u8], suffix: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     fn is_suffix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     fn contains(&self, container: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoBigWilds` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/mod.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub struct NoBigWilds<T>(pub T);
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `inner`, `unwrap`, `left`, and `right` are never used
[INFO] [stdout]   --> src/key_expr/utils.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl<'a, S: Split<D> + ?Sized + std::fmt::Debug, D: ?Sized> Splitter<'a, S, D> {
[INFO] [stdout]    | ------------------------------------------------------------------------------ methods in this implementation
[INFO] [stdout] 46 |     pub fn inner(&self) -> Option<&'a S> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn unwrap(self) -> &'a S {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn left(&mut self) -> Option<&'a S> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn right(&mut self) -> Option<&'a S> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rsplit_once` is never used
[INFO] [stdout]    --> src/key_expr/utils.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Split<Delimiter: ?Sized> {
[INFO] [stdout]     |           ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn rsplit_once<'a>(&'a self, delimiter: &Delimiter) -> (&'a Self, &'a Self);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Utf` is never used
[INFO] [stdout]    --> src/key_expr/utils.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub(crate) trait Utf {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HasCanonForm` is never used
[INFO] [stdout]    --> src/locators.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub(crate) trait HasCanonForm {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cmp` is never used
[INFO] [stdout]    --> src/locators.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn cmp(this: &str, than: &str) -> std::cmp::Ordering {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling clap v3.2.25
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling criterion v0.4.0
[INFO] [stderr]    Compiling zenoh-protocol-core v0.7.0-rc (/opt/rustwide/workdir)
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/include.rs:38:40
[INFO] [stdout]    |
[INFO] [stdout] 38 |             let (lchunk, lrest) = left.split_once(&DELIMITER);
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/include.rs:44:31
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 right = right.split_once(&DELIMITER).1;
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/include.rs:49:45
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let (rchunk, rrest) = right.split_once(&DELIMITER);
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let (l, new_left) = left.split_once(&DELIMITER);
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let (r, new_right) = right.split_once(&DELIMITER);
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:70:38
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let (l, new_left) = left.split_once(&DELIMITER);
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let (r, new_right) = right.split_once(&DELIMITER);
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 + #![feature(slice_split_once)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LeftToRightIntersector` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/ltr.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct LeftToRightIntersector<ChunkIntersector>(pub ChunkIntersector);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LTRChunkIntersector` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/ltr_chunk.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct LTRChunkIntersector;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiddleOutIntersector` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/middle_out.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct MiddleOutIntersector<ChunkIntersector>(pub ChunkIntersector);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_prefix`, `is_suffix`, `strip_prefix`, `strip_suffix`, and `contains` are never used
[INFO] [stdout]    --> src/key_expr/intersect/middle_out.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | / impl<ChunkIntersector: for<'a> Intersector<NoBigWilds<&'a [u8]>, NoBigWilds<&'a [u8]>>>
[INFO] [stdout] 127 | |     MiddleOutIntersector<ChunkIntersector>
[INFO] [stdout]     | |__________________________________________- methods in this implementation
[INFO] [stdout] 128 |   {
[INFO] [stdout] 129 |       fn is_prefix(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |       fn is_suffix(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |       fn strip_prefix<'a>(&self, str: &'a [u8], needle: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |       fn strip_suffix<'a>(&self, str: &'a [u8], needle: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |       fn contains(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoSubWildMatcher` is never constructed
[INFO] [stdout]    --> src/key_expr/intersect/middle_out.rs:329:8
[INFO] [stdout]     |
[INFO] [stdout] 329 | struct NoSubWildMatcher;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `strip_prefix`, `is_prefix`, `strip_suffix`, `is_suffix`, and `contains` are never used
[INFO] [stdout]    --> src/key_expr/intersect/middle_out.rs:331:8
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl NoSubWildMatcher {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 331 |     fn strip_prefix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn is_prefix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     fn strip_suffix<'a>(&self, from: &'a [u8], suffix: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     fn is_suffix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     fn contains(&self, container: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoBigWilds` is never constructed
[INFO] [stdout]   --> src/key_expr/intersect/mod.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub struct NoBigWilds<T>(pub T);
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `inner`, `unwrap`, and `left` are never used
[INFO] [stdout]   --> src/key_expr/utils.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl<'a, S: Split<D> + ?Sized + std::fmt::Debug, D: ?Sized> Splitter<'a, S, D> {
[INFO] [stdout]    | ------------------------------------------------------------------------------ methods in this implementation
[INFO] [stdout] 46 |     pub fn inner(&self) -> Option<&'a S> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn unwrap(self) -> &'a S {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn left(&mut self) -> Option<&'a S> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rsplit_once` is never used
[INFO] [stdout]    --> src/key_expr/utils.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Split<Delimiter: ?Sized> {
[INFO] [stdout]     |           ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn rsplit_once<'a>(&'a self, delimiter: &Delimiter) -> (&'a Self, &'a Self);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Utf` is never used
[INFO] [stdout]    --> src/key_expr/utils.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub(crate) trait Utf {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HasCanonForm` is never used
[INFO] [stdout]    --> src/locators.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub(crate) trait HasCanonForm {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cmp` is never used
[INFO] [stdout]    --> src/locators.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn cmp(this: &str, than: &str) -> std::cmp::Ordering {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 20.43s
[INFO] running `Command { std: "docker" "inspect" "8ab7ebdf02b5ba2569ae6dd6f7a84cea26f00a23e82712bef067d72f8a997dbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ab7ebdf02b5ba2569ae6dd6f7a84cea26f00a23e82712bef067d72f8a997dbe", kill_on_drop: false }`
[INFO] [stdout] 8ab7ebdf02b5ba2569ae6dd6f7a84cea26f00a23e82712bef067d72f8a997dbe
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2b301a05bb0e883b1a88cf91a91cd357fcef900bc7d94a8c2c34e74775f161a4
[INFO] running `Command { std: "docker" "start" "-a" "2b301a05bb0e883b1a88cf91a91cd357fcef900bc7d94a8c2c34e74775f161a4", kill_on_drop: false }`
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/key_expr/include.rs:38:40
[INFO] [stderr]    |
[INFO] [stderr] 38 |             let (lchunk, lrest) = left.split_once(&DELIMITER);
[INFO] [stderr]    |                                        ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stderr]   --> src/lib.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 + #![feature(slice_split_once)]
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/key_expr/include.rs:44:31
[INFO] [stderr]    |
[INFO] [stderr] 44 |                 right = right.split_once(&DELIMITER).1;
[INFO] [stderr]    |                               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stderr]   --> src/lib.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 + #![feature(slice_split_once)]
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/key_expr/include.rs:49:45
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 let (rchunk, rrest) = right.split_once(&DELIMITER);
[INFO] [stderr]    |                                             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stderr]   --> src/lib.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 + #![feature(slice_split_once)]
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/key_expr/intersect/ltr.rs:30:38
[INFO] [stderr]    |
[INFO] [stderr] 30 |             let (l, new_left) = left.split_once(&DELIMITER);
[INFO] [stderr]    |                                      ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stderr]   --> src/lib.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 + #![feature(slice_split_once)]
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/key_expr/intersect/ltr.rs:31:40
[INFO] [stderr]    |
[INFO] [stderr] 31 |             let (r, new_right) = right.split_once(&DELIMITER);
[INFO] [stderr]    |                                        ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stderr]   --> src/lib.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 + #![feature(slice_split_once)]
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/key_expr/intersect/ltr.rs:70:38
[INFO] [stderr]    |
[INFO] [stderr] 70 |             let (l, new_left) = left.split_once(&DELIMITER);
[INFO] [stderr]    |                                      ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stderr]   --> src/lib.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 + #![feature(slice_split_once)]
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/key_expr/intersect/ltr.rs:71:40
[INFO] [stderr]    |
[INFO] [stderr] 71 |             let (r, new_right) = right.split_once(&DELIMITER);
[INFO] [stderr]    |                                        ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: call with fully qualified syntax `utils::Split::split_once(...)` to keep using the current method
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr] help: add `#![feature(slice_split_once)]` to the crate attributes to enable `core::slice::<impl [T]>::split_once`
[INFO] [stderr]   --> src/lib.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 + #![feature(slice_split_once)]
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LeftToRightIntersector` is never constructed
[INFO] [stderr]   --> src/key_expr/intersect/ltr.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct LeftToRightIntersector<ChunkIntersector>(pub ChunkIntersector);
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LTRChunkIntersector` is never constructed
[INFO] [stderr]   --> src/key_expr/intersect/ltr_chunk.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct LTRChunkIntersector;
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MiddleOutIntersector` is never constructed
[INFO] [stderr]   --> src/key_expr/intersect/middle_out.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct MiddleOutIntersector<ChunkIntersector>(pub ChunkIntersector);
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_prefix`, `is_suffix`, `strip_prefix`, `strip_suffix`, and `contains` are never used
[INFO] [stderr]    --> src/key_expr/intersect/middle_out.rs:129:8
[INFO] [stderr]     |
[INFO] [stderr] 126 | / impl<ChunkIntersector: for<'a> Intersector<NoBigWilds<&'a [u8]>, NoBigWilds<&'a [u8]>>>
[INFO] [stderr] 127 | |     MiddleOutIntersector<ChunkIntersector>
[INFO] [stderr]     | |__________________________________________- methods in this implementation
[INFO] [stderr] 128 |   {
[INFO] [stderr] 129 |       fn is_prefix(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |       fn is_suffix(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 135 |       fn strip_prefix<'a>(&self, str: &'a [u8], needle: &[u8]) -> Option<&'a [u8]> {
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 152 |       fn strip_suffix<'a>(&self, str: &'a [u8], needle: &[u8]) -> Option<&'a [u8]> {
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 170 |       fn contains(&self, str: &[u8], needle: &[u8]) -> bool {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NoSubWildMatcher` is never constructed
[INFO] [stderr]    --> src/key_expr/intersect/middle_out.rs:329:8
[INFO] [stderr]     |
[INFO] [stderr] 329 | struct NoSubWildMatcher;
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `strip_prefix`, `is_prefix`, `strip_suffix`, `is_suffix`, and `contains` are never used
[INFO] [stderr]    --> src/key_expr/intersect/middle_out.rs:331:8
[INFO] [stderr]     |
[INFO] [stderr] 330 | impl NoSubWildMatcher {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] 331 |     fn strip_prefix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> Option<&'a [u8]> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 345 |     fn is_prefix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 348 |     fn strip_suffix<'a>(&self, from: &'a [u8], suffix: &[u8]) -> Option<&'a [u8]> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 362 |     fn is_suffix<'a>(&self, from: &'a [u8], prefix: &[u8]) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 367 |     fn contains(&self, container: &[u8], needle: &[u8]) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NoBigWilds` is never constructed
[INFO] [stderr]   --> src/key_expr/intersect/mod.rs:42:16
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub struct NoBigWilds<T>(pub T);
[INFO] [stderr]    |                ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `inner`, `unwrap`, `left`, and `right` are never used
[INFO] [stderr]   --> src/key_expr/utils.rs:46:12
[INFO] [stderr]    |
[INFO] [stderr] 45 | impl<'a, S: Split<D> + ?Sized + std::fmt::Debug, D: ?Sized> Splitter<'a, S, D> {
[INFO] [stderr]    | ------------------------------------------------------------------------------ methods in this implementation
[INFO] [stderr] 46 |     pub fn inner(&self) -> Option<&'a S> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn unwrap(self) -> &'a S {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn left(&mut self) -> Option<&'a S> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 68 |     pub fn right(&mut self) -> Option<&'a S> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `rsplit_once` is never used
[INFO] [stderr]    --> src/key_expr/utils.rs:116:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub trait Split<Delimiter: ?Sized> {
[INFO] [stderr]     |           ----- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 116 |     fn rsplit_once<'a>(&'a self, delimiter: &Delimiter) -> (&'a Self, &'a Self);
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Utf` is never used
[INFO] [stderr]    --> src/key_expr/utils.rs:226:18
[INFO] [stderr]     |
[INFO] [stderr] 226 | pub(crate) trait Utf {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `HasCanonForm` is never used
[INFO] [stderr]    --> src/locators.rs:219:18
[INFO] [stderr]     |
[INFO] [stderr] 219 | pub(crate) trait HasCanonForm {
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cmp` is never used
[INFO] [stderr]    --> src/locators.rs:224:4
[INFO] [stderr]     |
[INFO] [stderr] 224 | fn cmp(this: &str, than: &str) -> std::cmp::Ordering {
[INFO] [stderr]     |    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `zenoh-protocol-core` (lib) generated 19 warnings
[INFO] [stderr] warning: methods `inner`, `unwrap`, and `left` are never used
[INFO] [stderr]   --> src/key_expr/utils.rs:46:12
[INFO] [stderr]    |
[INFO] [stderr] 45 | impl<'a, S: Split<D> + ?Sized + std::fmt::Debug, D: ?Sized> Splitter<'a, S, D> {
[INFO] [stderr]    | ------------------------------------------------------------------------------ methods in this implementation
[INFO] [stderr] 46 |     pub fn inner(&self) -> Option<&'a S> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn unwrap(self) -> &'a S {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn left(&mut self) -> Option<&'a S> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `zenoh-protocol-core` (lib test) generated 19 warnings (18 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/zenoh_protocol_core-9b67c0d156823145)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test key_expr::borrowed::intersection_level_cmp ... ok
[INFO] [stdout] test key_expr::canon::canonizer ... ok
[INFO] [stdout] test key_expr::borrowed::test_keyexpr_strip_prefix ... ok
[INFO] [stdout] test key_expr::borrowed::autocanon ... ok
[INFO] [stdout] test key_expr::utils::splits ... ok
[INFO] [stdout] test locators::locators ... ok
[INFO] [stdout] test key_expr::test::inclusions ... ok
[INFO] [stdout] test key_expr::test::intersections ... ok
[INFO] [stdout] test key_expr::owned::div ... ok
[INFO] [stdout] test key_expr::test::fuzz ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.61s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests zenoh_protocol_core
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/key_expr/borrowed.rs - key_expr::borrowed::keyexpr::strip_prefix (line 178) ... ok
[INFO] [stdout] test src/key_expr/borrowed.rs - key_expr::borrowed::keyexpr::get_nonwild_prefix (line 132) ... ok
[INFO] [stdout] test src/key_expr/borrowed.rs - key_expr::borrowed::keyexpr::join (line 107) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.86s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2b301a05bb0e883b1a88cf91a91cd357fcef900bc7d94a8c2c34e74775f161a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b301a05bb0e883b1a88cf91a91cd357fcef900bc7d94a8c2c34e74775f161a4", kill_on_drop: false }`
[INFO] [stdout] 2b301a05bb0e883b1a88cf91a91cd357fcef900bc7d94a8c2c34e74775f161a4
