[INFO] fetching crate cfpyo3_rs_core 0.2.2... [INFO] testing cfpyo3_rs_core-0.2.2 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7 [INFO] extracting crate cfpyo3_rs_core 0.2.2 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate cfpyo3_rs_core 0.2.2 [INFO] finished tweaking crates.io crate cfpyo3_rs_core 0.2.2 [INFO] tweaked toml for crates.io crate cfpyo3_rs_core 0.2.2 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate cfpyo3_rs_core 0.2.2 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate cfpyo3_rs_core 0.2.2 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded addr2line v0.24.1 [INFO] [stderr] Downloaded wasm-streams v0.4.0 [INFO] [stderr] Downloaded rustls-pki-types v1.8.0 [INFO] [stderr] Downloaded trim-in-place v0.1.7 [INFO] [stderr] Downloaded ndarray-rand v0.14.0 [INFO] [stderr] Downloaded pyo3-macros v0.25.1 [INFO] [stderr] Downloaded backon v1.2.0 [INFO] [stderr] Downloaded pyo3-build-config v0.25.1 [INFO] [stderr] Downloaded httparse v1.9.4 [INFO] [stderr] Downloaded pyo3-macros-backend v0.25.1 [INFO] [stderr] Downloaded pyo3-ffi v0.25.1 [INFO] [stderr] Downloaded cc v1.1.21 [INFO] [stderr] Downloaded numpy v0.25.0 [INFO] [stderr] Downloaded portable-atomic v1.7.0 [INFO] [stderr] Downloaded reqwest v0.12.7 [INFO] [stderr] Downloaded quick-xml v0.35.0 [INFO] [stderr] Downloaded reqsign v0.16.0 [INFO] [stderr] Downloaded chrono v0.4.38 [INFO] [stderr] Downloaded redis v0.26.1 [INFO] [stderr] Downloaded object v0.36.4 [INFO] [stderr] Downloaded rustls v0.23.13 [INFO] [stderr] Downloaded gimli v0.31.0 [INFO] [stderr] Downloaded hyper-util v0.1.8 [INFO] [stderr] Downloaded rustls-pemfile v2.1.3 [INFO] [stderr] Downloaded async-trait v0.1.82 [INFO] [stderr] Downloaded ipnet v2.10.0 [INFO] [stderr] Downloaded thiserror v1.0.63 [INFO] [stderr] Downloaded crc32c v0.6.8 [INFO] [stderr] Downloaded rust-ini v0.21.1 [INFO] [stderr] Downloaded thiserror-impl v1.0.63 [INFO] [stderr] Downloaded pyo3 v0.25.1 [INFO] [stderr] Downloaded opendal v0.50.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d8c495d05659c3caba5927214eba4450fd0e0136ebb90528b094ce596b6832e2 [INFO] running `Command { std: "docker" "start" "-a" "d8c495d05659c3caba5927214eba4450fd0e0136ebb90528b094ce596b6832e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d8c495d05659c3caba5927214eba4450fd0e0136ebb90528b094ce596b6832e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8c495d05659c3caba5927214eba4450fd0e0136ebb90528b094ce596b6832e2", kill_on_drop: false }` [INFO] [stdout] d8c495d05659c3caba5927214eba4450fd0e0136ebb90528b094ce596b6832e2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c0436ca379cc1ed649521e8eabbe04b243ce563088bc430193b619c106207c4 [INFO] running `Command { std: "docker" "start" "-a" "6c0436ca379cc1ed649521e8eabbe04b243ce563088bc430193b619c106207c4", kill_on_drop: false }` [INFO] [stderr] Compiling target-lexicon v0.13.2 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling matrixmultiply v0.3.9 [INFO] [stderr] Compiling futures-core v0.3.30 [INFO] [stderr] Compiling futures-sink v0.3.30 [INFO] [stderr] Compiling futures-task v0.3.30 [INFO] [stderr] Compiling futures-io v0.3.30 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling unindent v0.2.3 [INFO] [stderr] Compiling rustc-hash v2.0.0 [INFO] [stderr] Compiling futures-channel v0.3.30 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling bytes v1.7.2 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling pyo3-build-config v0.25.1 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling memmap2 v0.9.5 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling crossbeam-deque v0.8.5 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling ndarray v0.15.6 [INFO] [stderr] Compiling pyo3-ffi v0.25.1 [INFO] [stderr] Compiling pyo3-macros-backend v0.25.1 [INFO] [stderr] Compiling pyo3 v0.25.1 [INFO] [stderr] Compiling numpy v0.25.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling pyo3-macros v0.25.1 [INFO] [stderr] Compiling futures-executor v0.3.30 [INFO] [stderr] Compiling futures v0.3.30 [INFO] [stderr] Compiling cfpyo3_rs_core v0.2.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/df/meta.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn index(&self) -> ArrayView1 { [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] 76 | pub fn index(&self) -> ArrayView1<'_, IndexDtype> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/df/meta.rs:82:20 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn columns(&self) -> ArrayView1 { [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] 82 | pub fn columns(&self) -> ArrayView1<'_, ColumnsDtype> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/df/meta.rs:88:19 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn values(&self) -> ArrayView2 { [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] 88 | pub fn values(&self) -> ArrayView2<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem.rs:118:14 [INFO] [stdout] | [INFO] [stdout] 118 | fn fetch(&self, args: FetcherArgs) -> Result> { [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] 118 | fn fetch(&self, args: FetcherArgs) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem.rs:126:20 [INFO] [stdout] | [INFO] [stdout] 126 | fn batch_fetch(&self, _args: Vec) -> Result>> { [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] 126 | fn batch_fetch(&self, _args: Vec) -> Result>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem.rs:132:14 [INFO] [stdout] | [INFO] [stdout] 132 | fn fetch(&self, args: FetcherArgs) -> impl Future>>; [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] 132 | fn fetch(&self, args: FetcherArgs) -> impl Future>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem/shm.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | fn fetch(&self, args: FetcherArgs) -> Result> { [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] 20 | fn fetch(&self, args: FetcherArgs) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/source.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | fn read(&self, date: &str, key: &str) -> impl Future>>; [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] 10 | fn read(&self, date: &str, key: &str) -> impl Future>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/toolkit/array.rs:120:33 [INFO] [stdout] | [INFO] [stdout] 120 | pub unsafe fn as_array_view(&self) -> ArrayView1 { [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] 120 | pub unsafe fn as_array_view(&self) -> ArrayView1<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.48s [INFO] running `Command { std: "docker" "inspect" "6c0436ca379cc1ed649521e8eabbe04b243ce563088bc430193b619c106207c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c0436ca379cc1ed649521e8eabbe04b243ce563088bc430193b619c106207c4", kill_on_drop: false }` [INFO] [stdout] 6c0436ca379cc1ed649521e8eabbe04b243ce563088bc430193b619c106207c4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2d83b1c7753dd083a2a0e0b28f39be350be8bd5cec6136d5b4adbf410bc9938d [INFO] running `Command { std: "docker" "start" "-a" "2d83b1c7753dd083a2a0e0b28f39be350be8bd5cec6136d5b4adbf410bc9938d", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling half v2.4.1 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling anstyle v1.0.8 [INFO] [stderr] Compiling clap_lex v0.7.2 [INFO] [stderr] Compiling rustix v0.38.37 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling is-terminal v0.4.13 [INFO] [stderr] Compiling oorandom v11.1.4 [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/df/meta.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn index(&self) -> ArrayView1 { [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] 76 | pub fn index(&self) -> ArrayView1<'_, IndexDtype> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/df/meta.rs:82:20 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn columns(&self) -> ArrayView1 { [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] 82 | pub fn columns(&self) -> ArrayView1<'_, ColumnsDtype> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/df/meta.rs:88:19 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn values(&self) -> ArrayView2 { [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] 88 | pub fn values(&self) -> ArrayView2<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem.rs:118:14 [INFO] [stdout] | [INFO] [stdout] 118 | fn fetch(&self, args: FetcherArgs) -> Result> { [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] 118 | fn fetch(&self, args: FetcherArgs) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem.rs:126:20 [INFO] [stdout] | [INFO] [stdout] 126 | fn batch_fetch(&self, _args: Vec) -> Result>> { [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] 126 | fn batch_fetch(&self, _args: Vec) -> Result>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem.rs:132:14 [INFO] [stdout] | [INFO] [stdout] 132 | fn fetch(&self, args: FetcherArgs) -> impl Future>>; [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] 132 | fn fetch(&self, args: FetcherArgs) -> impl Future>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem/shm.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | fn fetch(&self, args: FetcherArgs) -> Result> { [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] 20 | fn fetch(&self, args: FetcherArgs) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/source.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | fn read(&self, date: &str, key: &str) -> impl Future>>; [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] 10 | fn read(&self, date: &str, key: &str) -> impl Future>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/toolkit/array.rs:120:33 [INFO] [stdout] | [INFO] [stdout] 120 | pub unsafe fn as_array_view(&self) -> ArrayView1 { [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] 120 | pub unsafe fn as_array_view(&self) -> ArrayView1<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling clap_builder v4.5.18 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling clap v4.5.18 [INFO] [stderr] Compiling tempfile v3.13.0 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling cfpyo3_rs_core v0.2.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/df/meta.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn index(&self) -> ArrayView1 { [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] 76 | pub fn index(&self) -> ArrayView1<'_, IndexDtype> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/df/meta.rs:82:20 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn columns(&self) -> ArrayView1 { [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] 82 | pub fn columns(&self) -> ArrayView1<'_, ColumnsDtype> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/df/meta.rs:88:19 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn values(&self) -> ArrayView2 { [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] 88 | pub fn values(&self) -> ArrayView2<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem.rs:118:14 [INFO] [stdout] | [INFO] [stdout] 118 | fn fetch(&self, args: FetcherArgs) -> Result> { [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] 118 | fn fetch(&self, args: FetcherArgs) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem.rs:126:20 [INFO] [stdout] | [INFO] [stdout] 126 | fn batch_fetch(&self, _args: Vec) -> Result>> { [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] 126 | fn batch_fetch(&self, _args: Vec) -> Result>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem.rs:132:14 [INFO] [stdout] | [INFO] [stdout] 132 | fn fetch(&self, args: FetcherArgs) -> impl Future>>; [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] 132 | fn fetch(&self, args: FetcherArgs) -> impl Future>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/mem/shm.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | fn fetch(&self, args: FetcherArgs) -> Result> { [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] 20 | fn fetch(&self, args: FetcherArgs) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/io/temporal/source.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | fn read(&self, date: &str, key: &str) -> impl Future>>; [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] 10 | fn read(&self, date: &str, key: &str) -> impl Future>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/toolkit/array.rs:120:33 [INFO] [stdout] | [INFO] [stdout] 120 | pub unsafe fn as_array_view(&self) -> ArrayView1 { [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] 120 | pub unsafe fn as_array_view(&self) -> ArrayView1<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 22.51s [INFO] running `Command { std: "docker" "inspect" "2d83b1c7753dd083a2a0e0b28f39be350be8bd5cec6136d5b4adbf410bc9938d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d83b1c7753dd083a2a0e0b28f39be350be8bd5cec6136d5b4adbf410bc9938d", kill_on_drop: false }` [INFO] [stdout] 2d83b1c7753dd083a2a0e0b28f39be350be8bd5cec6136d5b4adbf410bc9938d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 86f6e411f73488196b05ea2680fbc13a36bbdba3eb4542e0d6cfc9b65b34d1d9 [INFO] running `Command { std: "docker" "start" "-a" "86f6e411f73488196b05ea2680fbc13a36bbdba3eb4542e0d6cfc9b65b34d1d9", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/df/meta.rs:76:18 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn index(&self) -> ArrayView1 { [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] 76 | pub fn index(&self) -> ArrayView1<'_, IndexDtype> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/df/meta.rs:82:20 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn columns(&self) -> ArrayView1 { [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] 82 | pub fn columns(&self) -> ArrayView1<'_, ColumnsDtype> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/df/meta.rs:88:19 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn values(&self) -> ArrayView2 { [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] 88 | pub fn values(&self) -> ArrayView2<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/io/temporal/mem.rs:118:14 [INFO] [stderr] | [INFO] [stderr] 118 | fn fetch(&self, args: FetcherArgs) -> Result> { [INFO] [stderr] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 118 | fn fetch(&self, args: FetcherArgs) -> Result> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/io/temporal/mem.rs:126:20 [INFO] [stderr] | [INFO] [stderr] 126 | fn batch_fetch(&self, _args: Vec) -> Result>> { [INFO] [stderr] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 126 | fn batch_fetch(&self, _args: Vec) -> Result>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/io/temporal/mem.rs:132:14 [INFO] [stderr] | [INFO] [stderr] 132 | fn fetch(&self, args: FetcherArgs) -> impl Future>>; [INFO] [stderr] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 132 | fn fetch(&self, args: FetcherArgs) -> impl Future>>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/io/temporal/mem/shm.rs:20:14 [INFO] [stderr] | [INFO] [stderr] 20 | fn fetch(&self, args: FetcherArgs) -> Result> { [INFO] [stderr] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 20 | fn fetch(&self, args: FetcherArgs) -> Result> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/io/temporal/source.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | fn read(&self, date: &str, key: &str) -> impl Future>>; [INFO] [stderr] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^ the same lifetime is hidden 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] 10 | fn read(&self, date: &str, key: &str) -> impl Future>>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/toolkit/array.rs:120:33 [INFO] [stderr] | [INFO] [stderr] 120 | pub unsafe fn as_array_view(&self) -> ArrayView1 { [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] 120 | pub unsafe fn as_array_view(&self) -> ArrayView1<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `cfpyo3_rs_core` (lib) generated 9 warnings (run `cargo fix --lib -p cfpyo3_rs_core` to apply 9 suggestions) [INFO] [stderr] warning: `cfpyo3_rs_core` (lib test) generated 9 warnings (9 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cfpyo3_core-b79f5442c8db116b) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test df::io::buffer::tests::test_buffer_io ... ok [INFO] [stdout] test df::io::bytes::tests::test_bytes_io ... ok [INFO] [stdout] test io::temporal::mem::tests::test_shm_column_contiguous_data ... ok [INFO] [stdout] test df::io::fs::tests::test_fs_io ... ok [INFO] [stdout] test df::io::tests::test_io ... ok [INFO] [stdout] test toolkit::array::tests::test_coeff_axis1 ... ok [INFO] [stdout] test toolkit::array::tests::test_fast_concat_2d_axis0_f64 ... ok [INFO] [stdout] test toolkit::array::tests::test_fast_concat_2d_axis0_f32 ... ok [INFO] [stdout] test toolkit::array::tests::test_corr_axis1_f64 ... ok [INFO] [stdout] test io::temporal::mem::tests::test_shm_row_contiguous ... ok [INFO] [stdout] test toolkit::array::tests::test_corr_axis1_f32 ... ok [INFO] [stdout] test toolkit::array::tests::test_searchsorted ... ok [INFO] [stdout] test toolkit::convert::tests::test_from_ptr ... ok [INFO] [stdout] test toolkit::array::tests::test_mean_axis1_f64 ... ok [INFO] [stdout] test toolkit::array::tests::test_mmap ... ok [INFO] [stdout] test toolkit::convert::tests::test_from_bytes ... ok [INFO] [stdout] test toolkit::array::tests::test_mean_axis1_f32 ... ok [INFO] [stdout] test toolkit::convert::tests::test_to_bytes ... ok [INFO] [stdout] test toolkit::convert::tests::test_to_nbytes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Doc-tests cfpyo3_core [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" "86f6e411f73488196b05ea2680fbc13a36bbdba3eb4542e0d6cfc9b65b34d1d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86f6e411f73488196b05ea2680fbc13a36bbdba3eb4542e0d6cfc9b65b34d1d9", kill_on_drop: false }` [INFO] [stdout] 86f6e411f73488196b05ea2680fbc13a36bbdba3eb4542e0d6cfc9b65b34d1d9