[INFO] fetching crate rusty-leveldb 3.0.3... [INFO] building rusty-leveldb-3.0.3 against try#8b8eff55bd72abbb57167bc42222a7f91d41cb0d for pr-142134-abi-ast-error [INFO] extracting crate rusty-leveldb 3.0.3 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate rusty-leveldb 3.0.3 on toolchain 8b8eff55bd72abbb57167bc42222a7f91d41cb0d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rusty-leveldb 3.0.3 [INFO] finished tweaking crates.io crate rusty-leveldb 3.0.3 [INFO] tweaked toml for crates.io crate rusty-leveldb 3.0.3 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate rusty-leveldb 3.0.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 42a25cc997a7d2881e7f62afe4284423cf6725d41d079860810745e3e6cd3add [INFO] running `Command { std: "docker" "start" "-a" "42a25cc997a7d2881e7f62afe4284423cf6725d41d079860810745e3e6cd3add", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "42a25cc997a7d2881e7f62afe4284423cf6725d41d079860810745e3e6cd3add", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "42a25cc997a7d2881e7f62afe4284423cf6725d41d079860810745e3e6cd3add", kill_on_drop: false }` [INFO] [stdout] 42a25cc997a7d2881e7f62afe4284423cf6725d41d079860810745e3e6cd3add [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 139595feab5a138d843a1ebadccb1737d146c2a181e281baad32f2830b0a4e0e [INFO] running `Command { std: "docker" "start" "-a" "139595feab5a138d843a1ebadccb1737d146c2a181e281baad32f2830b0a4e0e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling snap v1.1.1 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling integer-encoding v3.0.4 [INFO] [stderr] Compiling crc v3.2.1 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.93 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling errno v0.2.8 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rusty-leveldb v3.0.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: a method with this name may be added to the standard library in the future [INFO] [stdout] --> src/disk_env.rs:164:18 [INFO] [stdout] | [INFO] [stdout] 164 | if f.unlock().is_err() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [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 [INFO] [stdout] = help: call with fully qualified syntax `unlock(...)` to keep using the current method [INFO] [stdout] = note: `#[warn(unstable_name_collisions)]` on by default [INFO] [stdout] help: add `#![feature(file_lock)]` to the crate attributes to enable `File::unlock` [INFO] [stdout] --> src/lib.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 + #![feature(file_lock)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/key_types.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn memtable_key(&self) -> MemtableKey { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 74 | pub fn memtable_key(&self) -> MemtableKey<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/key_types.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn user_key(&self) -> UserKey { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 79 | pub fn user_key(&self) -> UserKey<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/key_types.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn internal_key(&self) -> InternalKey { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 84 | pub fn internal_key(&self) -> InternalKey<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(next) = (*current).skips[level] { [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(next) = (*current).skips[level] { [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] 136 | if let Some(next) = (&(*current).skips)[level] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:179:37 [INFO] [stdout] | [INFO] [stdout] 179 | if let Some(next) = (*current).skips[level] { [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:179:37 [INFO] [stdout] | [INFO] [stdout] 179 | if let Some(next) = (*current).skips[level] { [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] 179 | if let Some(next) = (&(*current).skips)[level] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:225:37 [INFO] [stdout] | [INFO] [stdout] 225 | if let Some(next) = (*current).skips[level] { [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:225:37 [INFO] [stdout] | [INFO] [stdout] 225 | if let Some(next) = (*current).skips[level] { [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] 225 | if let Some(next) = (&(*current).skips)[level] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:263:36 [INFO] [stdout] | [INFO] [stdout] 263 | new.skips[i] = (*prev).skips[i]; [INFO] [stdout] | ^^----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:263:36 [INFO] [stdout] | [INFO] [stdout] 263 | new.skips[i] = (*prev).skips[i]; [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] 263 | new.skips[i] = (&(*prev).skips)[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/skipmap.rs:264:21 [INFO] [stdout] | [INFO] [stdout] 264 | (*prev).skips[i] = Some(newp); [INFO] [stdout] | ^^----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [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 Vec>` [INFO] [stdout] --> src/skipmap.rs:264:21 [INFO] [stdout] | [INFO] [stdout] 264 | (*prev).skips[i] = Some(newp); [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] 264 | (&mut (*prev).skips)[i] = Some(newp); [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:296:37 [INFO] [stdout] | [INFO] [stdout] 296 | if let Some(next) = (*current).skips[0] { [INFO] [stdout] | ^^-------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:296:37 [INFO] [stdout] | [INFO] [stdout] 296 | if let Some(next) = (*current).skips[0] { [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] 296 | if let Some(next) = (&(*current).skips)[0] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/write_batch.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn iter(&self) -> WriteBatchIter { [INFO] [stdout] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 89 | pub fn iter(&self) -> WriteBatchIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.32s [INFO] running `Command { std: "docker" "inspect" "139595feab5a138d843a1ebadccb1737d146c2a181e281baad32f2830b0a4e0e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "139595feab5a138d843a1ebadccb1737d146c2a181e281baad32f2830b0a4e0e", kill_on_drop: false }` [INFO] [stdout] 139595feab5a138d843a1ebadccb1737d146c2a181e281baad32f2830b0a4e0e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cf40669a6f5ef21021dfac98ea325538fa2b9e12bd0e475d4c6a31ca6f8514bd [INFO] running `Command { std: "docker" "start" "-a" "cf40669a6f5ef21021dfac98ea325538fa2b9e12bd0e475d4c6a31ca6f8514bd", kill_on_drop: false }` [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling bencher v0.1.5 [INFO] [stdout] warning: a method with this name may be added to the standard library in the future [INFO] [stdout] --> src/disk_env.rs:164:18 [INFO] [stdout] | [INFO] [stdout] 164 | if f.unlock().is_err() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [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 [INFO] [stdout] = help: call with fully qualified syntax `unlock(...)` to keep using the current method [INFO] [stdout] = note: `#[warn(unstable_name_collisions)]` on by default [INFO] [stdout] help: add `#![feature(file_lock)]` to the crate attributes to enable `File::unlock` [INFO] [stdout] --> src/lib.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 + #![feature(file_lock)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/key_types.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn memtable_key(&self) -> MemtableKey { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 74 | pub fn memtable_key(&self) -> MemtableKey<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/key_types.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn user_key(&self) -> UserKey { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 79 | pub fn user_key(&self) -> UserKey<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/key_types.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn internal_key(&self) -> InternalKey { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 84 | pub fn internal_key(&self) -> InternalKey<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(next) = (*current).skips[level] { [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(next) = (*current).skips[level] { [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] 136 | if let Some(next) = (&(*current).skips)[level] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:179:37 [INFO] [stdout] | [INFO] [stdout] 179 | if let Some(next) = (*current).skips[level] { [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:179:37 [INFO] [stdout] | [INFO] [stdout] 179 | if let Some(next) = (*current).skips[level] { [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] 179 | if let Some(next) = (&(*current).skips)[level] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:225:37 [INFO] [stdout] | [INFO] [stdout] 225 | if let Some(next) = (*current).skips[level] { [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:225:37 [INFO] [stdout] | [INFO] [stdout] 225 | if let Some(next) = (*current).skips[level] { [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] 225 | if let Some(next) = (&(*current).skips)[level] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:263:36 [INFO] [stdout] | [INFO] [stdout] 263 | new.skips[i] = (*prev).skips[i]; [INFO] [stdout] | ^^----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:263:36 [INFO] [stdout] | [INFO] [stdout] 263 | new.skips[i] = (*prev).skips[i]; [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] 263 | new.skips[i] = (&(*prev).skips)[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/skipmap.rs:264:21 [INFO] [stdout] | [INFO] [stdout] 264 | (*prev).skips[i] = Some(newp); [INFO] [stdout] | ^^----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [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 Vec>` [INFO] [stdout] --> src/skipmap.rs:264:21 [INFO] [stdout] | [INFO] [stdout] 264 | (*prev).skips[i] = Some(newp); [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] 264 | (&mut (*prev).skips)[i] = Some(newp); [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:296:37 [INFO] [stdout] | [INFO] [stdout] 296 | if let Some(next) = (*current).skips[0] { [INFO] [stdout] | ^^-------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:296:37 [INFO] [stdout] | [INFO] [stdout] 296 | if let Some(next) = (*current).skips[0] { [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] 296 | if let Some(next) = (&(*current).skips)[0] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/write_batch.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn iter(&self) -> WriteBatchIter { [INFO] [stdout] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 89 | pub fn iter(&self) -> WriteBatchIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling deranged v0.3.11 [INFO] [stderr] Compiling time v0.3.37 [INFO] [stderr] Compiling time-test v0.3.0 [INFO] [stderr] Compiling rusty-leveldb v3.0.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: a method with this name may be added to the standard library in the future [INFO] [stdout] --> src/disk_env.rs:164:18 [INFO] [stdout] | [INFO] [stdout] 164 | if f.unlock().is_err() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [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 [INFO] [stdout] = help: call with fully qualified syntax `unlock(...)` to keep using the current method [INFO] [stdout] = note: `#[warn(unstable_name_collisions)]` on by default [INFO] [stdout] help: add `#![feature(file_lock)]` to the crate attributes to enable `File::unlock` [INFO] [stdout] --> src/lib.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 + #![feature(file_lock)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/key_types.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn memtable_key(&self) -> MemtableKey { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 74 | pub fn memtable_key(&self) -> MemtableKey<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/key_types.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn user_key(&self) -> UserKey { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 79 | pub fn user_key(&self) -> UserKey<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/key_types.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn internal_key(&self) -> InternalKey { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 84 | pub fn internal_key(&self) -> InternalKey<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(next) = (*current).skips[level] { [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(next) = (*current).skips[level] { [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] 136 | if let Some(next) = (&(*current).skips)[level] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:179:37 [INFO] [stdout] | [INFO] [stdout] 179 | if let Some(next) = (*current).skips[level] { [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:179:37 [INFO] [stdout] | [INFO] [stdout] 179 | if let Some(next) = (*current).skips[level] { [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] 179 | if let Some(next) = (&(*current).skips)[level] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:225:37 [INFO] [stdout] | [INFO] [stdout] 225 | if let Some(next) = (*current).skips[level] { [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:225:37 [INFO] [stdout] | [INFO] [stdout] 225 | if let Some(next) = (*current).skips[level] { [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] 225 | if let Some(next) = (&(*current).skips)[level] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:263:36 [INFO] [stdout] | [INFO] [stdout] 263 | new.skips[i] = (*prev).skips[i]; [INFO] [stdout] | ^^----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:263:36 [INFO] [stdout] | [INFO] [stdout] 263 | new.skips[i] = (*prev).skips[i]; [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] 263 | new.skips[i] = (&(*prev).skips)[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/skipmap.rs:264:21 [INFO] [stdout] | [INFO] [stdout] 264 | (*prev).skips[i] = Some(newp); [INFO] [stdout] | ^^----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Node` [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 Vec>` [INFO] [stdout] --> src/skipmap.rs:264:21 [INFO] [stdout] | [INFO] [stdout] 264 | (*prev).skips[i] = Some(newp); [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] 264 | (&mut (*prev).skips)[i] = Some(newp); [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/skipmap.rs:296:37 [INFO] [stdout] | [INFO] [stdout] 296 | if let Some(next) = (*current).skips[0] { [INFO] [stdout] | ^^-------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Node` [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: `&Vec>` [INFO] [stdout] --> src/skipmap.rs:296:37 [INFO] [stdout] | [INFO] [stdout] 296 | if let Some(next) = (*current).skips[0] { [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] 296 | if let Some(next) = (&(*current).skips)[0] { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/write_batch.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn iter(&self) -> WriteBatchIter { [INFO] [stdout] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 89 | pub fn iter(&self) -> WriteBatchIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 7.20s [INFO] running `Command { std: "docker" "inspect" "cf40669a6f5ef21021dfac98ea325538fa2b9e12bd0e475d4c6a31ca6f8514bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cf40669a6f5ef21021dfac98ea325538fa2b9e12bd0e475d4c6a31ca6f8514bd", kill_on_drop: false }` [INFO] [stdout] cf40669a6f5ef21021dfac98ea325538fa2b9e12bd0e475d4c6a31ca6f8514bd