[INFO] fetching crate alfars 0.4.3...
[INFO] checking alfars-0.4.3 against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] extracting crate alfars 0.4.3 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate alfars 0.4.3
[INFO] finished tweaking crates.io crate alfars 0.4.3
[INFO] tweaked toml for crates.io crate alfars 0.4.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate alfars 0.4.3 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 crates.io crate alfars 0.4.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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:99:12
[INFO] [stderr]     |
[INFO] [stderr]  99 | homepage = "https://github.com/EthanNOV56/alfa.rs"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 | repository = "https://github.com/EthanNOV56/alfa.rs"
[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: unused build dependency `pyo3-build-config`
[INFO] [stderr]  --> Cargo.toml:5:21
[INFO] [stderr]   |
[INFO] [stderr] 5 | [build-dependencies.pyo3-build-config]
[INFO] [stderr]   |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `pyo3-build-config`
[INFO] [stderr] warning: `alfars` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 271d753f362afa88f876f51b253c99827b9516063c318c064defe4720b6213ec
[INFO] running `Command { std: "docker" "start" "271d753f362afa88f876f51b253c99827b9516063c318c064defe4720b6213ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "271d753f362afa88f876f51b253c99827b9516063c318c064defe4720b6213ec", 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" "271d753f362afa88f876f51b253c99827b9516063c318c064defe4720b6213ec" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "271d753f362afa88f876f51b253c99827b9516063c318c064defe4720b6213ec", 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" "271d753f362afa88f876f51b253c99827b9516063c318c064defe4720b6213ec" "/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]    --> Cargo.toml:99:12
[INFO] [stderr]     |
[INFO] [stderr]  99 | homepage = "https://github.com/EthanNOV56/alfa.rs"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 | repository = "https://github.com/EthanNOV56/alfa.rs"
[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: unused build dependency `pyo3-build-config`
[INFO] [stderr]  --> Cargo.toml:5:21
[INFO] [stderr]   |
[INFO] [stderr] 5 | [build-dependencies.pyo3-build-config]
[INFO] [stderr]   |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `pyo3-build-config`
[INFO] [stderr] warning: `alfars` (manifest) generated 2 warnings
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling target-lexicon v0.13.5
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling pyo3-build-config v0.28.2
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking uuid v1.22.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling pyo3-macros-backend v0.28.2
[INFO] [stderr]    Compiling pyo3-ffi v0.28.2
[INFO] [stderr]    Compiling pyo3 v0.28.2
[INFO] [stderr]    Compiling numpy v0.28.0
[INFO] [stderr]     Checking tempfile v3.26.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling pyo3-macros v0.28.2
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking lz4 v1.28.1
[INFO] [stderr]     Checking alfars v0.4.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `FactorRegistry` and `extract_columns`
[INFO] [stdout]    --> src/al/parser.rs:320:33
[INFO] [stdout]     |
[INFO] [stdout] 320 |     use crate::expr::registry::{FactorRegistry, extract_columns, parse_expression};
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]    --> src/al/parser.rs:321:19
[INFO] [stdout]     |
[INFO] [stdout] 321 |     use ndarray::{Array1, Array2};
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_factor_metadata`
[INFO] [stdout]    --> src/gp/metalearning.rs:952:50
[INFO] [stdout]     |
[INFO] [stdout] 952 |     use crate::persistence::{PerformanceMetrics, create_factor_metadata};
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataType`
[INFO] [stdout]   --> src/expr/optimizer.rs:10:28
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::ast::{BinaryOp, DataType, Expr, Literal, UnaryOp};
[INFO] [stdout]    |                            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/lazy/engine.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/lazy/engine.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array2`
[INFO] [stdout]  --> src/lazy/engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ndarray::Array2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/types/dataframe.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NAN`: replaced by the `NAN` associated constant on `f64`
[INFO] [stdout]   --> src/backtest/engine.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::f64::NAN;
[INFO] [stdout]    |               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NAN`: replaced by the `NAN` associated constant on `f64`
[INFO] [stdout]    --> src/backtest/engine.rs:661:28
[INFO] [stdout]     |
[INFO] [stdout] 661 |                     return NAN;
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NAN`: replaced by the `NAN` associated constant on `f64`
[INFO] [stdout]    --> src/backtest/engine.rs:682:40
[INFO] [stdout]     |
[INFO] [stdout] 682 |         let ic_ir = if ic_std == 0.0 { NAN } else { ic_mean / ic_std };
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NAN`: replaced by the `NAN` associated constant on `f64`
[INFO] [stdout]   --> src/backtest/engine.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::f64::NAN;
[INFO] [stdout]    |               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NAN`: replaced by the `NAN` associated constant on `f64`
[INFO] [stdout]    --> src/backtest/engine.rs:661:28
[INFO] [stdout]     |
[INFO] [stdout] 661 |                     return NAN;
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NAN`: replaced by the `NAN` associated constant on `f64`
[INFO] [stdout]    --> src/backtest/engine.rs:682:40
[INFO] [stdout]     |
[INFO] [stdout] 682 |         let ic_ir = if ic_std == 0.0 { NAN } else { ic_mean / ic_std };
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor`
[INFO] [stdout]    --> src/backtest/engine.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 316 |         factor: &Array2<f64>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_rows`
[INFO] [stdout]   --> src/data/mod.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let n_rows = data.values().next().map(|v| v.len()).unwrap_or(0);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/expr/registry/functions.rs:303:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |         "le" | "less_equal" | "lte" => Ok(arg_values[0]
[INFO] [stdout]     |         --------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 303 |         "le" | "less_equal" | "lte" => Ok(arg_values[0]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_total`
[INFO] [stdout]    --> src/expr/registry/mod.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let n_total = factor_exprs.len();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/al/parser.rs:695:22
[INFO] [stdout]     |
[INFO] [stdout] 695 |                 for (i, (name, result)) in results.iter().take(5).enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol_idx`
[INFO] [stdout]     --> src/al/parser.rs:1237:14
[INFO] [stdout]      |
[INFO] [stdout] 1237 |         for (symbol_idx, symbol) in symbols.iter().enumerate() {
[INFO] [stdout]      |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor`
[INFO] [stdout]    --> src/backtest/engine.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 316 |         factor: &Array2<f64>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_rows`
[INFO] [stdout]   --> src/data/mod.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let n_rows = data.values().next().map(|v| v.len()).unwrap_or(0);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/expr/registry/functions.rs:303:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |         "le" | "less_equal" | "lte" => Ok(arg_values[0]
[INFO] [stdout]     |         --------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 303 |         "le" | "less_equal" | "lte" => Ok(arg_values[0]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_total`
[INFO] [stdout]    --> src/expr/registry/mod.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let n_total = factor_exprs.len();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `apply_fees` is never used
[INFO] [stdout]    --> src/backtest/engine.rs:555:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl BacktestEngine {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 555 |     fn apply_fees(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `counter` is never read
[INFO] [stdout]    --> src/expr/optimizer.rs:421:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |         struct CseVisitor {
[INFO] [stdout]     |                ---------- field in this struct
[INFO] [stdout] 420 |             subexprs: HashMap<String, Expr>,
[INFO] [stdout] 421 |             counter: usize,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]   --> src/lib.rs:29:41
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn set_num_threads(n_threads: usize) -> PyResult<()> {
[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]    --> src/lib.rs:381:42
[INFO] [stdout]     |
[INFO] [stdout] 381 |     fn evaluate(&self, expr: &PyExpr) -> PyResult<PySeries> {
[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]    --> src/lib.rs:398:42
[INFO] [stdout]     |
[INFO] [stdout] 398 | fn parse_expression(expression: &str) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:414:6
[INFO] [stdout]     |
[INFO] [stdout] 414 | ) -> PyResult<Py<PyArray2<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]    --> src/lib.rs:488:42
[INFO] [stdout]     |
[INFO] [stdout] 488 | fn lag(expr: &PyExpr, periods: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:501:43
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn diff(expr: &PyExpr, periods: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:514:50
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn rolling_mean(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:527:29
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn cumsum(expr: &PyExpr) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:537:30
[INFO] [stdout]     |
[INFO] [stdout] 537 | fn cumprod(expr: &PyExpr) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:549:49
[INFO] [stdout]     |
[INFO] [stdout] 549 | fn rolling_std(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:566:45
[INFO] [stdout]     |
[INFO] [stdout] 566 | fn ts_rank(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:581:47
[INFO] [stdout]     |
[INFO] [stdout] 581 | fn ts_argmax(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:596:47
[INFO] [stdout]     |
[INFO] [stdout] 596 | fn ts_argmin(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:611:27
[INFO] [stdout]     |
[INFO] [stdout] 611 | fn rank(expr: &PyExpr) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:621:62
[INFO] [stdout]     |
[INFO] [stdout] 621 | fn ts_corr(expr1: &PyExpr, expr2: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:637:61
[INFO] [stdout]     |
[INFO] [stdout] 637 | fn ts_cov(expr1: &PyExpr, expr2: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:651:43
[INFO] [stdout]     |
[INFO] [stdout] 651 | fn scale(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:664:51
[INFO] [stdout]     |
[INFO] [stdout] 664 | fn decay_linear(expr: &PyExpr, periods: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:677:27
[INFO] [stdout]     |
[INFO] [stdout] 677 | fn sign(expr: &PyExpr) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:687:43
[INFO] [stdout]     |
[INFO] [stdout] 687 | fn power(expr: &PyExpr, exponent: f64) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:698:44
[INFO] [stdout]     |
[INFO] [stdout] 698 | fn ts_sum(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:712:46
[INFO] [stdout]     |
[INFO] [stdout] 712 | fn ts_count(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:727:44
[INFO] [stdout]     |
[INFO] [stdout] 727 | fn ts_max(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:740:44
[INFO] [stdout]     |
[INFO] [stdout] 740 | fn ts_min(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:999:10
[INFO] [stdout]     |
[INFO] [stdout] 999 |     ) -> PyResult<PyBacktestResult> {
[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]     --> src/lib.rs:1091:6
[INFO] [stdout]      |
[INFO] [stdout] 1091 | ) -> PyResult<PyBacktestResult> {
[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]     --> src/lib.rs:1136:6
[INFO] [stdout]      |
[INFO] [stdout] 1136 | ) -> PyResult<(f64, 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]     --> src/lib.rs:1209:58
[INFO] [stdout]      |
[INFO] [stdout] 1209 |     fn scan(_py: Python<'_>, data: Bound<'_, PyDict>) -> PyResult<Self> {
[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]     --> src/lib.rs:1237:74
[INFO] [stdout]      |
[INFO] [stdout] 1237 |     fn with_columns(&self, _py: Python<'_>, exprs: Bound<'_, PyList>) -> PyResult<Self> {
[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]     --> src/lib.rs:1260:72
[INFO] [stdout]      |
[INFO] [stdout] 1260 |     fn join(&self, other: &PyLazyFrame, on: Vec<String>, how: &str) -> PyResult<Self> {
[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]     --> src/lib.rs:1291:30
[INFO] [stdout]      |
[INFO] [stdout] 1291 |     fn collect(&mut self) -> PyResult<Py<PyDict>> {
[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]     --> src/lib.rs:1311:43
[INFO] [stdout]      |
[INFO] [stdout] 1311 |     fn explain(&self, optimized: bool) -> PyResult<String> {
[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]     --> src/lib.rs:1335:63
[INFO] [stdout]      |
[INFO] [stdout] 1335 | fn rolling_window(size: usize, min_periods: Option<usize>) -> PyResult<Py<PyDict>> {
[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]     --> src/lib.rs:1349:52
[INFO] [stdout]      |
[INFO] [stdout] 1349 | fn expanding_window(min_periods: Option<usize>) -> PyResult<Py<PyDict>> {
[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]     --> src/lib.rs:1468:10
[INFO] [stdout]      |
[INFO] [stdout] 1468 |     ) -> PyResult<Vec<(String, f64, f64, f64, f64, usize)>> {
[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]     --> src/lib.rs:1548:10
[INFO] [stdout]      |
[INFO] [stdout] 1548 |       ) -> PyResult<
[INFO] [stdout]      |  __________^
[INFO] [stdout] 1549 | |         Vec<(
[INFO] [stdout] 1550 | |             String,
[INFO] [stdout] 1551 | |             f64,
[INFO] [stdout] ...    |
[INFO] [stdout] 1559 | |         )>,
[INFO] [stdout] 1560 | |     > {
[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]     --> src/lib.rs:1690:31
[INFO] [stdout]      |
[INFO] [stdout] 1690 |     fn test_run(&mut self) -> PyResult<String> {
[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]     --> src/lib.rs:1747:61
[INFO] [stdout]      |
[INFO] [stdout] 1747 |     fn save_factor(&mut self, factor: &PyFactorMetadata) -> PyResult<()> {
[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]     --> src/lib.rs:1754:51
[INFO] [stdout]      |
[INFO] [stdout] 1754 |     fn load_factor(&mut self, factor_id: &str) -> PyResult<Option<PyFactorMetadata>> {
[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]     --> src/lib.rs:1772:10
[INFO] [stdout]      |
[INFO] [stdout] 1772 |     ) -> PyResult<Vec<PyFactorMetadata>> {
[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]     --> src/lib.rs:1783:39
[INFO] [stdout]      |
[INFO] [stdout] 1783 |     fn load_all_factors(&mut self) -> PyResult<usize> {
[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]     --> src/lib.rs:1790:39
[INFO] [stdout]      |
[INFO] [stdout] 1790 |     fn load_all_history(&mut self) -> PyResult<usize> {
[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]     --> src/lib.rs:1820:30
[INFO] [stdout]      |
[INFO] [stdout] 1820 |     fn cache_stats(&self) -> PyResult<Py<PyAny>> {
[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]     --> src/lib.rs:1848:35
[INFO] [stdout]      |
[INFO] [stdout] 1848 |     fn load_from_al(&mut self) -> PyResult<Vec<PyAlFactor>> {
[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]     --> src/lib.rs:1862:76
[INFO] [stdout]      |
[INFO] [stdout] 1862 |     fn save_to_al(&self, factor: &PyAlFactor, filename: Option<String>) -> PyResult<String> {
[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]     --> src/lib.rs:1940:55
[INFO] [stdout]      |
[INFO] [stdout] 1940 |     fn save_to_al(&self, filename: Option<String>) -> PyResult<String> {
[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]     --> src/lib.rs:1953:25
[INFO] [stdout]      |
[INFO] [stdout] 1953 | fn load_al_factors() -> PyResult<Vec<PyAlFactor>> {
[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]     --> src/lib.rs:2075:10
[INFO] [stdout]      |
[INFO] [stdout] 2075 |     ) -> PyResult<()> {
[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]     --> src/lib.rs:2087:70
[INFO] [stdout]      |
[INFO] [stdout] 2087 |     fn get_recommendations(&self, target_complexity: Option<f64>) -> PyResult<PyGpRecommendations> {
[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]     --> src/lib.rs:2111:41
[INFO] [stdout]      |
[INFO] [stdout] 2111 |     fn save_model(&self, path: &str) -> PyResult<()> {
[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]     --> src/lib.rs:2119:34
[INFO] [stdout]      |
[INFO] [stdout] 2119 |     fn load_model(path: &str) -> PyResult<Self> {
[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]     --> src/lib.rs:2192:31
[INFO] [stdout]      |
[INFO] [stdout] 2192 |     fn to_gp_config(&self) -> PyResult<Py<PyAny>> {
[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]     --> src/lib.rs:2260:61
[INFO] [stdout]      |
[INFO] [stdout] 2260 |     fn register(&mut self, name: &str, expression: &str) -> PyResult<String> {
[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]     --> src/lib.rs:2274:10
[INFO] [stdout]      |
[INFO] [stdout] 2274 |     ) -> PyResult<PyFactorResult> {
[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]     --> src/lib.rs:2306:10
[INFO] [stdout]      |
[INFO] [stdout] 2306 |     ) -> PyResult<Py<PyDict>> {
[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]     --> src/lib.rs:2365:29
[INFO] [stdout]      |
[INFO] [stdout] 2365 |     fn get_config(&self) -> PyResult<Py<PyDict>> {
[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] [stderr] error: could not compile `alfars` (lib) due to 56 previous errors; 14 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: associated function `apply_fees` is never used
[INFO] [stdout]    --> src/backtest/engine.rs:555:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl BacktestEngine {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 555 |     fn apply_fees(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `counter` is never read
[INFO] [stdout]    --> src/expr/optimizer.rs:421:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |         struct CseVisitor {
[INFO] [stdout]     |                ---------- field in this struct
[INFO] [stdout] 420 |             subexprs: HashMap<String, Expr>,
[INFO] [stdout] 421 |             counter: usize,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `PyErr`
[INFO] [stdout]   --> src/lib.rs:29:41
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn set_num_threads(n_threads: usize) -> PyResult<()> {
[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]    --> src/lib.rs:381:42
[INFO] [stdout]     |
[INFO] [stdout] 381 |     fn evaluate(&self, expr: &PyExpr) -> PyResult<PySeries> {
[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]    --> src/lib.rs:398:42
[INFO] [stdout]     |
[INFO] [stdout] 398 | fn parse_expression(expression: &str) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:414:6
[INFO] [stdout]     |
[INFO] [stdout] 414 | ) -> PyResult<Py<PyArray2<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]    --> src/lib.rs:488:42
[INFO] [stdout]     |
[INFO] [stdout] 488 | fn lag(expr: &PyExpr, periods: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:501:43
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn diff(expr: &PyExpr, periods: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:514:50
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn rolling_mean(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:527:29
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn cumsum(expr: &PyExpr) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:537:30
[INFO] [stdout]     |
[INFO] [stdout] 537 | fn cumprod(expr: &PyExpr) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:549:49
[INFO] [stdout]     |
[INFO] [stdout] 549 | fn rolling_std(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:566:45
[INFO] [stdout]     |
[INFO] [stdout] 566 | fn ts_rank(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:581:47
[INFO] [stdout]     |
[INFO] [stdout] 581 | fn ts_argmax(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:596:47
[INFO] [stdout]     |
[INFO] [stdout] 596 | fn ts_argmin(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:611:27
[INFO] [stdout]     |
[INFO] [stdout] 611 | fn rank(expr: &PyExpr) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:621:62
[INFO] [stdout]     |
[INFO] [stdout] 621 | fn ts_corr(expr1: &PyExpr, expr2: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:637:61
[INFO] [stdout]     |
[INFO] [stdout] 637 | fn ts_cov(expr1: &PyExpr, expr2: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:651:43
[INFO] [stdout]     |
[INFO] [stdout] 651 | fn scale(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:664:51
[INFO] [stdout]     |
[INFO] [stdout] 664 | fn decay_linear(expr: &PyExpr, periods: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:677:27
[INFO] [stdout]     |
[INFO] [stdout] 677 | fn sign(expr: &PyExpr) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:687:43
[INFO] [stdout]     |
[INFO] [stdout] 687 | fn power(expr: &PyExpr, exponent: f64) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:698:44
[INFO] [stdout]     |
[INFO] [stdout] 698 | fn ts_sum(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:712:46
[INFO] [stdout]     |
[INFO] [stdout] 712 | fn ts_count(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:727:44
[INFO] [stdout]     |
[INFO] [stdout] 727 | fn ts_max(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:740:44
[INFO] [stdout]     |
[INFO] [stdout] 740 | fn ts_min(expr: &PyExpr, window: usize) -> PyResult<PyExpr> {
[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]    --> src/lib.rs:999:10
[INFO] [stdout]     |
[INFO] [stdout] 999 |     ) -> PyResult<PyBacktestResult> {
[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]     --> src/lib.rs:1091:6
[INFO] [stdout]      |
[INFO] [stdout] 1091 | ) -> PyResult<PyBacktestResult> {
[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]     --> src/lib.rs:1136:6
[INFO] [stdout]      |
[INFO] [stdout] 1136 | ) -> PyResult<(f64, 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]     --> src/lib.rs:1209:58
[INFO] [stdout]      |
[INFO] [stdout] 1209 |     fn scan(_py: Python<'_>, data: Bound<'_, PyDict>) -> PyResult<Self> {
[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]     --> src/lib.rs:1237:74
[INFO] [stdout]      |
[INFO] [stdout] 1237 |     fn with_columns(&self, _py: Python<'_>, exprs: Bound<'_, PyList>) -> PyResult<Self> {
[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]     --> src/lib.rs:1260:72
[INFO] [stdout]      |
[INFO] [stdout] 1260 |     fn join(&self, other: &PyLazyFrame, on: Vec<String>, how: &str) -> PyResult<Self> {
[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]     --> src/lib.rs:1291:30
[INFO] [stdout]      |
[INFO] [stdout] 1291 |     fn collect(&mut self) -> PyResult<Py<PyDict>> {
[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]     --> src/lib.rs:1311:43
[INFO] [stdout]      |
[INFO] [stdout] 1311 |     fn explain(&self, optimized: bool) -> PyResult<String> {
[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]     --> src/lib.rs:1335:63
[INFO] [stdout]      |
[INFO] [stdout] 1335 | fn rolling_window(size: usize, min_periods: Option<usize>) -> PyResult<Py<PyDict>> {
[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]     --> src/lib.rs:1349:52
[INFO] [stdout]      |
[INFO] [stdout] 1349 | fn expanding_window(min_periods: Option<usize>) -> PyResult<Py<PyDict>> {
[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]     --> src/lib.rs:1468:10
[INFO] [stdout]      |
[INFO] [stdout] 1468 |     ) -> PyResult<Vec<(String, f64, f64, f64, f64, usize)>> {
[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]     --> src/lib.rs:1548:10
[INFO] [stdout]      |
[INFO] [stdout] 1548 |       ) -> PyResult<
[INFO] [stdout]      |  __________^
[INFO] [stdout] 1549 | |         Vec<(
[INFO] [stdout] 1550 | |             String,
[INFO] [stdout] 1551 | |             f64,
[INFO] [stdout] ...    |
[INFO] [stdout] 1559 | |         )>,
[INFO] [stdout] 1560 | |     > {
[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]     --> src/lib.rs:1690:31
[INFO] [stdout]      |
[INFO] [stdout] 1690 |     fn test_run(&mut self) -> PyResult<String> {
[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]     --> src/lib.rs:1747:61
[INFO] [stdout]      |
[INFO] [stdout] 1747 |     fn save_factor(&mut self, factor: &PyFactorMetadata) -> PyResult<()> {
[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]     --> src/lib.rs:1754:51
[INFO] [stdout]      |
[INFO] [stdout] 1754 |     fn load_factor(&mut self, factor_id: &str) -> PyResult<Option<PyFactorMetadata>> {
[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]     --> src/lib.rs:1772:10
[INFO] [stdout]      |
[INFO] [stdout] 1772 |     ) -> PyResult<Vec<PyFactorMetadata>> {
[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]     --> src/lib.rs:1783:39
[INFO] [stdout]      |
[INFO] [stdout] 1783 |     fn load_all_factors(&mut self) -> PyResult<usize> {
[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]     --> src/lib.rs:1790:39
[INFO] [stdout]      |
[INFO] [stdout] 1790 |     fn load_all_history(&mut self) -> PyResult<usize> {
[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]     --> src/lib.rs:1820:30
[INFO] [stdout]      |
[INFO] [stdout] 1820 |     fn cache_stats(&self) -> PyResult<Py<PyAny>> {
[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]     --> src/lib.rs:1848:35
[INFO] [stdout]      |
[INFO] [stdout] 1848 |     fn load_from_al(&mut self) -> PyResult<Vec<PyAlFactor>> {
[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]     --> src/lib.rs:1862:76
[INFO] [stdout]      |
[INFO] [stdout] 1862 |     fn save_to_al(&self, factor: &PyAlFactor, filename: Option<String>) -> PyResult<String> {
[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]     --> src/lib.rs:1940:55
[INFO] [stdout]      |
[INFO] [stdout] 1940 |     fn save_to_al(&self, filename: Option<String>) -> PyResult<String> {
[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]     --> src/lib.rs:1953:25
[INFO] [stdout]      |
[INFO] [stdout] 1953 | fn load_al_factors() -> PyResult<Vec<PyAlFactor>> {
[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]     --> src/lib.rs:2075:10
[INFO] [stdout]      |
[INFO] [stdout] 2075 |     ) -> PyResult<()> {
[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]     --> src/lib.rs:2087:70
[INFO] [stdout]      |
[INFO] [stdout] 2087 |     fn get_recommendations(&self, target_complexity: Option<f64>) -> PyResult<PyGpRecommendations> {
[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]     --> src/lib.rs:2111:41
[INFO] [stdout]      |
[INFO] [stdout] 2111 |     fn save_model(&self, path: &str) -> PyResult<()> {
[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]     --> src/lib.rs:2119:34
[INFO] [stdout]      |
[INFO] [stdout] 2119 |     fn load_model(path: &str) -> PyResult<Self> {
[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]     --> src/lib.rs:2192:31
[INFO] [stdout]      |
[INFO] [stdout] 2192 |     fn to_gp_config(&self) -> PyResult<Py<PyAny>> {
[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]     --> src/lib.rs:2260:61
[INFO] [stdout]      |
[INFO] [stdout] 2260 |     fn register(&mut self, name: &str, expression: &str) -> PyResult<String> {
[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]     --> src/lib.rs:2274:10
[INFO] [stdout]      |
[INFO] [stdout] 2274 |     ) -> PyResult<PyFactorResult> {
[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]     --> src/lib.rs:2306:10
[INFO] [stdout]      |
[INFO] [stdout] 2306 |     ) -> PyResult<Py<PyDict>> {
[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]     --> src/lib.rs:2365:29
[INFO] [stdout]      |
[INFO] [stdout] 2365 |     fn get_config(&self) -> PyResult<Py<PyDict>> {
[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] [stderr] error: could not compile `alfars` (lib test) due to 56 previous errors; 14 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "271d753f362afa88f876f51b253c99827b9516063c318c064defe4720b6213ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "271d753f362afa88f876f51b253c99827b9516063c318c064defe4720b6213ec", kill_on_drop: false }`
[INFO] [stdout] 271d753f362afa88f876f51b253c99827b9516063c318c064defe4720b6213ec
