[INFO] cloning repository https://github.com/yipjunkai/pyvolr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yipjunkai/pyvolr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyipjunkai%2Fpyvolr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyipjunkai%2Fpyvolr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6b65b0d36aebefbf1052ae30246dccab41240ece
[INFO] checking yipjunkai/pyvolr against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyipjunkai%2Fpyvolr" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-6-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/yipjunkai/pyvolr
[INFO] finished tweaking git repo https://github.com/yipjunkai/pyvolr
[INFO] tweaked toml for git repo https://github.com/yipjunkai/pyvolr written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yipjunkai/pyvolr on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yipjunkai/pyvolr 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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/core/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[INFO] [stderr]   | ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `pyvolr-core` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8fa235c437472b677b63a6d0bf48b38fe9b6b152eb0775be373d8c46bfb8e966
[INFO] running `Command { std: "docker" "start" "8fa235c437472b677b63a6d0bf48b38fe9b6b152eb0775be373d8c46bfb8e966", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8fa235c437472b677b63a6d0bf48b38fe9b6b152eb0775be373d8c46bfb8e966", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8fa235c437472b677b63a6d0bf48b38fe9b6b152eb0775be373d8c46bfb8e966" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8fa235c437472b677b63a6d0bf48b38fe9b6b152eb0775be373d8c46bfb8e966", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8fa235c437472b677b63a6d0bf48b38fe9b6b152eb0775be373d8c46bfb8e966" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/core/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[INFO] [stderr]   | ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `pyvolr-core` (manifest) generated 1 warning
[INFO] [stderr]    Compiling target-lexicon v0.13.5
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling pyo3-build-config v0.29.0
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling pyo3-ffi v0.29.0
[INFO] [stderr]    Compiling pyo3 v0.29.0
[INFO] [stderr]    Compiling numpy v0.29.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling pyo3-macros-backend v0.29.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling pyo3-macros v0.29.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking pyvolr-core v0.1.7 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Checking criterion v0.8.2
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:429:6
[INFO] [stdout]     |
[INFO] [stdout] 429 | ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:482:6
[INFO] [stdout]     |
[INFO] [stdout] 482 | ) -> PyResult<GreeksTuple<'py>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:559:6
[INFO] [stdout]     |
[INFO] [stdout] 559 | ) -> PyResult<GreeksTuple<'py>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:613:6
[INFO] [stdout]     |
[INFO] [stdout] 613 | ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout]  96 | macro_rules! define_price_or_greek {
[INFO] [stdout] ...
[INFO] [stdout] 109 |         ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 | define_price_or_greek!(bsm_price, bsm::price, PRICE_PARALLEL_THRESHOLD, with_flag);
[INFO] [stdout]     | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout]  96 |   macro_rules! define_price_or_greek {
[INFO] [stdout] ...
[INFO] [stdout] 109 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 | / define_price_or_greek!(
[INFO] [stdout] 177 | |     bsm_delta,
[INFO] [stdout] 178 | |     greeks::delta,
[INFO] [stdout] 179 | |     SINGLE_GREEK_PARALLEL_THRESHOLD,
[INFO] [stdout] 180 | |     with_flag
[INFO] [stdout] 181 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout]  96 |   macro_rules! define_price_or_greek {
[INFO] [stdout] ...
[INFO] [stdout] 109 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 | / define_price_or_greek!(
[INFO] [stdout] 183 | |     bsm_theta,
[INFO] [stdout] 184 | |     greeks::theta,
[INFO] [stdout] 185 | |     SINGLE_GREEK_PARALLEL_THRESHOLD,
[INFO] [stdout] 186 | |     with_flag
[INFO] [stdout] 187 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout]  96 |   macro_rules! define_price_or_greek {
[INFO] [stdout] ...
[INFO] [stdout] 109 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 | / define_price_or_greek!(
[INFO] [stdout] 189 | |     bsm_rho,
[INFO] [stdout] 190 | |     greeks::rho,
[INFO] [stdout] 191 | |     SINGLE_GREEK_PARALLEL_THRESHOLD,
[INFO] [stdout] 192 | |     with_flag
[INFO] [stdout] 193 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:156:14
[INFO] [stdout]     |
[INFO] [stdout]  96 |   macro_rules! define_price_or_greek {
[INFO] [stdout] ...
[INFO] [stdout] 156 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 | / define_price_or_greek!(
[INFO] [stdout] 195 | |     bsm_gamma,
[INFO] [stdout] 196 | |     greeks::gamma,
[INFO] [stdout] 197 | |     SINGLE_GREEK_PARALLEL_THRESHOLD,
[INFO] [stdout] 198 | |     no_flag
[INFO] [stdout] 199 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:156:14
[INFO] [stdout]     |
[INFO] [stdout]  96 |   macro_rules! define_price_or_greek {
[INFO] [stdout] ...
[INFO] [stdout] 156 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 | / define_price_or_greek!(
[INFO] [stdout] 201 | |     bsm_vega,
[INFO] [stdout] 202 | |     greeks::vega,
[INFO] [stdout] 203 | |     SINGLE_GREEK_PARALLEL_THRESHOLD,
[INFO] [stdout] 204 | |     no_flag
[INFO] [stdout] 205 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:221:14
[INFO] [stdout]     |
[INFO] [stdout] 209 |   macro_rules! define_black76 {
[INFO] [stdout] ...
[INFO] [stdout] 221 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 | / define_black76!(
[INFO] [stdout] 266 | |     black76_price,
[INFO] [stdout] 267 | |     black76::price,
[INFO] [stdout] 268 | |     PRICE_PARALLEL_THRESHOLD,
[INFO] [stdout] 269 | |     with_flag
[INFO] [stdout] 270 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:221:14
[INFO] [stdout]     |
[INFO] [stdout] 209 |   macro_rules! define_black76 {
[INFO] [stdout] ...
[INFO] [stdout] 221 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 | / define_black76!(
[INFO] [stdout] 272 | |     black76_delta,
[INFO] [stdout] 273 | |     black76::delta,
[INFO] [stdout] 274 | |     SINGLE_GREEK_PARALLEL_THRESHOLD,
[INFO] [stdout] 275 | |     with_flag
[INFO] [stdout] 276 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:221:14
[INFO] [stdout]     |
[INFO] [stdout] 209 |   macro_rules! define_black76 {
[INFO] [stdout] ...
[INFO] [stdout] 221 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 | / define_black76!(
[INFO] [stdout] 278 | |     black76_theta,
[INFO] [stdout] 279 | |     black76::theta,
[INFO] [stdout] 280 | |     SINGLE_GREEK_PARALLEL_THRESHOLD,
[INFO] [stdout] 281 | |     with_flag
[INFO] [stdout] 282 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:221:14
[INFO] [stdout]     |
[INFO] [stdout] 209 |   macro_rules! define_black76 {
[INFO] [stdout] ...
[INFO] [stdout] 221 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 | / define_black76!(
[INFO] [stdout] 284 | |     black76_rho,
[INFO] [stdout] 285 | |     black76::rho,
[INFO] [stdout] 286 | |     SINGLE_GREEK_PARALLEL_THRESHOLD,
[INFO] [stdout] 287 | |     with_flag
[INFO] [stdout] 288 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:247:14
[INFO] [stdout]     |
[INFO] [stdout] 209 |   macro_rules! define_black76 {
[INFO] [stdout] ...
[INFO] [stdout] 247 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 | / define_black76!(
[INFO] [stdout] 290 | |     black76_gamma,
[INFO] [stdout] 291 | |     black76::gamma,
[INFO] [stdout] 292 | |     SINGLE_GREEK_PARALLEL_THRESHOLD,
[INFO] [stdout] 293 | |     no_flag
[INFO] [stdout] 294 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]    --> crates/core/src/lib.rs:247:14
[INFO] [stdout]     |
[INFO] [stdout] 209 |   macro_rules! define_black76 {
[INFO] [stdout] ...
[INFO] [stdout] 247 |           ) -> PyResult<Bound<'py, PyArray1<f64>>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 | / define_black76!(
[INFO] [stdout] 296 | |     black76_vega,
[INFO] [stdout] 297 | |     black76::vega,
[INFO] [stdout] 298 | |     SINGLE_GREEK_PARALLEL_THRESHOLD,
[INFO] [stdout] 299 | |     no_flag
[INFO] [stdout] 300 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<PyErr as Into<PyErr>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pyvolr-core` (lib) due to 16 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "8fa235c437472b677b63a6d0bf48b38fe9b6b152eb0775be373d8c46bfb8e966", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8fa235c437472b677b63a6d0bf48b38fe9b6b152eb0775be373d8c46bfb8e966", kill_on_drop: false }`
[INFO] [stdout] 8fa235c437472b677b63a6d0bf48b38fe9b6b152eb0775be373d8c46bfb8e966
