[INFO] fetching crate safe-proc-macro2 1.0.95... [INFO] checking safe-proc-macro2-1.0.95 against master#cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c for pr-143170 [INFO] extracting crate safe-proc-macro2 1.0.95 into /workspace/builds/worker-5-tc1/source [INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain.toml [INFO] started tweaking crates.io crate safe-proc-macro2 1.0.95 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate safe-proc-macro2 1.0.95 [INFO] tweaked toml for crates.io crate safe-proc-macro2 1.0.95 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate safe-proc-macro2 1.0.95 on toolchain cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate safe-proc-macro2 1.0.95 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" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded safe-quote v1.0.39 [INFO] [stderr] Downloaded safe-proc-macro2 v1.0.94 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 71ac039c115b100d4ea1a9d49ea437cbbfe71cb7385e4bd1175d86706821b97e [INFO] running `Command { std: "docker" "start" "-a" "71ac039c115b100d4ea1a9d49ea437cbbfe71cb7385e4bd1175d86706821b97e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "71ac039c115b100d4ea1a9d49ea437cbbfe71cb7385e4bd1175d86706821b97e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71ac039c115b100d4ea1a9d49ea437cbbfe71cb7385e4bd1175d86706821b97e", kill_on_drop: false }` [INFO] [stdout] 71ac039c115b100d4ea1a9d49ea437cbbfe71cb7385e4bd1175d86706821b97e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 759b719e6706a84f79b616fa54a179a926985fd4794f9f48c914ee2fa1b85224 [INFO] running `Command { std: "docker" "start" "-a" "759b719e6706a84f79b616fa54a179a926985fd4794f9f48c914ee2fa1b85224", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling rustix v1.0.2 [INFO] [stderr] Compiling libc v0.2.170 [INFO] [stderr] Checking linux-raw-sys v0.9.2 [INFO] [stderr] Checking unicode-xid v0.2.6 [INFO] [stderr] Compiling safe-proc-macro2 v1.0.94 [INFO] [stderr] Checking bitflags v2.9.0 [INFO] [stderr] Compiling safe-proc-macro2 v1.0.95 (/opt/rustwide/workdir) [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Compiling rustversion v1.0.20 [INFO] [stderr] Checking miniz_oxide v0.8.5 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking flate2 v1.1.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking safe-quote v1.0.39 [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:125:25 [INFO] [stdout] | [INFO] [stdout] 125 | fn block_comment(input: Cursor) -> PResult<&str> { [INFO] [stdout] | ^^^^^^ ------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [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] 125 | fn block_comment(input: Cursor<'_>) -> PResult<'_, &str> { [INFO] [stdout] | ++++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:318:25 [INFO] [stdout] | [INFO] [stdout] 318 | fn ident_not_raw(input: Cursor) -> PResult<&str> { [INFO] [stdout] | ^^^^^^ ------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [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] 318 | fn ident_not_raw(input: Cursor<'_>) -> PResult<'_, &str> { [INFO] [stdout] | ++++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:474:35 [INFO] [stdout] | [INFO] [stdout] 474 | fn delimiter_of_raw_string(input: Cursor) -> PResult<&str> { [INFO] [stdout] | ^^^^^^ ------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [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] 474 | fn delimiter_of_raw_string(input: Cursor<'_>) -> PResult<'_, &str> { [INFO] [stdout] | ++++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:957:32 [INFO] [stdout] | [INFO] [stdout] 957 | fn doc_comment_contents(input: Cursor) -> PResult<(&str, bool)> { [INFO] [stdout] | ^^^^^^ --------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [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] 957 | fn doc_comment_contents(input: Cursor<'_>) -> PResult<'_, (&str, bool)> { [INFO] [stdout] | ++++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:980:37 [INFO] [stdout] | [INFO] [stdout] 980 | fn take_until_newline_or_eof(input: Cursor) -> (Cursor, &str) { [INFO] [stdout] | ^^^^^^ ------ ---- the lifetimes get resolved as `'_` [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [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] 980 | fn take_until_newline_or_eof(input: Cursor<'_>) -> (Cursor<'_>, &str) { [INFO] [stdout] | ++++ ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rcvec.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) fn iter(&self) -> slice::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] 33 | pub(crate) fn iter(&self) -> slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rcvec.rs:37:28 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fn make_mut(&mut self) -> RcVecMut [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] 37 | pub(crate) fn make_mut(&mut self) -> RcVecMut<'_, T> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rcvec.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | pub(crate) fn get_mut(&mut self) -> Option> { [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] 46 | pub(crate) fn get_mut(&mut self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rcvec.rs:83:26 [INFO] [stdout] | [INFO] [stdout] 83 | pub(crate) fn as_mut(&mut self) -> RcVecMut { [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] 83 | pub(crate) fn as_mut(&mut self) -> RcVecMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rcvec.rs:105:26 [INFO] [stdout] | [INFO] [stdout] 105 | pub(crate) fn as_mut(&mut self) -> RcVecMut { [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] 105 | pub(crate) fn as_mut(&mut self) -> RcVecMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fallback.rs:203:20 [INFO] [stdout] | [INFO] [stdout] 203 | fn get_cursor(src: &str) -> Cursor { [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] 203 | fn get_cursor(src: &str) -> Cursor<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking filetime v0.2.25 [INFO] [stderr] Checking xattr v1.5.0 [INFO] [stderr] Checking tar v0.4.44 [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:125:25 [INFO] [stdout] | [INFO] [stdout] 125 | fn block_comment(input: Cursor) -> PResult<&str> { [INFO] [stdout] | ^^^^^^ ------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [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] 125 | fn block_comment(input: Cursor<'_>) -> PResult<'_, &str> { [INFO] [stdout] | ++++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:318:25 [INFO] [stdout] | [INFO] [stdout] 318 | fn ident_not_raw(input: Cursor) -> PResult<&str> { [INFO] [stdout] | ^^^^^^ ------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [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] 318 | fn ident_not_raw(input: Cursor<'_>) -> PResult<'_, &str> { [INFO] [stdout] | ++++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:474:35 [INFO] [stdout] | [INFO] [stdout] 474 | fn delimiter_of_raw_string(input: Cursor) -> PResult<&str> { [INFO] [stdout] | ^^^^^^ ------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [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] 474 | fn delimiter_of_raw_string(input: Cursor<'_>) -> PResult<'_, &str> { [INFO] [stdout] | ++++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:957:32 [INFO] [stdout] | [INFO] [stdout] 957 | fn doc_comment_contents(input: Cursor) -> PResult<(&str, bool)> { [INFO] [stdout] | ^^^^^^ --------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [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] 957 | fn doc_comment_contents(input: Cursor<'_>) -> PResult<'_, (&str, bool)> { [INFO] [stdout] | ++++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parse.rs:980:37 [INFO] [stdout] | [INFO] [stdout] 980 | fn take_until_newline_or_eof(input: Cursor) -> (Cursor, &str) { [INFO] [stdout] | ^^^^^^ ------ ---- the lifetimes get resolved as `'_` [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [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] 980 | fn take_until_newline_or_eof(input: Cursor<'_>) -> (Cursor<'_>, &str) { [INFO] [stdout] | ++++ ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rcvec.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) fn iter(&self) -> slice::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] 33 | pub(crate) fn iter(&self) -> slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rcvec.rs:37:28 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fn make_mut(&mut self) -> RcVecMut [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] 37 | pub(crate) fn make_mut(&mut self) -> RcVecMut<'_, T> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rcvec.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | pub(crate) fn get_mut(&mut self) -> Option> { [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] 46 | pub(crate) fn get_mut(&mut self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rcvec.rs:83:26 [INFO] [stdout] | [INFO] [stdout] 83 | pub(crate) fn as_mut(&mut self) -> RcVecMut { [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] 83 | pub(crate) fn as_mut(&mut self) -> RcVecMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rcvec.rs:105:26 [INFO] [stdout] | [INFO] [stdout] 105 | pub(crate) fn as_mut(&mut self) -> RcVecMut { [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] 105 | pub(crate) fn as_mut(&mut self) -> RcVecMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/fallback.rs:203:20 [INFO] [stdout] | [INFO] [stdout] 203 | fn get_cursor(src: &str) -> Cursor { [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] 203 | fn get_cursor(src: &str) -> Cursor<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.15s [INFO] running `Command { std: "docker" "inspect" "759b719e6706a84f79b616fa54a179a926985fd4794f9f48c914ee2fa1b85224", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "759b719e6706a84f79b616fa54a179a926985fd4794f9f48c914ee2fa1b85224", kill_on_drop: false }` [INFO] [stdout] 759b719e6706a84f79b616fa54a179a926985fd4794f9f48c914ee2fa1b85224