[INFO] fetching crate phetch 1.2.0...
[INFO] testing phetch-1.2.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate phetch 1.2.0 into /workspace/builds/worker-0-tc2/source
[INFO] removed /workspace/builds/worker-0-tc2/source/.cargo/config
[INFO] started tweaking crates.io crate phetch 1.2.0
[INFO] finished tweaking crates.io crate phetch 1.2.0
[INFO] tweaked toml for crates.io crate phetch 1.2.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate phetch 1.2.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate phetch 1.2.0 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ffd5078e873deaa20c2ee316df8bc58f73ad750b073e2f15c7c95eaeb6ece9b5
[INFO] running `Command { std: "docker" "start" "-a" "ffd5078e873deaa20c2ee316df8bc58f73ad750b073e2f15c7c95eaeb6ece9b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ffd5078e873deaa20c2ee316df8bc58f73ad750b073e2f15c7c95eaeb6ece9b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ffd5078e873deaa20c2ee316df8bc58f73ad750b073e2f15c7c95eaeb6ece9b5", kill_on_drop: false }`
[INFO] [stdout] ffd5078e873deaa20c2ee316df8bc58f73ad750b073e2f15c7c95eaeb6ece9b5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bed995647b16235b0cc6de563e292bfb43972a7a4135a7e0d7dab210b6d0322b
[INFO] running `Command { std: "docker" "start" "-a" "bed995647b16235b0cc6de563e292bfb43972a7a4135a7e0d7dab210b6d0322b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling cc v1.0.76
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling syn v1.0.103
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling openssl v0.10.42
[INFO] [stderr]    Compiling once_cell v1.16.0
[INFO] [stderr]    Compiling numtoa v0.1.0
[INFO] [stderr]    Compiling phetch v1.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling cp437 v0.1.1
[INFO] [stderr]    Compiling socks v0.3.4
[INFO] [stderr]    Compiling termion v1.5.6
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling openssl-sys v0.9.77
[INFO] [stderr]    Compiling tor-stream v0.2.0
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling openssl-macros v0.1.0
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/gopher.rs:260:23
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub fn parse_url(url: &str) -> Url {
[INFO] [stdout]     |                       ^^^^     ^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub fn parse_url(url: &str) -> Url<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/menu.rs:268:18
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn lines(&self) -> LinesIter {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn lines(&self) -> LinesIter<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/menu.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn line(&self, idx: usize) -> Option<Line> {
[INFO] [stdout]     |                 ^^^^^                        ^^^^ the same lifetimes are hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn line(&self, idx: usize) -> Option<Line<'_, '_>> {
[INFO] [stdout]     |                                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/menu.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn link(&self, idx: usize) -> Option<Line> {
[INFO] [stdout]     |                 ^^^^^                        ^^^^ the same lifetimes are hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn link(&self, idx: usize) -> Option<Line<'_, '_>> {
[INFO] [stdout]     |                                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/text.rs:265:19
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn indent_str(&self, wrap: usize) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^                  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn indent_str(&self, wrap: usize) -> Cow<'_, str> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/ui.rs:591:57
[INFO] [stdout]     |
[INFO] [stdout] 591 |             libc::signal(libc::SIGWINCH, resize_handler as usize);
[INFO] [stdout]     |                                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 591 |             libc::signal(libc::SIGWINCH, resize_handler as *const () as usize);
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/ui.rs:592:55
[INFO] [stdout]     |
[INFO] [stdout] 592 |             libc::signal(libc::SIGINT, sigint_handler as usize);
[INFO] [stdout]     |                                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 592 |             libc::signal(libc::SIGINT, sigint_handler as *const () as usize);
[INFO] [stdout]     |                                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/ui.rs:593:57
[INFO] [stdout]     |
[INFO] [stdout] 593 |             libc::signal(libc::SIGCONT, sigcont_handler as usize);
[INFO] [stdout]     |                                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 593 |             libc::signal(libc::SIGCONT, sigcont_handler as *const () as usize);
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.78s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: openssl v0.10.42
[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" "bed995647b16235b0cc6de563e292bfb43972a7a4135a7e0d7dab210b6d0322b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bed995647b16235b0cc6de563e292bfb43972a7a4135a7e0d7dab210b6d0322b", kill_on_drop: false }`
[INFO] [stdout] bed995647b16235b0cc6de563e292bfb43972a7a4135a7e0d7dab210b6d0322b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b41ea9d672433e8ec059e5e591e53778e02af71b673f3f736bea5204097d32c1
[INFO] running `Command { std: "docker" "start" "-a" "b41ea9d672433e8ec059e5e591e53778e02af71b673f3f736bea5204097d32c1", kill_on_drop: false }`
[INFO] [stderr]    Compiling phetch v1.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/gopher.rs:260:23
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub fn parse_url(url: &str) -> Url {
[INFO] [stdout]     |                       ^^^^     ^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub fn parse_url(url: &str) -> Url<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/menu.rs:268:18
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn lines(&self) -> LinesIter {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn lines(&self) -> LinesIter<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/menu.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn line(&self, idx: usize) -> Option<Line> {
[INFO] [stdout]     |                 ^^^^^                        ^^^^ the same lifetimes are hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn line(&self, idx: usize) -> Option<Line<'_, '_>> {
[INFO] [stdout]     |                                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/menu.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn link(&self, idx: usize) -> Option<Line> {
[INFO] [stdout]     |                 ^^^^^                        ^^^^ the same lifetimes are hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn link(&self, idx: usize) -> Option<Line<'_, '_>> {
[INFO] [stdout]     |                                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/text.rs:265:19
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn indent_str(&self, wrap: usize) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^                  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn indent_str(&self, wrap: usize) -> Cow<'_, str> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/ui.rs:591:57
[INFO] [stdout]     |
[INFO] [stdout] 591 |             libc::signal(libc::SIGWINCH, resize_handler as usize);
[INFO] [stdout]     |                                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 591 |             libc::signal(libc::SIGWINCH, resize_handler as *const () as usize);
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/ui.rs:592:55
[INFO] [stdout]     |
[INFO] [stdout] 592 |             libc::signal(libc::SIGINT, sigint_handler as usize);
[INFO] [stdout]     |                                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 592 |             libc::signal(libc::SIGINT, sigint_handler as *const () as usize);
[INFO] [stdout]     |                                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/ui.rs:593:57
[INFO] [stdout]     |
[INFO] [stdout] 593 |             libc::signal(libc::SIGCONT, sigcont_handler as usize);
[INFO] [stdout]     |                                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 593 |             libc::signal(libc::SIGCONT, sigcont_handler as *const () as usize);
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/gopher.rs:260:23
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub fn parse_url(url: &str) -> Url {
[INFO] [stdout]     |                       ^^^^     ^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub fn parse_url(url: &str) -> Url<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/menu.rs:268:18
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn lines(&self) -> LinesIter {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn lines(&self) -> LinesIter<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/menu.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn line(&self, idx: usize) -> Option<Line> {
[INFO] [stdout]     |                 ^^^^^                        ^^^^ the same lifetimes are hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn line(&self, idx: usize) -> Option<Line<'_, '_>> {
[INFO] [stdout]     |                                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/menu.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn link(&self, idx: usize) -> Option<Line> {
[INFO] [stdout]     |                 ^^^^^                        ^^^^ the same lifetimes are hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn link(&self, idx: usize) -> Option<Line<'_, '_>> {
[INFO] [stdout]     |                                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/text.rs:265:19
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn indent_str(&self, wrap: usize) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^                  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn indent_str(&self, wrap: usize) -> Cow<'_, str> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/ui.rs:591:57
[INFO] [stdout]     |
[INFO] [stdout] 591 |             libc::signal(libc::SIGWINCH, resize_handler as usize);
[INFO] [stdout]     |                                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 591 |             libc::signal(libc::SIGWINCH, resize_handler as *const () as usize);
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/ui.rs:592:55
[INFO] [stdout]     |
[INFO] [stdout] 592 |             libc::signal(libc::SIGINT, sigint_handler as usize);
[INFO] [stdout]     |                                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 592 |             libc::signal(libc::SIGINT, sigint_handler as *const () as usize);
[INFO] [stdout]     |                                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/ui.rs:593:57
[INFO] [stdout]     |
[INFO] [stdout] 593 |             libc::signal(libc::SIGCONT, sigcont_handler as usize);
[INFO] [stdout]     |                                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 593 |             libc::signal(libc::SIGCONT, sigcont_handler as *const () as usize);
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.54s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: openssl v0.10.42
[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" "b41ea9d672433e8ec059e5e591e53778e02af71b673f3f736bea5204097d32c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b41ea9d672433e8ec059e5e591e53778e02af71b673f3f736bea5204097d32c1", kill_on_drop: false }`
[INFO] [stdout] b41ea9d672433e8ec059e5e591e53778e02af71b673f3f736bea5204097d32c1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 851607524c8545fc6be9d6efce7c542391f3637b2fc6e2ab35d090e1e394fcbc
[INFO] running `Command { std: "docker" "start" "-a" "851607524c8545fc6be9d6efce7c542391f3637b2fc6e2ab35d090e1e394fcbc", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/gopher.rs:260:23
[INFO] [stderr]     |
[INFO] [stderr] 260 | pub fn parse_url(url: &str) -> Url {
[INFO] [stderr]     |                       ^^^^     ^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 260 | pub fn parse_url(url: &str) -> Url<'_> {
[INFO] [stderr]     |                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/menu.rs:268:18
[INFO] [stderr]     |
[INFO] [stderr] 268 |     pub fn lines(&self) -> LinesIter {
[INFO] [stderr]     |                  ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 268 |     pub fn lines(&self) -> LinesIter<'_> {
[INFO] [stderr]     |                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/menu.rs:273:17
[INFO] [stderr]     |
[INFO] [stderr] 273 |     pub fn line(&self, idx: usize) -> Option<Line> {
[INFO] [stderr]     |                 ^^^^^                        ^^^^ the same lifetimes are hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 273 |     pub fn line(&self, idx: usize) -> Option<Line<'_, '_>> {
[INFO] [stderr]     |                                                  ++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/menu.rs:282:17
[INFO] [stderr]     |
[INFO] [stderr] 282 |     pub fn link(&self, idx: usize) -> Option<Line> {
[INFO] [stderr]     |                 ^^^^^                        ^^^^ the same lifetimes are hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 282 |     pub fn link(&self, idx: usize) -> Option<Line<'_, '_>> {
[INFO] [stderr]     |                                                  ++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/text.rs:265:19
[INFO] [stderr]     |
[INFO] [stderr] 265 |     fn indent_str(&self, wrap: usize) -> Cow<str> {
[INFO] [stderr]     |                   ^^^^^                  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 265 |     fn indent_str(&self, wrap: usize) -> Cow<'_, str> {
[INFO] [stderr]     |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: direct cast of function item into an integer
[INFO] [stderr]    --> src/ui.rs:591:57
[INFO] [stderr]     |
[INFO] [stderr] 591 |             libc::signal(libc::SIGWINCH, resize_handler as usize);
[INFO] [stderr]     |                                                         ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stderr] help: first cast to a pointer `as *const ()`
[INFO] [stderr]     |
[INFO] [stderr] 591 |             libc::signal(libc::SIGWINCH, resize_handler as *const () as usize);
[INFO] [stderr]     |                                                         ++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: direct cast of function item into an integer
[INFO] [stderr]    --> src/ui.rs:592:55
[INFO] [stderr]     |
[INFO] [stderr] 592 |             libc::signal(libc::SIGINT, sigint_handler as usize);
[INFO] [stderr]     |                                                       ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: first cast to a pointer `as *const ()`
[INFO] [stderr]     |
[INFO] [stderr] 592 |             libc::signal(libc::SIGINT, sigint_handler as *const () as usize);
[INFO] [stderr]     |                                                       ++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: direct cast of function item into an integer
[INFO] [stderr]    --> src/ui.rs:593:57
[INFO] [stderr]     |
[INFO] [stderr] 593 |             libc::signal(libc::SIGCONT, sigcont_handler as usize);
[INFO] [stderr]     |                                                         ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: first cast to a pointer `as *const ()`
[INFO] [stderr]     |
[INFO] [stderr] 593 |             libc::signal(libc::SIGCONT, sigcont_handler as *const () as usize);
[INFO] [stderr]     |                                                         ++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `phetch` (lib) generated 8 warnings (run `cargo fix --lib -p phetch` to apply 8 suggestions)
[INFO] [stderr] warning: `phetch` (lib test) generated 8 warnings (8 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: openssl v0.10.42
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/phetch-67fb81c6a8318b33)
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test args::tests::test_mix_and_match ... ok
[INFO] [stdout] test args::tests::test_ignore_trailing_whitespace ... ok
[INFO] [stdout] test args::tests::test_help ... ok
[INFO] [stdout] test args::tests::test_local ... ok
[INFO] [stdout] test args::tests::test_unknown ... ok
[INFO] [stdout] test args::tests::test_print ... ok
[INFO] [stdout] test args::tests::test_simple ... ok
[INFO] [stdout] test args::tests::test_version ... ok
[INFO] [stdout] test args::tests::test_raw ... ok
[INFO] [stdout] test config::tests::test_comments_ignored ... ok
[INFO] [stdout] test config::tests::test_media ... ok
[INFO] [stdout] test config::tests::test_no_dupe_keys ... ok
[INFO] [stdout] test config::tests::test_parse_default ... ok
[INFO] [stdout] test config::tests::test_yes_or_true ... ok
[INFO] [stdout] test config::tests::test_theme ... ok
[INFO] [stdout] test config::tests::test_missing_theme ... ok
[INFO] [stdout] test config::tests::test_theme_bad_values ... ok
[INFO] [stdout] test gopher::tests::test_simple_parse ... ok
[INFO] [stdout] test gopher::tests::test_type_for_url ... ok
[INFO] [stdout] test menu::tests::test_color_lines ... ok
[INFO] [stdout] test menu::tests::test_find_links ... ok
[INFO] [stdout] test menu::tests::test_simple_menu ... ok
[INFO] [stdout] test config::tests::test_encoding ... ok
[INFO] [stdout] test text::test::test_cp437 ... ok
[INFO] [stdout] test text::test::test_wrapping ... ok
[INFO] [stdout] test theme::tests::test_color_scheme ... ok
[INFO] [stdout] test args::tests::test_tls_tor ... ok
[INFO] [stdout] test menu::tests::test_no_path ... ok
[INFO] [stdout] test config::tests::test_new_start ... ok
[INFO] [stdout] test config::tests::test_bad_key ... ok
[INFO] [stdout] test config::tests::test_theme_file ... ok
[INFO] [stdout] test gopher::tests::test_clean_response ... ok
[INFO] [stdout] test config::tests::test_no_or_false ... ok
[INFO] [stdout] test args::tests::test_config ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/phetch-e9a05a552d670841)
[INFO] [stderr]    Doc-tests phetch
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "851607524c8545fc6be9d6efce7c542391f3637b2fc6e2ab35d090e1e394fcbc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "851607524c8545fc6be9d6efce7c542391f3637b2fc6e2ab35d090e1e394fcbc", kill_on_drop: false }`
[INFO] [stdout] 851607524c8545fc6be9d6efce7c542391f3637b2fc6e2ab35d090e1e394fcbc
