[INFO] fetching crate indexing 0.4.1...
[INFO] testing indexing-0.4.1 against 1.98.0-beta.1 for beta-1.98-1
[INFO] extracting crate indexing 0.4.1 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate indexing 0.4.1
[INFO] finished tweaking crates.io crate indexing 0.4.1
[INFO] tweaked toml for crates.io crate indexing 0.4.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate indexing 0.4.1 on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "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" "+1.98.0-beta.1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 62 packages to latest compatible versions
[INFO] [stderr]       Adding compiletest_rs v0.3.26 (available: v0.11.2)
[INFO] [stderr]       Adding quickcheck v0.9.2 (available: v1.1.0)
[INFO] [stderr]       Adding rand v0.7.3 (available: v0.10.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65
[INFO] running `Command { std: "docker" "start" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling indexing v0.4.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/lib.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct Index<'id, Proof = NonEmpty> {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 162 |     id: Id<'id>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ContainerPrivate` is never used
[INFO] [stdout]    --> src/lib.rs:241:7
[INFO] [stdout]     |
[INFO] [stdout] 241 | trait ContainerPrivate {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/indexing.rs:465:5
[INFO] [stdout]     |
[INFO] [stdout] 464 | pub struct RangeIter<'id> {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 465 |     id: Id<'id>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeIter` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PointerExt` is never used
[INFO] [stdout]   --> src/pointer_ext.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait PointerExt : Copy {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:324:35
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let pi: *mut _ = &mut (*self_mut)[i];
[INFO] [stdout]     |                                   ^^--------^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:324:35
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let pi: *mut _ = &mut (*self_mut)[i];
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let pi: *mut _ = &mut (&mut (*self_mut))[i];
[INFO] [stdout]     |                                   +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:325:35
[INFO] [stdout]     |
[INFO] [stdout] 325 |             let pj: *mut _ = &mut (*self_mut)[j];
[INFO] [stdout]     |                                   ^^--------^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:325:35
[INFO] [stdout]     |
[INFO] [stdout] 325 |             let pj: *mut _ = &mut (*self_mut)[j];
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 325 |             let pj: *mut _ = &mut (&mut (*self_mut))[j];
[INFO] [stdout]     |                                   +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:383:26
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                          ^^--------^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:383:26
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (&mut (*self_mut))[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                          +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:383:47
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                                               ^^--------^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:383:47
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (&mut (*self_mut))[s]))
[INFO] [stdout]     |                                               +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.43s
[INFO] running `Command { std: "docker" "inspect" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/lib.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct Index<'id, Proof = NonEmpty> {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 162 |     id: Id<'id>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ContainerPrivate` is never used
[INFO] [stdout]    --> src/lib.rs:241:7
[INFO] [stdout]     |
[INFO] [stdout] 241 | trait ContainerPrivate {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/indexing.rs:465:5
[INFO] [stdout]     |
[INFO] [stdout] 464 | pub struct RangeIter<'id> {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 465 |     id: Id<'id>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeIter` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PointerExt` is never used
[INFO] [stdout]   --> src/pointer_ext.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait PointerExt : Copy {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:324:35
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let pi: *mut _ = &mut (*self_mut)[i];
[INFO] [stdout]     |                                   ^^--------^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:324:35
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let pi: *mut _ = &mut (*self_mut)[i];
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let pi: *mut _ = &mut (&mut (*self_mut))[i];
[INFO] [stdout]     |                                   +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:325:35
[INFO] [stdout]     |
[INFO] [stdout] 325 |             let pj: *mut _ = &mut (*self_mut)[j];
[INFO] [stdout]     |                                   ^^--------^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:325:35
[INFO] [stdout]     |
[INFO] [stdout] 325 |             let pj: *mut _ = &mut (*self_mut)[j];
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 325 |             let pj: *mut _ = &mut (&mut (*self_mut))[j];
[INFO] [stdout]     |                                   +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:383:26
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                          ^^--------^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:383:26
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (&mut (*self_mut))[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                          +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:383:47
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                                               ^^--------^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:383:47
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (&mut (*self_mut))[s]))
[INFO] [stdout]     |                                               +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling quickcheck v0.9.2
[INFO] [stderr]    Compiling indexing v0.4.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `sorted` is never used
[INFO] [stdout]   --> tests/tests.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn sorted<T: Clone + Ord>(v: &[T]) -> Vec<T> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `R` is never used
[INFO] [stdout]    --> tests/tests.rs:241:6
[INFO] [stdout]     |
[INFO] [stdout] 241 | type R = Result<usize, usize>;
[INFO] [stdout]     |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_binary_search_ok` is never used
[INFO] [stdout]    --> tests/tests.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn assert_binary_search_ok<T>(data: &[T], expected: R, result: R)
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/lib.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct Index<'id, Proof = NonEmpty> {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 162 |     id: Id<'id>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ContainerPrivate` is never used
[INFO] [stdout]    --> src/lib.rs:241:7
[INFO] [stdout]     |
[INFO] [stdout] 241 | trait ContainerPrivate {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/indexing.rs:465:5
[INFO] [stdout]     |
[INFO] [stdout] 464 | pub struct RangeIter<'id> {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 465 |     id: Id<'id>,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeIter` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `unknown` is never used
[INFO] [stdout]   --> src/proof.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub(crate) trait ProofType {
[INFO] [stdout]    |                  --------- associated function in this trait
[INFO] [stdout] 97 |     fn nonempty() -> bool;
[INFO] [stdout] 98 |     fn unknown() -> bool { !Self::nonempty() }
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `nonempty_proof` is never used
[INFO] [stdout]    --> src/proof.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl<'id, P> Range<'id, P> {
[INFO] [stdout]     | -------------------------- method in this implementation
[INFO] [stdout] 120 |     pub(crate) fn nonempty_proof(&self) -> bool where P: ProofType
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PointerExt` is never used
[INFO] [stdout]   --> src/pointer_ext.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait PointerExt : Copy {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:324:35
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let pi: *mut _ = &mut (*self_mut)[i];
[INFO] [stdout]     |                                   ^^--------^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:324:35
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let pi: *mut _ = &mut (*self_mut)[i];
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let pi: *mut _ = &mut (&mut (*self_mut))[i];
[INFO] [stdout]     |                                   +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:325:35
[INFO] [stdout]     |
[INFO] [stdout] 325 |             let pj: *mut _ = &mut (*self_mut)[j];
[INFO] [stdout]     |                                   ^^--------^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:325:35
[INFO] [stdout]     |
[INFO] [stdout] 325 |             let pj: *mut _ = &mut (*self_mut)[j];
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 325 |             let pj: *mut _ = &mut (&mut (*self_mut))[j];
[INFO] [stdout]     |                                   +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:383:26
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                          ^^--------^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:383:26
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (&mut (*self_mut))[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                          +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/container.rs:383:47
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                                               ^^--------^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stdout]    --> src/container.rs:383:47
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 Ok((&mut (*self_mut)[r], &mut (&mut (*self_mut))[s]))
[INFO] [stdout]     |                                               +++++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.19s
[INFO] running `Command { std: "docker" "inspect" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: field `id` is never read
[INFO] [stderr]    --> src/lib.rs:162:5
[INFO] [stderr]     |
[INFO] [stderr] 161 | pub struct Index<'id, Proof = NonEmpty> {
[INFO] [stderr]     |            ----- field in this struct
[INFO] [stderr] 162 |     id: Id<'id>,
[INFO] [stderr]     |     ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ContainerPrivate` is never used
[INFO] [stderr]    --> src/lib.rs:241:7
[INFO] [stderr]     |
[INFO] [stderr] 241 | trait ContainerPrivate {
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `id` is never read
[INFO] [stderr]    --> src/indexing.rs:465:5
[INFO] [stderr]     |
[INFO] [stderr] 464 | pub struct RangeIter<'id> {
[INFO] [stderr]     |            --------- field in this struct
[INFO] [stderr] 465 |     id: Id<'id>,
[INFO] [stderr]     |     ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `RangeIter` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: trait `PointerExt` is never used
[INFO] [stderr]   --> src/pointer_ext.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub trait PointerExt : Copy {
[INFO] [stderr]    |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/container.rs:324:35
[INFO] [stderr]     |
[INFO] [stderr] 324 |             let pi: *mut _ = &mut (*self_mut)[i];
[INFO] [stderr]     |                                   ^^--------^^^^
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stderr]    --> src/container.rs:324:35
[INFO] [stderr]     |
[INFO] [stderr] 324 |             let pi: *mut _ = &mut (*self_mut)[i];
[INFO] [stderr]     |                                   ^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 324 |             let pi: *mut _ = &mut (&mut (*self_mut))[i];
[INFO] [stderr]     |                                   +++++            +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/container.rs:325:35
[INFO] [stderr]     |
[INFO] [stderr] 325 |             let pj: *mut _ = &mut (*self_mut)[j];
[INFO] [stderr]     |                                   ^^--------^^^^
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stderr]    --> src/container.rs:325:35
[INFO] [stderr]     |
[INFO] [stderr] 325 |             let pj: *mut _ = &mut (*self_mut)[j];
[INFO] [stderr]     |                                   ^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 325 |             let pj: *mut _ = &mut (&mut (*self_mut))[j];
[INFO] [stderr]     |                                   +++++            +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/container.rs:383:26
[INFO] [stderr]     |
[INFO] [stderr] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stderr]     |                          ^^--------^^^^
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stderr]    --> src/container.rs:383:26
[INFO] [stderr]     |
[INFO] [stderr] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stderr]     |                          ^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 383 |                 Ok((&mut (&mut (*self_mut))[r], &mut (*self_mut)[s]))
[INFO] [stderr]     |                          +++++            +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/container.rs:383:47
[INFO] [stderr]     |
[INFO] [stderr] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stderr]     |                                               ^^--------^^^^
[INFO] [stderr]     |                                                 |
[INFO] [stderr]     |                                                 this raw pointer has type `*mut Container<'_, Array, Mode>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&mut Container<'_, Array, Mode>`
[INFO] [stderr]    --> src/container.rs:383:47
[INFO] [stderr]     |
[INFO] [stderr] 383 |                 Ok((&mut (*self_mut)[r], &mut (*self_mut)[s]))
[INFO] [stderr]     |                                               ^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 383 |                 Ok((&mut (*self_mut)[r], &mut (&mut (*self_mut))[s]))
[INFO] [stderr]     |                                               +++++            +
[INFO] [stderr] 
[INFO] [stderr] warning: `indexing` (lib) generated 8 warnings
[INFO] [stderr] warning: function `sorted` is never used
[INFO] [stderr]   --> tests/tests.rs:89:4
[INFO] [stderr]    |
[INFO] [stderr] 89 | fn sorted<T: Clone + Ord>(v: &[T]) -> Vec<T> {
[INFO] [stderr]    |    ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `R` is never used
[INFO] [stderr]    --> tests/tests.rs:241:6
[INFO] [stderr]     |
[INFO] [stderr] 241 | type R = Result<usize, usize>;
[INFO] [stderr]     |      ^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_binary_search_ok` is never used
[INFO] [stderr]    --> tests/tests.rs:242:4
[INFO] [stderr]     |
[INFO] [stderr] 242 | fn assert_binary_search_ok<T>(data: &[T], expected: R, result: R)
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `unknown` is never used
[INFO] [stderr]   --> src/proof.rs:98:8
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub(crate) trait ProofType {
[INFO] [stderr]    |                  --------- associated function in this trait
[INFO] [stderr] 97 |     fn nonempty() -> bool;
[INFO] [stderr] 98 |     fn unknown() -> bool { !Self::nonempty() }
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `nonempty_proof` is never used
[INFO] [stderr]    --> src/proof.rs:120:19
[INFO] [stderr]     |
[INFO] [stderr] 119 | impl<'id, P> Range<'id, P> {
[INFO] [stderr]     | -------------------------- method in this implementation
[INFO] [stderr] 120 |     pub(crate) fn nonempty_proof(&self) -> bool where P: ProofType
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `indexing` (test "tests") generated 3 warnings
[INFO] [stderr] warning: `indexing` (lib test) generated 10 warnings (8 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/indexing-e15c25d50db6e1a9)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test algorithms::test_binary_search ... ok
[INFO] [stdout] test algorithms::test_lower_bound_ptr ... ok
[INFO] [stdout] test algorithms::test_lower_bound ... ok
[INFO] [stdout] test algorithms::test_heapify ... ok
[INFO] [stdout] test algorithms::test_make_twin ... ok
[INFO] [stdout] test algorithms::test_quicksort ... ok
[INFO] [stdout] test algorithms::test_twin_insertion_sort ... ok
[INFO] [stdout] test container::intervals ... ok
[INFO] [stdout] test container::test_contains ... ok
[INFO] [stdout] test container::test_intervals ... ok
[INFO] [stdout] test container::test_is_send_sync ... ok
[INFO] [stdout] test container::test_nonempty ... ok
[INFO] [stdout] test container::test_scan ... ok
[INFO] [stdout] test indexing::test_frac_step ... ok
[INFO] [stdout] test algorithms::test_merge_internal ... ok
[INFO] [stdout] test indexing::test_join_cover ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compiletest.rs (/opt/rustwide/target/debug/deps/compiletest-df1724c17083b36a)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tests.rs (/opt/rustwide/target/debug/deps/tests-f5e30faf40673e87)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test join_add_proof ... ok
[INFO] [stdout] test range_split_nonempty ... ok
[INFO] [stdout] test test_range_order ... ok
[INFO] [stdout] test test_insertion_sort ... ok
[INFO] [stdout] test test_lower_bound_1 ... ok
[INFO] [stdout] test test_lower_bound_2 ... ok
[INFO] [stdout] test qc_quicksort ... ok
[INFO] [stdout] test qc_heapify ... ok
[INFO] [stdout] test qc_quicksort_bounds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/vec.rs (/opt/rustwide/target/debug/deps/vec-9613acfdff59a350)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_vec ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests indexing
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test src/macro_utils.rs - macro_utils::copy_and_clone (line 6) ... FAILED
[INFO] [stdout] test src/indexing.rs - indexing::Range<'id,P>::join_cover (line 211) - compile fail ... ok
[INFO] [stdout] test src/container.rs - container::Container<'id,Array,Mode> (line 57) - compile fail ... ok
[INFO] [stdout] test src/lib.rs - (line 66) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/macro_utils.rs - macro_utils::copy_and_clone (line 6) stdout ----
[INFO] [stdout] error: cannot find macro `copy_and_clone` in this scope
[INFO] [stdout]  --> src/macro_utils.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | copy_and_clone!([T] Foo<T>);
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/macro_utils.rs - macro_utils::copy_and_clone (line 6)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 3 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65", kill_on_drop: false }`
[INFO] [stdout] 3a4862f6f64ea468e9997e738d07c6a03d46bcea500f1259be10b843c2a5ce65
