[INFO] cloning repository https://github.com/alexfoxgill/wordplay-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alexfoxgill/wordplay-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexfoxgill%2Fwordplay-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexfoxgill%2Fwordplay-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a4d71d15b805ebda2484030edddef35073d101cd [INFO] checking alexfoxgill/wordplay-rs against master#e9182f195b8505c87c4bd055b9f6e114ccda0981 for pr-144098 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexfoxgill%2Fwordplay-rs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/alexfoxgill/wordplay-rs [INFO] finished tweaking git repo https://github.com/alexfoxgill/wordplay-rs [INFO] tweaked toml for git repo https://github.com/alexfoxgill/wordplay-rs written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/alexfoxgill/wordplay-rs on toolchain e9182f195b8505c87c4bd055b9f6e114ccda0981 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e9182f195b8505c87c4bd055b9f6e114ccda0981" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/alexfoxgill/wordplay-rs 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" "+e9182f195b8505c87c4bd055b9f6e114ccda0981" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+e9182f195b8505c87c4bd055b9f6e114ccda0981" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8175b76b52cfbdfd069d44337336325d1dd54f433156d56a180b712600b378f7 [INFO] running `Command { std: "docker" "start" "-a" "8175b76b52cfbdfd069d44337336325d1dd54f433156d56a180b712600b378f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8175b76b52cfbdfd069d44337336325d1dd54f433156d56a180b712600b378f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8175b76b52cfbdfd069d44337336325d1dd54f433156d56a180b712600b378f7", kill_on_drop: false }` [INFO] [stdout] 8175b76b52cfbdfd069d44337336325d1dd54f433156d56a180b712600b378f7 [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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+e9182f195b8505c87c4bd055b9f6e114ccda0981" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 19ef541265d56282d32b4caab455fc7d083e22a71fd41fc8cc6aa24a8c588081 [INFO] running `Command { std: "docker" "start" "-a" "19ef541265d56282d32b4caab455fc7d083e22a71fd41fc8cc6aa24a8c588081", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.85 [INFO] [stderr] Compiling crossbeam-utils v0.8.6 [INFO] [stderr] Compiling serde v1.0.133 [INFO] [stderr] Compiling semver v1.0.4 [INFO] [stderr] Compiling libc v0.2.112 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking either v1.6.1 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling rustversion v1.0.6 [INFO] [stderr] Compiling crossbeam-epoch v0.9.6 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling unicode-segmentation v1.8.0 [INFO] [stderr] Checking ryu v1.0.9 [INFO] [stderr] Compiling serde_json v1.0.74 [INFO] [stderr] Checking unicode-width v0.1.9 [INFO] [stderr] Checking plotters-backend v0.3.2 [INFO] [stderr] Checking itertools v0.10.3 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Compiling serde_derive v1.0.133 [INFO] [stderr] Checking itoa v1.0.1 [INFO] [stderr] Checking strum v0.23.0 [INFO] [stderr] Checking crossbeam-channel v0.5.2 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking plotters-svg v0.3.1 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Checking half v1.8.2 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling quote v1.0.14 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Checking oorandom v11.1.3 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking walkdir v2.3.2 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking crossbeam-deque v0.8.1 [INFO] [stderr] Checking num-complex v0.4.0 [INFO] [stderr] Checking plotters v0.3.1 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking criterion-plot v0.4.4 [INFO] [stderr] Checking bstr v0.2.17 [INFO] [stderr] Checking serde_cbor v0.11.2 [INFO] [stderr] Checking num v0.4.0 [INFO] [stderr] Checking csv v1.1.6 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Compiling strum_macros v0.23.1 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking wordplay-core v0.1.0 (/opt/rustwide/workdir/core) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/dictionary.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn iter(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 69 | pub fn iter(&self) -> impl Iterator> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/dictionary.rs:73:24 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_search(&self, search: DictSearch) -> impl Iterator { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_search(&self, search: DictSearch) -> impl Iterator> { [INFO] [stdout] | ++++ [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] --> core/src/normalized_word.rs:10:45 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, PartialEq, Eq, Clone, Copy, FromPrimitive, EnumIter, PartialOrd, Ord)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NormalizedChar` [INFO] [stdout] 11 | pub enum NormalizedChar { [INFO] [stdout] | -------------- `NormalizedChar` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [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: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/normalized_word.rs:100:23 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn iter_chars(&self) -> Iter { [INFO] [stdout] | ^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 100 | pub fn iter_chars(&self) -> Iter<'_, NormalizedChar> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/trie.rs:61:23 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn iter_range(&self, range: RangeInclusive) -> TrieIter { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 61 | pub fn iter_range(&self, range: RangeInclusive) -> TrieIter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/trie.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn iter_search(&self, search: TrieSearch) -> TrieIter { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 69 | pub fn iter_search(&self, search: TrieSearch) -> TrieIter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking wordplay-cli v0.1.0 (/opt/rustwide/workdir/cli) [INFO] [stderr] Checking criterion v0.3.5 [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/dictionary.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn iter(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 69 | pub fn iter(&self) -> impl Iterator> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/dictionary.rs:73:24 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_search(&self, search: DictSearch) -> impl Iterator { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_search(&self, search: DictSearch) -> impl Iterator> { [INFO] [stdout] | ++++ [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] --> core/src/normalized_word.rs:10:45 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, PartialEq, Eq, Clone, Copy, FromPrimitive, EnumIter, PartialOrd, Ord)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NormalizedChar` [INFO] [stdout] 11 | pub enum NormalizedChar { [INFO] [stdout] | -------------- `NormalizedChar` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [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: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/normalized_word.rs:100:23 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn iter_chars(&self) -> Iter { [INFO] [stdout] | ^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 100 | pub fn iter_chars(&self) -> Iter<'_, NormalizedChar> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/trie.rs:61:23 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn iter_range(&self, range: RangeInclusive) -> TrieIter { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 61 | pub fn iter_range(&self, range: RangeInclusive) -> TrieIter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/trie.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn iter_search(&self, search: TrieSearch) -> TrieIter { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 69 | pub fn iter_search(&self, search: TrieSearch) -> TrieIter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.27s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.5 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "19ef541265d56282d32b4caab455fc7d083e22a71fd41fc8cc6aa24a8c588081", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "19ef541265d56282d32b4caab455fc7d083e22a71fd41fc8cc6aa24a8c588081", kill_on_drop: false }` [INFO] [stdout] 19ef541265d56282d32b4caab455fc7d083e22a71fd41fc8cc6aa24a8c588081