[INFO] fetching crate own-ref 0.1.0-alpha... [INFO] checking own-ref-0.1.0-alpha against try#39605810efb1a0d52f955bfba9e4eec7a01d5deb for pr-153692 [INFO] extracting crate own-ref 0.1.0-alpha into /workspace/builds/worker-1-tc2/source [INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain [INFO] started tweaking crates.io crate own-ref 0.1.0-alpha [INFO] finished tweaking crates.io crate own-ref 0.1.0-alpha [INFO] tweaked toml for crates.io crate own-ref 0.1.0-alpha written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate own-ref 0.1.0-alpha on toolchain 39605810efb1a0d52f955bfba9e4eec7a01d5deb [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "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" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 11 packages to latest compatible versions [INFO] [stderr] Adding extension-traits v1.0.1 (available: v2.0.1) [INFO] [stderr] Adding macro_rules_attribute v0.1.3 (available: v0.2.2) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6111d04d62d070f4675b2bbce14a967fb07ed9e51776fa7b19e615f67781024e [INFO] running `Command { std: "docker" "start" "-a" "6111d04d62d070f4675b2bbce14a967fb07ed9e51776fa7b19e615f67781024e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6111d04d62d070f4675b2bbce14a967fb07ed9e51776fa7b19e615f67781024e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6111d04d62d070f4675b2bbce14a967fb07ed9e51776fa7b19e615f67781024e", kill_on_drop: false }` [INFO] [stdout] 6111d04d62d070f4675b2bbce14a967fb07ed9e51776fa7b19e615f67781024e [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=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" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] eb750924b9fa7ae277efa586a2cfb83b137c1b619e18b3d2fca6c01a6b76360b [INFO] running `Command { std: "docker" "start" "-a" "eb750924b9fa7ae277efa586a2cfb83b137c1b619e18b3d2fca6c01a6b76360b", kill_on_drop: false }` [INFO] [stderr] Compiling macro_rules_attribute-proc_macro v0.1.3 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking macro_rules_attribute v0.1.3 [INFO] [stderr] Compiling ext-trait-proc_macros v1.0.1 [INFO] [stderr] Checking ext-trait v1.0.1 [INFO] [stderr] Checking extension-traits v1.0.1 [INFO] [stderr] Checking own-ref v0.1.0-alpha (/opt/rustwide/workdir) [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/own/impls.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | self: &'_ OwnRef<'slot, T, D>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] = note: `#[deny(self_lifetime_elision_not_applicable)]` (part of `#[deny(future_incompatible)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/own.rs:527:24 [INFO] [stdout] | [INFO] [stdout] 527 | fn deref_mut(self: &'_ mut OwnRef<'slot, T, D>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/own.rs:536:28 [INFO] [stdout] | [INFO] [stdout] 536 | fn deref(self: &'_ OwnRef<'slot, T, D>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/own.rs:631:15 [INFO] [stdout] | [INFO] [stdout] 631 | self: &'_ mut HackMD<&'temporary (), T>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/own.rs:642:23 [INFO] [stdout] | [INFO] [stdout] 642 | self: &'_ HackMD<&'temporary (), T>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/pin.rs:418:19 [INFO] [stdout] | [INFO] [stdout] 418 | mut self: Pin<&'slot mut ManualOption>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/slot.rs:206:29 [INFO] [stdout] | [INFO] [stdout] 206 | fn holding<'slot>(self: &'slot mut Slot, value: T) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/own/impls.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | self: &'_ OwnRef<'slot, T, D>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] = note: `#[deny(self_lifetime_elision_not_applicable)]` (part of `#[deny(future_incompatible)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/own.rs:527:24 [INFO] [stdout] | [INFO] [stdout] 527 | fn deref_mut(self: &'_ mut OwnRef<'slot, T, D>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/own.rs:536:28 [INFO] [stdout] | [INFO] [stdout] 536 | fn deref(self: &'_ OwnRef<'slot, T, D>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/own.rs:631:15 [INFO] [stdout] | [INFO] [stdout] 631 | self: &'_ mut HackMD<&'temporary (), T>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/own.rs:642:23 [INFO] [stdout] | [INFO] [stdout] 642 | self: &'_ HackMD<&'temporary (), T>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/pin.rs:418:19 [INFO] [stdout] | [INFO] [stdout] 418 | mut self: Pin<&'slot mut ManualOption>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `self` parameter type does not contain `Self` [INFO] [stdout] --> src/slot.rs:206:29 [INFO] [stdout] | [INFO] [stdout] 206 | fn holding<'slot>(self: &'slot mut Slot, value: T) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use `&self`, `&mut self`, or `self: &Self` for correct lifetime elision [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #140611 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/own.rs:533:9 [INFO] [stdout] | [INFO] [stdout] 527 | / fn deref_mut(self: &'_ mut OwnRef<'slot, T, D>) [INFO] [stdout] 528 | | -> &'_ mut T [INFO] [stdout] | |__________________- move the `impl` block outside of this method `deref_mut` [INFO] [stdout] ... [INFO] [stdout] 533 | impl<'slot, T : ?Sized, D> ::core::ops::Deref for OwnRef<'slot, T, D> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `OwnRef` is not local [INFO] [stdout] | `Deref` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/own.rs:634:9 [INFO] [stdout] | [INFO] [stdout] 630 | / fn deref_mut( [INFO] [stdout] 631 | | self: &'_ mut HackMD<&'temporary (), T>, [INFO] [stdout] 632 | | ) -> &'_ mut HackMD, T> [INFO] [stdout] | |______________________________________________- move the `impl` block outside of this method `deref_mut` [INFO] [stdout] 633 | { [INFO] [stdout] 634 | / impl<'temporary, T : ?Sized> [INFO] [stdout] 635 | | ::core::ops::Deref [INFO] [stdout] | | ------------------ `Deref` is not local [INFO] [stdout] 636 | | for [INFO] [stdout] 637 | | HackMD<&'temporary (), T> [INFO] [stdout] | |_____________------__________________^ [INFO] [stdout] | | [INFO] [stdout] | `HackMD` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/pin.rs:433:17 [INFO] [stdout] | [INFO] [stdout] 416 | / pub [INFO] [stdout] 417 | | fn holding<'slot>( [INFO] [stdout] 418 | | mut self: Pin<&'slot mut ManualOption>, [INFO] [stdout] 419 | | value: T, [INFO] [stdout] 420 | | ) -> Pin> [INFO] [stdout] | |______________________________________________- move the `impl` block outside of this method `holding` [INFO] [stdout] ... [INFO] [stdout] 433 | impl ManualOption { [INFO] [stdout] | ^^^^^^^^------------^^^ [INFO] [stdout] | | [INFO] [stdout] | `ManualOption` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `own-ref` (lib) due to 7 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/own.rs:533:9 [INFO] [stdout] | [INFO] [stdout] 527 | / fn deref_mut(self: &'_ mut OwnRef<'slot, T, D>) [INFO] [stdout] 528 | | -> &'_ mut T [INFO] [stdout] | |__________________- move the `impl` block outside of this method `deref_mut` [INFO] [stdout] ... [INFO] [stdout] 533 | impl<'slot, T : ?Sized, D> ::core::ops::Deref for OwnRef<'slot, T, D> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `OwnRef` is not local [INFO] [stdout] | `Deref` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/own.rs:634:9 [INFO] [stdout] | [INFO] [stdout] 630 | / fn deref_mut( [INFO] [stdout] 631 | | self: &'_ mut HackMD<&'temporary (), T>, [INFO] [stdout] 632 | | ) -> &'_ mut HackMD, T> [INFO] [stdout] | |______________________________________________- move the `impl` block outside of this method `deref_mut` [INFO] [stdout] 633 | { [INFO] [stdout] 634 | / impl<'temporary, T : ?Sized> [INFO] [stdout] 635 | | ::core::ops::Deref [INFO] [stdout] | | ------------------ `Deref` is not local [INFO] [stdout] 636 | | for [INFO] [stdout] 637 | | HackMD<&'temporary (), T> [INFO] [stdout] | |_____________------__________________^ [INFO] [stdout] | | [INFO] [stdout] | `HackMD` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/pin.rs:433:17 [INFO] [stdout] | [INFO] [stdout] 416 | / pub [INFO] [stdout] 417 | | fn holding<'slot>( [INFO] [stdout] 418 | | mut self: Pin<&'slot mut ManualOption>, [INFO] [stdout] 419 | | value: T, [INFO] [stdout] 420 | | ) -> Pin> [INFO] [stdout] | |______________________________________________- move the `impl` block outside of this method `holding` [INFO] [stdout] ... [INFO] [stdout] 433 | impl ManualOption { [INFO] [stdout] | ^^^^^^^^------------^^^ [INFO] [stdout] | | [INFO] [stdout] | `ManualOption` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `own-ref` (lib test) due to 7 previous errors; 3 warnings emitted [INFO] running `Command { std: "docker" "inspect" "eb750924b9fa7ae277efa586a2cfb83b137c1b619e18b3d2fca6c01a6b76360b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eb750924b9fa7ae277efa586a2cfb83b137c1b619e18b3d2fca6c01a6b76360b", kill_on_drop: false }` [INFO] [stdout] eb750924b9fa7ae277efa586a2cfb83b137c1b619e18b3d2fca6c01a6b76360b