[INFO] fetching crate termwiz 0.23.3... [INFO] building termwiz-0.23.3 against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2 [INFO] extracting crate termwiz 0.23.3 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate termwiz 0.23.3 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate termwiz 0.23.3 [INFO] tweaked toml for crates.io crate termwiz 0.23.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate termwiz 0.23.3 on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate termwiz 0.23.3 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wezterm-input-types v0.1.0 [INFO] [stderr] Downloaded csscolorparser v0.6.2 [INFO] [stderr] Downloaded quote v1.0.39 [INFO] [stderr] Downloaded avif-serialize v0.8.3 [INFO] [stderr] Downloaded is-terminal v0.4.15 [INFO] [stderr] Downloaded oorandom v11.1.4 [INFO] [stderr] Downloaded terminal_size v0.2.6 [INFO] [stderr] Downloaded memmem v0.1.1 [INFO] [stderr] Downloaded env_logger v0.11.6 [INFO] [stderr] Downloaded pest_derive v2.7.15 [INFO] [stderr] Downloaded image-webp v0.2.1 [INFO] [stderr] Downloaded fancy-regex v0.11.0 [INFO] [stderr] Downloaded pest_generator v2.7.15 [INFO] [stderr] Downloaded terminfo v0.9.0 [INFO] [stderr] Downloaded wezterm-bidi v0.2.3 [INFO] [stderr] Downloaded libfuzzer-sys v0.4.9 [INFO] [stderr] Downloaded winnow v0.7.3 [INFO] [stderr] Downloaded lab v0.11.0 [INFO] [stderr] Downloaded pest_meta v2.7.15 [INFO] [stderr] Downloaded varbincode v0.1.0 [INFO] [stderr] Downloaded syn v2.0.99 [INFO] [stderr] Downloaded termios v0.3.3 [INFO] [stderr] Downloaded leb128 v0.2.5 [INFO] [stderr] Downloaded vtparse v0.6.2 [INFO] [stderr] Downloaded mac_address v1.1.8 [INFO] [stderr] Downloaded rustix v0.37.28 [INFO] [stderr] Downloaded wezterm-blob-leases v0.1.1 [INFO] [stderr] Downloaded wezterm-color-types v0.3.0 [INFO] [stderr] Downloaded serde_derive v1.0.218 [INFO] [stderr] Downloaded serde v1.0.218 [INFO] [stderr] Downloaded wezterm-dynamic v0.2.1 [INFO] [stderr] Downloaded k9 v0.12.0 [INFO] [stderr] Downloaded libc v0.2.170 [INFO] [stderr] Downloaded deltae v0.3.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bc8994925af25b43fe74347e1ddafdf2282bf288ce65df49697bbcb4a3619c4f [INFO] running `Command { std: "docker" "start" "-a" "bc8994925af25b43fe74347e1ddafdf2282bf288ce65df49697bbcb4a3619c4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bc8994925af25b43fe74347e1ddafdf2282bf288ce65df49697bbcb4a3619c4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc8994925af25b43fe74347e1ddafdf2282bf288ce65df49697bbcb4a3619c4f", kill_on_drop: false }` [INFO] [stdout] bc8994925af25b43fe74347e1ddafdf2282bf288ce65df49697bbcb4a3619c4f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 21a005175b052f508a4e7d8bfe35a49751191bd91a2bee7c0d5b2fb268e64323 [INFO] running `Command { std: "docker" "start" "-a" "21a005175b052f508a4e7d8bfe35a49751191bd91a2bee7c0d5b2fb268e64323", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.170 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling log v0.4.26 [INFO] [stderr] Compiling quote v1.0.39 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling bytemuck v1.22.0 [INFO] [stderr] Compiling once_cell v1.20.3 [INFO] [stderr] Compiling anyhow v1.0.97 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling lab v0.11.0 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling atomic v0.6.0 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling deltae v0.3.2 [INFO] [stderr] Compiling syn v2.0.99 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling vtparse v0.6.2 [INFO] [stderr] Compiling memmem v0.1.1 [INFO] [stderr] Compiling finl_unicode v1.3.0 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling terminfo v0.9.0 [INFO] [stderr] Compiling ordered-float v4.6.0 [INFO] [stderr] Compiling euclid v0.22.11 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling termios v0.3.3 [INFO] [stderr] Compiling uuid v1.15.1 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling wezterm-dynamic-derive v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling serde_derive v1.0.218 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling mac_address v1.1.8 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling csscolorparser v0.6.2 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling wezterm-dynamic v0.2.1 [INFO] [stderr] Compiling wezterm-blob-leases v0.1.1 [INFO] [stderr] Compiling filedescriptor v0.8.3 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling pest v2.7.15 [INFO] [stderr] Compiling wezterm-color-types v0.3.0 [INFO] [stderr] Compiling wezterm-bidi v0.2.3 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling fancy-regex v0.11.0 [INFO] [stderr] Compiling pest_meta v2.7.15 [INFO] [stderr] Compiling pest_generator v2.7.15 [INFO] [stderr] Compiling pest_derive v2.7.15 [INFO] [stderr] Compiling wezterm-input-types v0.1.0 [INFO] [stderr] Compiling termwiz v0.23.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/hyperlink.rs:247:18 [INFO] [stdout] | [INFO] [stdout] 247 | fn highlight(&self) -> Option { [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] 247 | fn highlight(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/image.rs:567:17 [INFO] [stdout] | [INFO] [stdout] 567 | pub fn data(&self) -> MutexGuard { [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] 567 | pub fn data(&self) -> MutexGuard<'_, ImageDataType> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | fn get(&self, idx: HistoryIndex) -> Option>; [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^ the same lifetime is hidden 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] 12 | fn get(&self, idx: HistoryIndex) -> Option>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 27 | ) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^ the same lifetime is hidden 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] 27 | ) -> Option>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | fn get(&self, idx: HistoryIndex) -> Option> { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^ the same lifetime is hidden 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] 88 | fn get(&self, idx: HistoryIndex) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 114 | ) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ the same lifetime is hidden 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] 114 | ) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/mod.rs:511:25 [INFO] [stdout] | [INFO] [stdout] 511 | pub fn screen_lines(&self) -> Vec> { [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] 511 | pub fn screen_lines(&self) -> Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/mod.rs:526:24 [INFO] [stdout] | [INFO] [stdout] 526 | pub fn get_changes(&self, seq: SequenceNo) -> (SequenceNo, Cow<[Change]>) { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^ the same lifetime is hidden 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] 526 | pub fn get_changes(&self, seq: SequenceNo) -> (SequenceNo, Cow<'_, [Change]>) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/line/clusterline.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn iter(&self) -> ClusterLineCellIter { [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] 165 | pub fn iter(&self) -> ClusterLineCellIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/line/line.rs:609:19 [INFO] [stdout] | [INFO] [stdout] 609 | pub fn as_str(&self) -> Cow { [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] 609 | pub fn as_str(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/line/line.rs:1014:21 [INFO] [stdout] | [INFO] [stdout] 1014 | pub fn get_cell(&self, cell_index: usize) -> Option { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^ the same lifetime is hidden 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] 1014 | pub fn get_cell(&self, cell_index: usize) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/terminal/mod.rs:74:27 [INFO] [stdout] | [INFO] [stdout] 74 | fn probe_capabilities(&mut self) -> Option { [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] 74 | fn probe_capabilities(&mut self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/terminal/unix.rs:389:27 [INFO] [stdout] | [INFO] [stdout] 389 | fn probe_capabilities(&mut self) -> Option { [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] 389 | fn probe_capabilities(&mut self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.30s [INFO] running `Command { std: "docker" "inspect" "21a005175b052f508a4e7d8bfe35a49751191bd91a2bee7c0d5b2fb268e64323", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "21a005175b052f508a4e7d8bfe35a49751191bd91a2bee7c0d5b2fb268e64323", kill_on_drop: false }` [INFO] [stdout] 21a005175b052f508a4e7d8bfe35a49751191bd91a2bee7c0d5b2fb268e64323 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 73b1c56d5b1275d07be4227e59ebf73b163a4138ea67eb0db31495c85fccfa3f [INFO] running `Command { std: "docker" "start" "-a" "73b1c56d5b1275d07be4227e59ebf73b163a4138ea67eb0db31495c85fccfa3f", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Compiling log v0.4.26 [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling rustix v0.37.28 [INFO] [stderr] Compiling io-lifetimes v1.0.11 [INFO] [stderr] Compiling half v2.4.1 [INFO] [stderr] Compiling clap_builder v4.5.31 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling fancy-regex v0.11.0 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling anstream v0.6.18 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling is-terminal v0.4.15 [INFO] [stderr] Compiling leb128 v0.2.5 [INFO] [stderr] Compiling oorandom v11.1.4 [INFO] [stderr] Compiling env_filter v0.1.3 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling quote v1.0.39 [INFO] [stderr] Compiling env_logger v0.11.6 [INFO] [stderr] Compiling syn v2.0.99 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling clap v4.5.31 [INFO] [stderr] Compiling terminal_size v0.2.6 [INFO] [stderr] Compiling wezterm-dynamic-derive v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.218 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling csscolorparser v0.6.2 [INFO] [stderr] Compiling terminfo v0.9.0 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling pest v2.7.15 [INFO] [stderr] Compiling wezterm-dynamic v0.2.1 [INFO] [stderr] Compiling filedescriptor v0.8.3 [INFO] [stderr] Compiling wezterm-blob-leases v0.1.1 [INFO] [stderr] Compiling wezterm-bidi v0.2.3 [INFO] [stderr] Compiling wezterm-color-types v0.3.0 [INFO] [stderr] Compiling k9 v0.12.0 [INFO] [stderr] Compiling pest_meta v2.7.15 [INFO] [stderr] Compiling pest_generator v2.7.15 [INFO] [stderr] Compiling pest_derive v2.7.15 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling wezterm-input-types v0.1.0 [INFO] [stderr] Compiling varbincode v0.1.0 [INFO] [stderr] Compiling termwiz v0.23.3 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/hyperlink.rs:247:18 [INFO] [stdout] | [INFO] [stdout] 247 | fn highlight(&self) -> Option { [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] 247 | fn highlight(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/image.rs:567:17 [INFO] [stdout] | [INFO] [stdout] 567 | pub fn data(&self) -> MutexGuard { [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] 567 | pub fn data(&self) -> MutexGuard<'_, ImageDataType> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | fn get(&self, idx: HistoryIndex) -> Option>; [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^ the same lifetime is hidden 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] 12 | fn get(&self, idx: HistoryIndex) -> Option>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 27 | ) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^ the same lifetime is hidden 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] 27 | ) -> Option>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | fn get(&self, idx: HistoryIndex) -> Option> { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^ the same lifetime is hidden 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] 88 | fn get(&self, idx: HistoryIndex) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 114 | ) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ the same lifetime is hidden 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] 114 | ) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/mod.rs:511:25 [INFO] [stdout] | [INFO] [stdout] 511 | pub fn screen_lines(&self) -> Vec> { [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] 511 | pub fn screen_lines(&self) -> Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/mod.rs:526:24 [INFO] [stdout] | [INFO] [stdout] 526 | pub fn get_changes(&self, seq: SequenceNo) -> (SequenceNo, Cow<[Change]>) { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^ the same lifetime is hidden 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] 526 | pub fn get_changes(&self, seq: SequenceNo) -> (SequenceNo, Cow<'_, [Change]>) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/line/clusterline.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn iter(&self) -> ClusterLineCellIter { [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] 165 | pub fn iter(&self) -> ClusterLineCellIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/line/line.rs:609:19 [INFO] [stdout] | [INFO] [stdout] 609 | pub fn as_str(&self) -> Cow { [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] 609 | pub fn as_str(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/line/line.rs:1014:21 [INFO] [stdout] | [INFO] [stdout] 1014 | pub fn get_cell(&self, cell_index: usize) -> Option { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^ the same lifetime is hidden 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] 1014 | pub fn get_cell(&self, cell_index: usize) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/terminal/mod.rs:74:27 [INFO] [stdout] | [INFO] [stdout] 74 | fn probe_capabilities(&mut self) -> Option { [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] 74 | fn probe_capabilities(&mut self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/terminal/unix.rs:389:27 [INFO] [stdout] | [INFO] [stdout] 389 | fn probe_capabilities(&mut self) -> Option { [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] 389 | fn probe_capabilities(&mut self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/hyperlink.rs:247:18 [INFO] [stdout] | [INFO] [stdout] 247 | fn highlight(&self) -> Option { [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] 247 | fn highlight(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/image.rs:567:17 [INFO] [stdout] | [INFO] [stdout] 567 | pub fn data(&self) -> MutexGuard { [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] 567 | pub fn data(&self) -> MutexGuard<'_, ImageDataType> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | fn get(&self, idx: HistoryIndex) -> Option>; [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^ the same lifetime is hidden 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] 12 | fn get(&self, idx: HistoryIndex) -> Option>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 27 | ) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^ the same lifetime is hidden 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] 27 | ) -> Option>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | fn get(&self, idx: HistoryIndex) -> Option> { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^ the same lifetime is hidden 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] 88 | fn get(&self, idx: HistoryIndex) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lineedit/history.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 114 | ) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ the same lifetime is hidden 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] 114 | ) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/mod.rs:511:25 [INFO] [stdout] | [INFO] [stdout] 511 | pub fn screen_lines(&self) -> Vec> { [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] 511 | pub fn screen_lines(&self) -> Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/mod.rs:526:24 [INFO] [stdout] | [INFO] [stdout] 526 | pub fn get_changes(&self, seq: SequenceNo) -> (SequenceNo, Cow<[Change]>) { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^ the same lifetime is hidden 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] 526 | pub fn get_changes(&self, seq: SequenceNo) -> (SequenceNo, Cow<'_, [Change]>) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/line/clusterline.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn iter(&self) -> ClusterLineCellIter { [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] 165 | pub fn iter(&self) -> ClusterLineCellIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/line/line.rs:609:19 [INFO] [stdout] | [INFO] [stdout] 609 | pub fn as_str(&self) -> Cow { [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] 609 | pub fn as_str(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/surface/line/line.rs:1014:21 [INFO] [stdout] | [INFO] [stdout] 1014 | pub fn get_cell(&self, cell_index: usize) -> Option { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^ the same lifetime is hidden 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] 1014 | pub fn get_cell(&self, cell_index: usize) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/terminal/mod.rs:74:27 [INFO] [stdout] | [INFO] [stdout] 74 | fn probe_capabilities(&mut self) -> Option { [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] 74 | fn probe_capabilities(&mut self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/terminal/unix.rs:389:27 [INFO] [stdout] | [INFO] [stdout] 389 | fn probe_capabilities(&mut self) -> Option { [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] 389 | fn probe_capabilities(&mut self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 48.91s [INFO] running `Command { std: "docker" "inspect" "73b1c56d5b1275d07be4227e59ebf73b163a4138ea67eb0db31495c85fccfa3f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73b1c56d5b1275d07be4227e59ebf73b163a4138ea67eb0db31495c85fccfa3f", kill_on_drop: false }` [INFO] [stdout] 73b1c56d5b1275d07be4227e59ebf73b163a4138ea67eb0db31495c85fccfa3f