[INFO] fetching crate alrulab-core 0.0.2...
[INFO] checking alrulab-core-0.0.2 against master#3139ff09e9d07f7700f8d15ed25a231e29c43627 for pr-121848-3
[INFO] extracting crate alrulab-core 0.0.2 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate alrulab-core 0.0.2 on toolchain 3139ff09e9d07f7700f8d15ed25a231e29c43627
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3139ff09e9d07f7700f8d15ed25a231e29c43627" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config.toml
[INFO] started tweaking crates.io crate alrulab-core 0.0.2
[INFO] finished tweaking crates.io crate alrulab-core 0.0.2
[INFO] tweaked toml for crates.io crate alrulab-core 0.0.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3139ff09e9d07f7700f8d15ed25a231e29c43627" "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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3139ff09e9d07f7700f8d15ed25a231e29c43627" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded alrulab-macros v0.0.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+3139ff09e9d07f7700f8d15ed25a231e29c43627" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5513a5647396a5d70f10dc8ccc0419d588c5324bd7f38ca8ed9d385960ef367b
[INFO] running `Command { std: "docker" "start" "-a" "5513a5647396a5d70f10dc8ccc0419d588c5324bd7f38ca8ed9d385960ef367b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5513a5647396a5d70f10dc8ccc0419d588c5324bd7f38ca8ed9d385960ef367b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5513a5647396a5d70f10dc8ccc0419d588c5324bd7f38ca8ed9d385960ef367b", kill_on_drop: false }`
[INFO] [stdout] 5513a5647396a5d70f10dc8ccc0419d588c5324bd7f38ca8ed9d385960ef367b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+3139ff09e9d07f7700f8d15ed25a231e29c43627" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2a682f786f756a571672f436f04761185d370651fde281ec3f1e78a9bf368f69
[INFO] running `Command { std: "docker" "start" "-a" "2a682f786f756a571672f436f04761185d370651fde281ec3f1e78a9bf368f69", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.75
[INFO] [stderr]    Compiling alrulab-macros v0.0.2
[INFO] [stderr]     Checking alrulab-core v0.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] error: using `#![feature(effects)]` without enabling next trait solver globally
[INFO] [stdout]   |
[INFO] [stdout]   = note: the next trait solver must be enabled globally for the effects feature to work correctly
[INFO] [stdout]   = help: use `-Znext-solver` to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: using `#![feature(effects)]` without enabling next trait solver globally
[INFO] [stdout]   |
[INFO] [stdout]   = note: the next trait solver must be enabled globally for the effects feature to work correctly
[INFO] [stdout]   = help: use `-Znext-solver` to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:737:30
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |                              ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:737:30
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |                              ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:740:56
[INFO] [stdout]     |
[INFO] [stdout] 740 |     fn into_searcher(self, haystack: &'a str) -> Self::Searcher {
[INFO] [stdout]     |                                                        ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 740 |     fn into_searcher(self, haystack: &'a str) -> Self::Searcher<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:740:56
[INFO] [stdout]     |
[INFO] [stdout] 740 |     fn into_searcher(self, haystack: &'a str) -> Self::Searcher {
[INFO] [stdout]     |                                                        ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 740 |     fn into_searcher(self, haystack: &'a str) -> Self::Searcher<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:738:33
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                                 ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:738:47
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                                               ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher<'a>;
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on type `Searcher` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:738:18
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                  ^ lifetimes do not match type in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 745 |     fn is_contained_in(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> _`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> _`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 745 |     fn is_contained_in(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:750:5
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn is_prefix_of(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> _`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> _`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:750:5
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn is_prefix_of(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on method `is_suffix_of` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:755:20
[INFO] [stdout]     |
[INFO] [stdout] 755 |     fn is_suffix_of(self, haystack: &'a str) -> bool
[INFO] [stdout]     |                    ^ lifetimes do not match method in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> Option<&_>`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> Option<&'a _>`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> Option<&_>`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> Option<&'a _>`
[INFO] [stdout] note: the lifetime `'a` as defined here...
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...does not necessarily outlive the anonymous lifetime as defined here
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on method `strip_suffix_of` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:767:23
[INFO] [stdout]     |
[INFO] [stdout] 767 |     fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>
[INFO] [stdout]     |                       ^ lifetimes do not match method in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |         P: for<'x> Pattern<'x>,
[INFO] [stdout]     |                    ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:757:19
[INFO] [stdout]     |
[INFO] [stdout] 757 |             Self::Searcher: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                   ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 757 |             Self::Searcher<'a>: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:769:19
[INFO] [stdout]     |
[INFO] [stdout] 769 |             Self::Searcher: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                   ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 769 |             Self::Searcher<'a>: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:738:33
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                                 ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:738:47
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                                               ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher<'a>;
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on type `Searcher` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:738:18
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                  ^ lifetimes do not match type in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 745 |     fn is_contained_in(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> _`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> _`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 745 |     fn is_contained_in(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:750:5
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn is_prefix_of(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> _`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> _`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:750:5
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn is_prefix_of(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on method `is_suffix_of` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:755:20
[INFO] [stdout]     |
[INFO] [stdout] 755 |     fn is_suffix_of(self, haystack: &'a str) -> bool
[INFO] [stdout]     |                    ^ lifetimes do not match method in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> Option<&_>`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> Option<&'a _>`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> Option<&_>`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> Option<&'a _>`
[INFO] [stdout] note: the lifetime `'a` as defined here...
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...does not necessarily outlive the anonymous lifetime as defined here
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on method `strip_suffix_of` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:767:23
[INFO] [stdout]     |
[INFO] [stdout] 767 |     fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>
[INFO] [stdout]     |                       ^ lifetimes do not match method in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |         P: for<'x> Pattern<'x>,
[INFO] [stdout]     |                    ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:757:19
[INFO] [stdout]     |
[INFO] [stdout] 757 |             Self::Searcher: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                   ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 757 |             Self::Searcher<'a>: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:769:19
[INFO] [stdout]     |
[INFO] [stdout] 769 |             Self::Searcher: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                   ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 769 |             Self::Searcher<'a>: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0195, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `alrulab-core` (lib) due to 16 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 15 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0195, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `alrulab-core` (lib test) due to 16 previous errors
[INFO] running `Command { std: "docker" "inspect" "2a682f786f756a571672f436f04761185d370651fde281ec3f1e78a9bf368f69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a682f786f756a571672f436f04761185d370651fde281ec3f1e78a9bf368f69", kill_on_drop: false }`
[INFO] [stdout] 2a682f786f756a571672f436f04761185d370651fde281ec3f1e78a9bf368f69
[INFO] checking alrulab-core-0.0.2 against try#a2cff3b7a9661c90ec0d581d3f3a69bb97c11138 for pr-121848-3
[INFO] extracting crate alrulab-core 0.0.2 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate alrulab-core 0.0.2 on toolchain a2cff3b7a9661c90ec0d581d3f3a69bb97c11138
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2cff3b7a9661c90ec0d581d3f3a69bb97c11138" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate alrulab-core 0.0.2
[INFO] finished tweaking crates.io crate alrulab-core 0.0.2
[INFO] tweaked toml for crates.io crate alrulab-core 0.0.2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2cff3b7a9661c90ec0d581d3f3a69bb97c11138" "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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2cff3b7a9661c90ec0d581d3f3a69bb97c11138" "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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+a2cff3b7a9661c90ec0d581d3f3a69bb97c11138" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f5e36e9310b751abc58a172f074c241446a99e5a5d4245fd92d99351900539a3
[INFO] running `Command { std: "docker" "start" "-a" "f5e36e9310b751abc58a172f074c241446a99e5a5d4245fd92d99351900539a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f5e36e9310b751abc58a172f074c241446a99e5a5d4245fd92d99351900539a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5e36e9310b751abc58a172f074c241446a99e5a5d4245fd92d99351900539a3", kill_on_drop: false }`
[INFO] [stdout] f5e36e9310b751abc58a172f074c241446a99e5a5d4245fd92d99351900539a3
[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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+a2cff3b7a9661c90ec0d581d3f3a69bb97c11138" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7e6963bd839800ae209875ef8e10bcb7963c851db2f33e0d271f3bd89b5f9dd7
[INFO] running `Command { std: "docker" "start" "-a" "7e6963bd839800ae209875ef8e10bcb7963c851db2f33e0d271f3bd89b5f9dd7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.75
[INFO] [stderr]    Compiling alrulab-macros v0.0.2
[INFO] [stderr]     Checking alrulab-core v0.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] error: using `#![feature(effects)]` without enabling next trait solver globally
[INFO] [stdout]   |
[INFO] [stdout]   = note: the next trait solver must be enabled globally for the effects feature to work correctly
[INFO] [stdout]   = help: use `-Znext-solver` to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: using `#![feature(effects)]` without enabling next trait solver globally
[INFO] [stdout]   |
[INFO] [stdout]   = note: the next trait solver must be enabled globally for the effects feature to work correctly
[INFO] [stdout]   = help: use `-Znext-solver` to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:737:30
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |                              ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:740:56
[INFO] [stdout]     |
[INFO] [stdout] 740 |     fn into_searcher(self, haystack: &'a str) -> Self::Searcher {
[INFO] [stdout]     |                                                        ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 740 |     fn into_searcher(self, haystack: &'a str) -> Self::Searcher<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:737:30
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |                              ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:738:33
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                                 ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:740:56
[INFO] [stdout]     |
[INFO] [stdout] 740 |     fn into_searcher(self, haystack: &'a str) -> Self::Searcher {
[INFO] [stdout]     |                                                        ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 740 |     fn into_searcher(self, haystack: &'a str) -> Self::Searcher<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:738:47
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                                               ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher<'a>;
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on type `Searcher` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:738:18
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                  ^ lifetimes do not match type in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 745 |     fn is_contained_in(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> _`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> _`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 745 |     fn is_contained_in(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:750:5
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn is_prefix_of(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> _`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> _`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:750:5
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn is_prefix_of(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on method `is_suffix_of` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:755:20
[INFO] [stdout]     |
[INFO] [stdout] 755 |     fn is_suffix_of(self, haystack: &'a str) -> bool
[INFO] [stdout]     |                    ^ lifetimes do not match method in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> Option<&_>`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> Option<&'a _>`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> Option<&_>`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> Option<&'a _>`
[INFO] [stdout] note: the lifetime `'a` as defined here...
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...does not necessarily outlive the anonymous lifetime as defined here
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on method `strip_suffix_of` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:767:23
[INFO] [stdout]     |
[INFO] [stdout] 767 |     fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>
[INFO] [stdout]     |                       ^ lifetimes do not match method in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |         P: for<'x> Pattern<'x>,
[INFO] [stdout]     |                    ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:757:19
[INFO] [stdout]     |
[INFO] [stdout] 757 |             Self::Searcher: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                   ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 757 |             Self::Searcher<'a>: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:769:19
[INFO] [stdout]     |
[INFO] [stdout] 769 |             Self::Searcher: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                   ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 769 |             Self::Searcher<'a>: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:738:33
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                                 ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:738:47
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                                               ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher<'a>;
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on type `Searcher` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:738:18
[INFO] [stdout]     |
[INFO] [stdout] 738 |     type Searcher = <&'b str as Pattern<'a>>::Searcher;
[INFO] [stdout]     |                  ^ lifetimes do not match type in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 745 |     fn is_contained_in(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> _`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> _`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 745 |     fn is_contained_in(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:750:5
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn is_prefix_of(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> _`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> _`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:750:5
[INFO] [stdout]     |
[INFO] [stdout] 750 |     fn is_prefix_of(self, haystack: &'a str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on method `is_suffix_of` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:755:20
[INFO] [stdout]     |
[INFO] [stdout] 755 |     fn is_suffix_of(self, haystack: &'a str) -> bool
[INFO] [stdout]     |                    ^ lifetimes do not match method in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> Option<&_>`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> Option<&'a _>`
[INFO] [stdout] note: the anonymous lifetime as defined here...
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: ...does not necessarily outlive the lifetime `'a` as defined here
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: method not compatible with trait
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&'b string::String<_>, &_) -> Option<&_>`
[INFO] [stdout]                found signature `fn(&'b string::String<_>, &'a _) -> Option<&'a _>`
[INFO] [stdout] note: the lifetime `'a` as defined here...
[INFO] [stdout]    --> src/string.rs:737:6
[INFO] [stdout]     |
[INFO] [stdout] 737 | impl<'a, 'b, const N: usize> Pattern<'a> for &'b String<N> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...does not necessarily outlive the anonymous lifetime as defined here
[INFO] [stdout]    --> src/string.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0195]: lifetime parameters or bounds on method `strip_suffix_of` do not match the trait declaration
[INFO] [stdout]    --> src/string.rs:767:23
[INFO] [stdout]     |
[INFO] [stdout] 767 |     fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>
[INFO] [stdout]     |                       ^ lifetimes do not match method in trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> src/string.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |         P: for<'x> Pattern<'x>,
[INFO] [stdout]     |                    ^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected 0 lifetime arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:757:19
[INFO] [stdout]     |
[INFO] [stdout] 757 |             Self::Searcher: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                   ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 757 |             Self::Searcher<'a>: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for associated type `core::str::pattern::Pattern::Searcher`
[INFO] [stdout]    --> src/string.rs:769:19
[INFO] [stdout]     |
[INFO] [stdout] 769 |             Self::Searcher: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                   ^^^^^^^^ expected 1 lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] help: add missing lifetime argument
[INFO] [stdout]     |
[INFO] [stdout] 769 |             Self::Searcher<'a>: str::pattern::ReverseSearcher<'a>, {
[INFO] [stdout]     |                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0195, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `alrulab-core` (lib) due to 16 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 15 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0195, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `alrulab-core` (lib test) due to 16 previous errors
[INFO] running `Command { std: "docker" "inspect" "7e6963bd839800ae209875ef8e10bcb7963c851db2f33e0d271f3bd89b5f9dd7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e6963bd839800ae209875ef8e10bcb7963c851db2f33e0d271f3bd89b5f9dd7", kill_on_drop: false }`
[INFO] [stdout] 7e6963bd839800ae209875ef8e10bcb7963c851db2f33e0d271f3bd89b5f9dd7
