[INFO] fetching crate rrtk 0.7.0-alpha.10... [INFO] checking rrtk-0.7.0-alpha.10 against try#7424ce9ff9baac3e9d9f5dd3c85828cddea0134d for pr-136776-2 [INFO] extracting crate rrtk 0.7.0-alpha.10 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate rrtk 0.7.0-alpha.10 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate rrtk 0.7.0-alpha.10 [INFO] tweaked toml for crates.io crate rrtk 0.7.0-alpha.10 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate rrtk 0.7.0-alpha.10 on toolchain 7424ce9ff9baac3e9d9f5dd3c85828cddea0134d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rrtk 0.7.0-alpha.10 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" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 952438fe145e1025606f0b59409106cd93ecf4cb7867e5dbe2d07744d523a5c4 [INFO] running `Command { std: "docker" "start" "-a" "952438fe145e1025606f0b59409106cd93ecf4cb7867e5dbe2d07744d523a5c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "952438fe145e1025606f0b59409106cd93ecf4cb7867e5dbe2d07744d523a5c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "952438fe145e1025606f0b59409106cd93ecf4cb7867e5dbe2d07744d523a5c4", kill_on_drop: false }` [INFO] [stdout] 952438fe145e1025606f0b59409106cd93ecf4cb7867e5dbe2d07744d523a5c4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dbae075c705cbde0bb14729c71d6adb6f7922278272b203779f7b34261321b87 [INFO] running `Command { std: "docker" "start" "-a" "dbae075c705cbde0bb14729c71d6adb6f7922278272b203779f7b34261321b87", kill_on_drop: false }` [INFO] [stderr] Checking rrtk v0.7.0-alpha.10 (/opt/rustwide/workdir) [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:721:87 [INFO] [stdout] | [INFO] [stdout] 721 | pub const fn as_dyn_updatable(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 722 | | where [INFO] [stdout] 723 | | T: Updatable, [INFO] [stdout] 724 | | { [INFO] [stdout] 725 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 794 | as_dyn_updatable!(*mut dyn Updatable); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_updatable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 793 | impl PointerDereferencer<*mut T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:734:87 [INFO] [stdout] | [INFO] [stdout] 734 | pub const fn as_dyn_getter(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 735 | | where [INFO] [stdout] 736 | | T: Getter, [INFO] [stdout] 737 | | { [INFO] [stdout] 738 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 795 | as_dyn_getter!(*mut dyn Getter); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 793 | impl PointerDereferencer<*mut T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:749:34 [INFO] [stdout] | [INFO] [stdout] 749 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 750 | | where [INFO] [stdout] 751 | | T: Settable, [INFO] [stdout] 752 | | { [INFO] [stdout] 753 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 796 | as_dyn_settable!(*mut dyn Settable); [INFO] [stdout] | ----------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_settable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 793 | impl PointerDereferencer<*mut T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:764:34 [INFO] [stdout] | [INFO] [stdout] 764 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 765 | | where [INFO] [stdout] 766 | | T: TimeGetter, [INFO] [stdout] 767 | | { [INFO] [stdout] 768 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 797 | as_dyn_time_getter!(*mut dyn TimeGetter); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_time_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 793 | impl PointerDereferencer<*mut T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:780:73 [INFO] [stdout] | [INFO] [stdout] 780 | pub const fn as_dyn_chronology(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _________________________________________________________________________^ [INFO] [stdout] 781 | | where [INFO] [stdout] 782 | | T: Chronology, [INFO] [stdout] 783 | | { [INFO] [stdout] 784 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 798 | as_dyn_chronology!(*mut dyn Chronology); [INFO] [stdout] | ------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_chronology` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 793 | impl PointerDereferencer<*mut T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:721:87 [INFO] [stdout] | [INFO] [stdout] 721 | pub const fn as_dyn_updatable(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 722 | | where [INFO] [stdout] 723 | | T: Updatable, [INFO] [stdout] 724 | | { [INFO] [stdout] 725 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 806 | as_dyn_updatable!(*const RwLock>); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_updatable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 805 | impl PointerDereferencer<*const RwLock> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:734:87 [INFO] [stdout] | [INFO] [stdout] 734 | pub const fn as_dyn_getter(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 735 | | where [INFO] [stdout] 736 | | T: Getter, [INFO] [stdout] 737 | | { [INFO] [stdout] 738 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 807 | as_dyn_getter!(*const RwLock>); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 805 | impl PointerDereferencer<*const RwLock> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:749:34 [INFO] [stdout] | [INFO] [stdout] 749 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 750 | | where [INFO] [stdout] 751 | | T: Settable, [INFO] [stdout] 752 | | { [INFO] [stdout] 753 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 808 | as_dyn_settable!(*const RwLock>); [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_settable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 805 | impl PointerDereferencer<*const RwLock> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:764:34 [INFO] [stdout] | [INFO] [stdout] 764 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 765 | | where [INFO] [stdout] 766 | | T: TimeGetter, [INFO] [stdout] 767 | | { [INFO] [stdout] 768 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 809 | as_dyn_time_getter!(*const RwLock>); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_time_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 805 | impl PointerDereferencer<*const RwLock> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:721:87 [INFO] [stdout] | [INFO] [stdout] 721 | pub const fn as_dyn_updatable(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 722 | | where [INFO] [stdout] 723 | | T: Updatable, [INFO] [stdout] 724 | | { [INFO] [stdout] 725 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 817 | as_dyn_updatable!(*const Mutex>); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_updatable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 816 | impl PointerDereferencer<*const Mutex> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:734:87 [INFO] [stdout] | [INFO] [stdout] 734 | pub const fn as_dyn_getter(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 735 | | where [INFO] [stdout] 736 | | T: Getter, [INFO] [stdout] 737 | | { [INFO] [stdout] 738 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 818 | as_dyn_getter!(*const Mutex>); [INFO] [stdout] | ---------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 816 | impl PointerDereferencer<*const Mutex> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:749:34 [INFO] [stdout] | [INFO] [stdout] 749 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 750 | | where [INFO] [stdout] 751 | | T: Settable, [INFO] [stdout] 752 | | { [INFO] [stdout] 753 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 819 | as_dyn_settable!(*const Mutex>); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_settable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 816 | impl PointerDereferencer<*const Mutex> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:764:34 [INFO] [stdout] | [INFO] [stdout] 764 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 765 | | where [INFO] [stdout] 766 | | T: TimeGetter, [INFO] [stdout] 767 | | { [INFO] [stdout] 768 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 820 | as_dyn_time_getter!(*const Mutex>); [INFO] [stdout] | ---------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_time_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 816 | impl PointerDereferencer<*const Mutex> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:780:73 [INFO] [stdout] | [INFO] [stdout] 780 | pub const fn as_dyn_chronology(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _________________________________________________________________________^ [INFO] [stdout] 781 | | where [INFO] [stdout] 782 | | T: Chronology, [INFO] [stdout] 783 | | { [INFO] [stdout] 784 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 826 | as_dyn_chronology!(*const dyn Chronology); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_chronology` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 825 | impl PointerDereferencer<*const T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0310`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rrtk` (lib) due to 14 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:721:87 [INFO] [stdout] | [INFO] [stdout] 721 | pub const fn as_dyn_updatable(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 722 | | where [INFO] [stdout] 723 | | T: Updatable, [INFO] [stdout] 724 | | { [INFO] [stdout] 725 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 794 | as_dyn_updatable!(*mut dyn Updatable); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_updatable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 793 | impl PointerDereferencer<*mut T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:734:87 [INFO] [stdout] | [INFO] [stdout] 734 | pub const fn as_dyn_getter(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 735 | | where [INFO] [stdout] 736 | | T: Getter, [INFO] [stdout] 737 | | { [INFO] [stdout] 738 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 795 | as_dyn_getter!(*mut dyn Getter); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 793 | impl PointerDereferencer<*mut T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:749:34 [INFO] [stdout] | [INFO] [stdout] 749 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 750 | | where [INFO] [stdout] 751 | | T: Settable, [INFO] [stdout] 752 | | { [INFO] [stdout] 753 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 796 | as_dyn_settable!(*mut dyn Settable); [INFO] [stdout] | ----------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_settable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 793 | impl PointerDereferencer<*mut T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:764:34 [INFO] [stdout] | [INFO] [stdout] 764 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 765 | | where [INFO] [stdout] 766 | | T: TimeGetter, [INFO] [stdout] 767 | | { [INFO] [stdout] 768 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 797 | as_dyn_time_getter!(*mut dyn TimeGetter); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_time_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 793 | impl PointerDereferencer<*mut T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:780:73 [INFO] [stdout] | [INFO] [stdout] 780 | pub const fn as_dyn_chronology(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _________________________________________________________________________^ [INFO] [stdout] 781 | | where [INFO] [stdout] 782 | | T: Chronology, [INFO] [stdout] 783 | | { [INFO] [stdout] 784 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 798 | as_dyn_chronology!(*mut dyn Chronology); [INFO] [stdout] | ------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_chronology` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 793 | impl PointerDereferencer<*mut T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:721:87 [INFO] [stdout] | [INFO] [stdout] 721 | pub const fn as_dyn_updatable(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 722 | | where [INFO] [stdout] 723 | | T: Updatable, [INFO] [stdout] 724 | | { [INFO] [stdout] 725 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 806 | as_dyn_updatable!(*const RwLock>); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_updatable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 805 | impl PointerDereferencer<*const RwLock> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:734:87 [INFO] [stdout] | [INFO] [stdout] 734 | pub const fn as_dyn_getter(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 735 | | where [INFO] [stdout] 736 | | T: Getter, [INFO] [stdout] 737 | | { [INFO] [stdout] 738 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 807 | as_dyn_getter!(*const RwLock>); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 805 | impl PointerDereferencer<*const RwLock> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:749:34 [INFO] [stdout] | [INFO] [stdout] 749 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 750 | | where [INFO] [stdout] 751 | | T: Settable, [INFO] [stdout] 752 | | { [INFO] [stdout] 753 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 808 | as_dyn_settable!(*const RwLock>); [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_settable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 805 | impl PointerDereferencer<*const RwLock> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:764:34 [INFO] [stdout] | [INFO] [stdout] 764 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 765 | | where [INFO] [stdout] 766 | | T: TimeGetter, [INFO] [stdout] 767 | | { [INFO] [stdout] 768 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 809 | as_dyn_time_getter!(*const RwLock>); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_time_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 805 | impl PointerDereferencer<*const RwLock> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:721:87 [INFO] [stdout] | [INFO] [stdout] 721 | pub const fn as_dyn_updatable(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 722 | | where [INFO] [stdout] 723 | | T: Updatable, [INFO] [stdout] 724 | | { [INFO] [stdout] 725 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 817 | as_dyn_updatable!(*const Mutex>); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_updatable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 816 | impl PointerDereferencer<*const Mutex> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:734:87 [INFO] [stdout] | [INFO] [stdout] 734 | pub const fn as_dyn_getter(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 735 | | where [INFO] [stdout] 736 | | T: Getter, [INFO] [stdout] 737 | | { [INFO] [stdout] 738 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 818 | as_dyn_getter!(*const Mutex>); [INFO] [stdout] | ---------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 816 | impl PointerDereferencer<*const Mutex> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:749:34 [INFO] [stdout] | [INFO] [stdout] 749 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 750 | | where [INFO] [stdout] 751 | | T: Settable, [INFO] [stdout] 752 | | { [INFO] [stdout] 753 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 819 | as_dyn_settable!(*const Mutex>); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_settable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 816 | impl PointerDereferencer<*const Mutex> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:764:34 [INFO] [stdout] | [INFO] [stdout] 764 | ) -> PointerDereferencer<$return_type> [INFO] [stdout] | __________________________________^ [INFO] [stdout] 765 | | where [INFO] [stdout] 766 | | T: TimeGetter, [INFO] [stdout] 767 | | { [INFO] [stdout] 768 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 820 | as_dyn_time_getter!(*const Mutex>); [INFO] [stdout] | ---------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_time_getter` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 816 | impl PointerDereferencer<*const Mutex> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough [INFO] [stdout] --> src/lib.rs:780:73 [INFO] [stdout] | [INFO] [stdout] 780 | pub const fn as_dyn_chronology(&self) -> PointerDereferencer<$return_type> [INFO] [stdout] | _________________________________________________________________________^ [INFO] [stdout] 781 | | where [INFO] [stdout] 782 | | T: Chronology, [INFO] [stdout] 783 | | { [INFO] [stdout] 784 | | let ptr = self.copy_inner() as $return_type; [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________________________________the parameter type `T` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `T` will meet its required lifetime bounds [INFO] [stdout] ... [INFO] [stdout] 826 | as_dyn_chronology!(*const dyn Chronology); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `as_dyn_chronology` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 825 | impl PointerDereferencer<*const T> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0310`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rrtk` (lib test) due to 14 previous errors [INFO] running `Command { std: "docker" "inspect" "dbae075c705cbde0bb14729c71d6adb6f7922278272b203779f7b34261321b87", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dbae075c705cbde0bb14729c71d6adb6f7922278272b203779f7b34261321b87", kill_on_drop: false }` [INFO] [stdout] dbae075c705cbde0bb14729c71d6adb6f7922278272b203779f7b34261321b87