[INFO] cloning repository https://github.com/feature-express/feature-express
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/feature-express/feature-express" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffeature-express%2Ffeature-express", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffeature-express%2Ffeature-express'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dd636e9f3a11450b19a14bd1256e979bf9f37aeb
[INFO] testing feature-express/feature-express against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffeature-express%2Ffeature-express" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/feature-express/feature-express
[INFO] finished tweaking git repo https://github.com/feature-express/feature-express
[INFO] tweaked toml for git repo https://github.com/feature-express/feature-express written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/feature-express/feature-express on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/feature-express/feature-express already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7f6cb911453b1dddc8dc860410e9763c03fc9a204fc828a2ba52addf5384188d
[INFO] running `Command { std: "docker" "start" "-a" "7f6cb911453b1dddc8dc860410e9763c03fc9a204fc828a2ba52addf5384188d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f6cb911453b1dddc8dc860410e9763c03fc9a204fc828a2ba52addf5384188d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f6cb911453b1dddc8dc860410e9763c03fc9a204fc828a2ba52addf5384188d", kill_on_drop: false }`
[INFO] [stdout] 7f6cb911453b1dddc8dc860410e9763c03fc9a204fc828a2ba52addf5384188d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a0aa608176f285ef76a244486ffcdd62aeb8afc761bdba5f092e25d1536016a4
[INFO] running `Command { std: "docker" "start" "-a" "a0aa608176f285ef76a244486ffcdd62aeb8afc761bdba5f092e25d1536016a4", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling serde v1.0.183
[INFO] [stderr]    Compiling serde_derive v1.0.183
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling target-lexicon v0.12.11
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling itoa v1.0.9
[INFO] [stderr]    Compiling ryu v1.0.15
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling pyo3-build-config v0.18.3
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling syn v2.0.28
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling iana-time-zone v0.1.57
[INFO] [stderr]    Compiling serde_json v1.0.104
[INFO] [stderr]    Compiling bytes v1.4.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]    Compiling pin-project-lite v0.2.12
[INFO] [stderr]    Compiling thiserror v1.0.44
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling cpufeatures v0.2.9
[INFO] [stderr]    Compiling futures-sink v0.3.28
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling smallvec v1.11.0
[INFO] [stderr]    Compiling sha2 v0.10.7
[INFO] [stderr]    Compiling pyo3-ffi v0.18.3
[INFO] [stderr]    Compiling stringprep v0.1.3
[INFO] [stderr]    Compiling md-5 v0.10.5
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling mio v0.8.8
[INFO] [stderr]    Compiling socket2 v0.5.3
[INFO] [stderr]    Compiling tracing-core v0.1.31
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]    Compiling rustix v0.38.8
[INFO] [stderr]    Compiling base64 v0.21.2
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling async-trait v0.1.72
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling tokio v1.30.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling chrono v0.4.26
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling memoffset v0.8.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling futures-io v0.3.28
[INFO] [stderr]    Compiling postgres-protocol v0.6.5
[INFO] [stderr]    Compiling linux-raw-sys v0.4.5
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling bitflags v2.4.0
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling pyo3-macros-backend v0.18.3
[INFO] [stderr]    Compiling serde_derive_internals v0.26.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling phf v0.11.2
[INFO] [stderr]    Compiling pyo3 v0.18.3
[INFO] [stderr]    Compiling crossbeam-channel v0.5.8
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.44
[INFO] [stderr]    Compiling postgres-derive v0.4.4
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling aho-corasick v1.0.3
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling postgres-types v0.2.5
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]    Compiling schemars v0.8.12
[INFO] [stderr]    Compiling tokio-util v0.7.8
[INFO] [stderr]    Compiling log v0.4.19
[INFO] [stderr]    Compiling regex-syntax v0.7.4
[INFO] [stderr]    Compiling pest v2.7.2
[INFO] [stderr]    Compiling percent-encoding v2.3.0
[INFO] [stderr]    Compiling anyhow v1.0.72
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling csv v1.2.2
[INFO] [stderr]    Compiling pyo3-macros v0.18.3
[INFO] [stderr]    Compiling pest_meta v2.7.2
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling schemars_derive v0.8.12
[INFO] [stderr]    Compiling is-terminal v0.4.9
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling regex-automata v0.3.6
[INFO] [stderr]    Compiling pest_generator v2.7.2
[INFO] [stderr]    Compiling tokio-postgres v0.7.8
[INFO] [stderr]    Compiling enum_delegate_lib v0.2.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling unicode-segmentation v1.10.1
[INFO] [stderr]    Compiling encode_unicode v1.0.0
[INFO] [stderr]    Compiling unindent v0.1.11
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling dyn-clone v1.0.12
[INFO] [stderr]    Compiling fexpress-main v0.0.6 (/opt/rustwide/workdir/fexpress-main)
[INFO] [stderr]    Compiling indoc v1.0.9
[INFO] [stderr]    Compiling pest_derive v2.7.2
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling prettytable v0.10.0
[INFO] [stderr]    Compiling enum_delegate v0.2.0
[INFO] [stderr]    Compiling petgraph v0.6.3
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling rayon v1.7.0
[INFO] [stderr]    Compiling regex v1.9.3
[INFO] [stderr]    Compiling postgres v0.19.5
[INFO] [stderr]    Compiling lz4_flex v0.10.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling enum-as-inner v0.6.0
[INFO] [stderr]    Compiling enum_dispatch v0.3.12
[INFO] [stderr]    Compiling fexpress-derive v0.0.6 (/opt/rustwide/workdir/fexpress-main/fexpress-derive)
[INFO] [stderr]    Compiling ordered-float v3.7.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling vec1 v1.10.1
[INFO] [stderr]    Compiling kstring v1.0.6
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling get-size v0.1.4
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stdout] warning: unused import: `INT`
[INFO] [stdout]   --> fexpress-main/fexpress-core/eval.rs:40:48
[INFO] [stdout]    |
[INFO] [stdout] 40 | use crate::types::{Entities, Timestamp, FLOAT, INT};
[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: `crate::sstring::SmallString`
[INFO] [stdout]  --> fexpress-main/fexpress-core/features_rewrite.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::sstring::SmallString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::Entities`
[INFO] [stdout]   --> fexpress-main/fexpress-core/features_rewrite.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::Entities;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParseError`
[INFO] [stdout]   --> fexpress-main/fexpress-core/parser/expr_parser.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 | use strum::{IntoEnumIterator, ParseError};
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum_macros::EnumString`
[INFO] [stdout]   --> fexpress-main/fexpress-core/parser/expr_parser.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use strum_macros::EnumString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FLOAT`
[INFO] [stdout]   --> fexpress-main/fexpress-core/partial_agg.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::types::{FLOAT, INT};
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::FLOAT`
[INFO] [stdout]  --> fexpress-main/fexpress-core/partial_aggregates/count.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::FLOAT;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Product`
[INFO] [stdout]  --> fexpress-main/fexpress-core/partial_aggregates/last.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter::Product;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> fexpress-main/fexpress-core/partial_aggregates/max_consecutive_true.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> fexpress-main/fexpress-core/partial_aggregates/mode.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SubtractPartialAggregate`
[INFO] [stdout]  --> fexpress-main/fexpress-core/partial_aggregates/online_standard_deviation.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::partial_agg::{PartialAggregate, SubtractPartialAggregate};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> fexpress-main/fexpress-core/partial_aggregates/standard_deviation.rs:63:34
[INFO] [stdout]    |
[INFO] [stdout] 63 |             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stdout]    |                                  ^                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 63 -             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stdout] 63 +             .map(|(value, freq)| (value.into_inner() - mean).powi(2) * (*freq as FLOAT) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> fexpress-main/fexpress-core/partial_aggregates/variance.rs:64:34
[INFO] [stdout]    |
[INFO] [stdout] 64 |             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stdout]    |                                  ^                                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 64 -             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stdout] 64 +             .map(|(value, freq)| (value.into_inner() - mean).powi(2) * (*freq as FLOAT) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tests`
[INFO] [stdout]   --> fexpress-main/fexpress-core/utils.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[cfg(tests)]
[INFO] [stdout]    |       ^^^^^ help: there is a config with a similar name: `test`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/aggr.rs:190:39
[INFO] [stdout]     |
[INFO] [stdout] 190 |         start_dt: Some(NaiveDateTime::from_timestamp(0, 0)),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/aggr.rs:191:37
[INFO] [stdout]     |
[INFO] [stdout] 191 |         end_dt: Some(NaiveDateTime::from_timestamp(0, 0)),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]   --> fexpress-main/fexpress-core/datetime_utils.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 |         return Ok(date.and_hms(0, 0, 0));
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]   --> fexpress-main/fexpress-core/datetime_utils.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |     NaiveDateTime::from_timestamp(middle_timestamp, 0)
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::Local::today`: use `Local::now()` instead
[INFO] [stdout]   --> fexpress-main/fexpress-core/evaluation/date_common.rs:47:20
[INFO] [stdout]    |
[INFO] [stdout] 47 |     chrono::Local::today().naive_local()
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:466:36
[INFO] [stdout]     |
[INFO] [stdout] 466 |                         NaiveDate::from_ymd(dt.year() - 1, 12 - (3 - quarter_month_start), 1)
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:468:36
[INFO] [stdout]     |
[INFO] [stdout] 468 |                         NaiveDate::from_ymd(dt.year(), quarter_month_start - 3, 1)
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:470:60
[INFO] [stdout]     |
[INFO] [stdout] 470 |                     let end_date_last_quarter = NaiveDate::from_ymd(
[INFO] [stdout]     |                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:515:30
[INFO] [stdout]     |
[INFO] [stdout] 515 | ...                   .and_hms(0, 0, 0),
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:518:36
[INFO] [stdout]     |
[INFO] [stdout] 518 |                         NaiveDate::from_ymd(dt.year() - 1, dt.month(), dt.day())
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:519:30
[INFO] [stdout]     |
[INFO] [stdout] 519 | ...                   .and_hms(23, 59, 59),
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:553:36
[INFO] [stdout]     |
[INFO] [stdout] 553 |                         NaiveDate::from_ymd(dt.year() + 1, quarter_month_start - 9, 1)
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:555:36
[INFO] [stdout]     |
[INFO] [stdout] 555 |                         NaiveDate::from_ymd(dt.year(), quarter_month_start + 3, 1)
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:557:60
[INFO] [stdout]     |
[INFO] [stdout] 557 |                     let end_date_next_quarter = NaiveDate::from_ymd(
[INFO] [stdout]     |                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:602:30
[INFO] [stdout]     |
[INFO] [stdout] 602 | ...                   .and_hms(0, 0, 0),
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:607:30
[INFO] [stdout]     |
[INFO] [stdout] 607 | ...                   .and_hms(23, 59, 59),
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:734:47
[INFO] [stdout]     |
[INFO] [stdout] 734 |             .unwrap_or_else(|| NaiveDateTime::from_timestamp(0, 0))
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:744:47
[INFO] [stdout]     |
[INFO] [stdout] 744 |             .unwrap_or_else(|| NaiveDateTime::from_timestamp(0, 0))
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/value.rs:426:51
[INFO] [stdout]     |
[INFO] [stdout] 426 |             Value::DateTime(v) => Some(NaiveDate::from_ymd(v.year(), v.month(), v.day())),
[INFO] [stdout]     |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]   --> fexpress-main/fexpress-core/ast/core.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::hash::{Hash, Hasher};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stats::Stats`
[INFO] [stdout]   --> fexpress-main/fexpress-core/eval.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use crate::stats::Stats;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]   --> fexpress-main/fexpress-core/aggr.rs:93:18
[INFO] [stdout]    |
[INFO] [stdout] 93 |             for (ts, vs) in aggr_table_preaggr.range(interval_start_dt_safe..interval_end_dt_safe) {
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]    --> fexpress-main/fexpress-core/aggr.rs:111:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |                 for (ts, vs) in
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]    --> fexpress-main/fexpress-core/aggr.rs:121:26
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     for (ts, vs) in
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]    --> fexpress-main/fexpress-core/aggr.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 |                     for (ts, vs) in
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_config`
[INFO] [stdout]    --> fexpress-main/fexpress-core/eval.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let query_config = context.query_config;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:639:21
[INFO] [stdout]     |
[INFO] [stdout] 639 |                 let expr = Expr::from_str("date_add(date(obs_dt), 1)").unwrap();
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> fexpress-main/fexpress-core/obs_dates.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut observation_dates = match self {
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `groupby_eval` and `having_eval` are never read
[INFO] [stdout]   --> fexpress-main/fexpress-core/aggr.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct AggrEvalRow {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 25 |     pub aggr_eval: Value,
[INFO] [stdout] 26 |     pub groupby_eval: Option<Value>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub having_eval: Option<Value>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AggrEvalRow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_agg_using_partial_agg_backup` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/aggr.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn eval_agg_using_partial_agg_backup(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_immediate_dependents_depth` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/ast/simple_graph.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<N: Eq + Clone + std::hash::Hash + Debug> WeightedDirectedGraph<N> {
[INFO] [stdout]    | ---------------------------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn calculate_immediate_dependents_depth(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataFrame` is never constructed
[INFO] [stdout]   --> fexpress-main/fexpress-core/dataframe.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct DataFrame {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Row` is never constructed
[INFO] [stdout]   --> fexpress-main/fexpress-core/dataframe.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Row(Vec<Value>);
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/dataframe.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl DataFrame {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 19 |     // Create new DataFrame
[INFO] [stdout] 20 |     pub fn new(columns: Vec<String>, data: Vec<Vec<Value>>) -> DataFrame {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn head(&self, n: usize) -> DataFrame {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn tail(&self, n: usize) -> DataFrame {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn select_columns(&self, col_names: Vec<&str>) -> Option<DataFrame> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn display(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn col(&self, col_name: &str) -> Option<Series> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn drop_duplicates(&self, keys: Vec<&str>) -> Option<DataFrame> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Series` is never constructed
[INFO] [stdout]    --> fexpress-main/fexpress-core/dataframe.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct Series {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `sum` are never used
[INFO] [stdout]    --> fexpress-main/fexpress-core/dataframe.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Series {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn new(name: String, data: Vec<Value>) -> Series {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn sum(&self) -> FLOAT {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_utc_from_str` is never used
[INFO] [stdout]  --> fexpress-main/fexpress-core/datetime_utils.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn parse_utc_from_str(date_str: &str) -> NaiveDateTime {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `middle_datetime` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/datetime_utils.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn middle_datetime(datetime1: NaiveDateTime, datetime2: NaiveDateTime) -> NaiveDateTime {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bits_per_value` is never read
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct BitPackedFloatVec {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 72 |     values: BitVec,
[INFO] [stdout] 73 |     bits_per_value: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BitPackedFloatVec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bits_per_value` is never read
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct BitPackedIntVec {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout]  9 |     values: BitVec,
[INFO] [stdout] 10 |     bits_per_value: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BitPackedIntVec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryOperation` is never used
[INFO] [stdout]  --> fexpress-main/fexpress-core/event_store/column_event_store/logical_plan/mod.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum QueryOperation {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToCsvRow` is never used
[INFO] [stdout]  --> fexpress-main/fexpress-core/event_store/postgres/postgres_batch_insert.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | trait ToCsvRow<T> {
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `row_to_event`, `minimum_date`, and `maximum_date` are never used
[INFO] [stdout]    --> fexpress-main/fexpress-core/event_store/postgres/postgres_event_store.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl PostgresEventStore {
[INFO] [stdout]     | ----------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     fn row_to_event(_row: Row) -> Event {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn minimum_date() -> NaiveDateTime {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn maximum_date() -> NaiveDateTime {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_if_sorted` is never used
[INFO] [stdout]    --> fexpress-main/fexpress-core/obs_dates.rs:331:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl ObservationDatesConfig {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn check_if_sorted(&self, observation_dates: &mut ObservationDates) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `describe_rule` is never used
[INFO] [stdout]  --> fexpress-main/fexpress-core/parser/error_helper.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn describe_rule(pair: Pair<Rule>) -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rule_to_strings` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/parser/error_helper.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn rule_to_strings(pair: &Rule) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `friendly_pest_error` is never used
[INFO] [stdout]    --> fexpress-main/fexpress-core/parser/error_helper.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn friendly_pest_error(error: &Error<Rule>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_attrs` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/tests/test_utils.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn random_attrs(
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_events` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/tests/test_utils.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn generate_random_events(n: usize) -> Vec<Event> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> fexpress-main/fexpress-core/event_store/column_event_store/mod.rs:534:17
[INFO] [stdout]     |
[INFO] [stdout] 534 |                 last_block.encode();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 534 |                 let _ = last_block.encode();
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stdout] 22 +                     let value_as_int: UINT = unsafe { f32::to_bits(float_value.0) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:53:45
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 53 -                 let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stdout] 53 +                 let value: FLOAT = unsafe { f32::from_bits(value_as_int) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:82:47
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 82 -             let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stdout] 82 +             let value_as_int: UINT = unsafe { f32::to_bits(float_value.0) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:109:41
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 109 -             let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stdout] 109 +             let value: FLOAT = unsafe { f32::from_bits(value_as_int) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:19:48
[INFO] [stdout]    |
[INFO] [stdout] 19 |             let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 19 -             let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stdout] 19 +             let value_as_uint: UINT = unsafe { i32::cast_unsigned(int_value) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 46 -             let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stdout] 46 +             let value: INT = unsafe { u32::cast_signed(value_as_uint) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:75:56
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 75 -                     let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stdout] 75 +                     let value_as_uint: UINT = unsafe { i32::cast_unsigned(int_value) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:106:43
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 106 -                 let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stdout] 106 +                 let value: INT = unsafe { u32::cast_signed(value_as_uint) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fexpress v0.0.6 (/opt/rustwide/workdir/fexpress-py)
[INFO] [stdout] warning: unused import: `fexpress_core::naive_aggregate_funcs::stdev`
[INFO] [stdout]  --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fexpress_core::naive_aggregate_funcs::stdev;
[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::iter`
[INFO] [stdout]  --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregates_no_chunking`
[INFO] [stdout]    --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let aggregates_no_chunking = calculate_aggregates_no_chunking(vec, window_size, step_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregates_no_chunking`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_vector` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn generate_random_vector(n: usize) -> Vec<FLOAT> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_vector` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn chunk_vector(vec: &[FLOAT], chunk_size: usize) -> Vec<Vec<FLOAT>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_partial_aggregates` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn calculate_partial_aggregates(chunks: &[Vec<FLOAT>]) -> Vec<OnlineStandardDeviation> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_aggregates` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn calculate_aggregates(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_aggregates_no_chunking` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn calculate_aggregates_no_chunking(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_chunk_sizes` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn evaluate_chunk_sizes(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn main() {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fexpress_core::naive_aggregate_funcs::stdev`
[INFO] [stdout]  --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fexpress_core::naive_aggregate_funcs::stdev;
[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::iter`
[INFO] [stdout]  --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregates_no_chunking`
[INFO] [stdout]    --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let aggregates_no_chunking = calculate_aggregates_no_chunking(vec, window_size, step_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregates_no_chunking`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> fexpress-py/src/lib.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         self.event_context.new_event(event);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let _ = self.event_context.new_event(event);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 58s
[INFO] running `Command { std: "docker" "inspect" "a0aa608176f285ef76a244486ffcdd62aeb8afc761bdba5f092e25d1536016a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a0aa608176f285ef76a244486ffcdd62aeb8afc761bdba5f092e25d1536016a4", kill_on_drop: false }`
[INFO] [stdout] a0aa608176f285ef76a244486ffcdd62aeb8afc761bdba5f092e25d1536016a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0d921e0d6f0a9d63d4d4c9a4f9e90d69908cce89786148e01eefddbee7263fe9
[INFO] running `Command { std: "docker" "start" "-a" "0d921e0d6f0a9d63d4d4c9a4f9e90d69908cce89786148e01eefddbee7263fe9", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling semver v1.0.18
[INFO] [stderr]    Compiling fexpress-derive v0.0.6 (/opt/rustwide/workdir/fexpress-main/fexpress-derive)
[INFO] [stderr]    Compiling plotters-backend v0.3.5
[INFO] [stderr]    Compiling clap_lex v0.5.0
[INFO] [stderr]    Compiling ciborium-io v0.2.1
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling anstyle v1.0.1
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling futures-executor v0.3.28
[INFO] [stderr]    Compiling clap_builder v4.3.21
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling plotters-svg v0.3.5
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling relative-path v1.8.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.1
[INFO] [stderr]    Compiling plotters v0.3.5
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling futures v0.3.28
[INFO] [stderr]    Compiling walkdir v2.3.3
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling ciborium v0.2.1
[INFO] [stderr]    Compiling rstest_macros v0.18.1
[INFO] [stderr]    Compiling rstest_reuse v0.6.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling serial_test_derive v0.5.1
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling futures-timer v3.0.2
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling serial_test v0.5.1
[INFO] [stderr]    Compiling fexpress-main v0.0.6 (/opt/rustwide/workdir/fexpress-main)
[INFO] [stdout] warning: unused import: `INT`
[INFO] [stdout]   --> fexpress-main/fexpress-core/eval.rs:40:48
[INFO] [stdout]    |
[INFO] [stdout] 40 | use crate::types::{Entities, Timestamp, FLOAT, INT};
[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: `crate::sstring::SmallString`
[INFO] [stdout]  --> fexpress-main/fexpress-core/features_rewrite.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::sstring::SmallString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::Entities`
[INFO] [stdout]   --> fexpress-main/fexpress-core/features_rewrite.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::Entities;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParseError`
[INFO] [stdout]   --> fexpress-main/fexpress-core/parser/expr_parser.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 | use strum::{IntoEnumIterator, ParseError};
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum_macros::EnumString`
[INFO] [stdout]   --> fexpress-main/fexpress-core/parser/expr_parser.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use strum_macros::EnumString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FLOAT`
[INFO] [stdout]   --> fexpress-main/fexpress-core/partial_agg.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::types::{FLOAT, INT};
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::FLOAT`
[INFO] [stdout]  --> fexpress-main/fexpress-core/partial_aggregates/count.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::FLOAT;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Product`
[INFO] [stdout]  --> fexpress-main/fexpress-core/partial_aggregates/last.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter::Product;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> fexpress-main/fexpress-core/partial_aggregates/max_consecutive_true.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> fexpress-main/fexpress-core/partial_aggregates/mode.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SubtractPartialAggregate`
[INFO] [stdout]  --> fexpress-main/fexpress-core/partial_aggregates/online_standard_deviation.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::partial_agg::{PartialAggregate, SubtractPartialAggregate};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> fexpress-main/fexpress-core/partial_aggregates/standard_deviation.rs:63:34
[INFO] [stdout]    |
[INFO] [stdout] 63 |             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stdout]    |                                  ^                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 63 -             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stdout] 63 +             .map(|(value, freq)| (value.into_inner() - mean).powi(2) * (*freq as FLOAT) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> fexpress-main/fexpress-core/partial_aggregates/variance.rs:64:34
[INFO] [stdout]    |
[INFO] [stdout] 64 |             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stdout]    |                                  ^                                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 64 -             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stdout] 64 +             .map(|(value, freq)| (value.into_inner() - mean).powi(2) * (*freq as FLOAT) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tests`
[INFO] [stdout]   --> fexpress-main/fexpress-core/utils.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[cfg(tests)]
[INFO] [stdout]    |       ^^^^^ help: there is a config with a similar name: `test`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/aggr.rs:190:39
[INFO] [stdout]     |
[INFO] [stdout] 190 |         start_dt: Some(NaiveDateTime::from_timestamp(0, 0)),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/aggr.rs:191:37
[INFO] [stdout]     |
[INFO] [stdout] 191 |         end_dt: Some(NaiveDateTime::from_timestamp(0, 0)),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]   --> fexpress-main/fexpress-core/datetime_utils.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 |         return Ok(date.and_hms(0, 0, 0));
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]   --> fexpress-main/fexpress-core/datetime_utils.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |     NaiveDateTime::from_timestamp(middle_timestamp, 0)
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clap v4.3.21
[INFO] [stdout] warning: use of deprecated associated function `chrono::Local::today`: use `Local::now()` instead
[INFO] [stdout]   --> fexpress-main/fexpress-core/evaluation/date_common.rs:47:20
[INFO] [stdout]    |
[INFO] [stdout] 47 |     chrono::Local::today().naive_local()
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling rstest v0.18.1
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:466:36
[INFO] [stdout]     |
[INFO] [stdout] 466 |                         NaiveDate::from_ymd(dt.year() - 1, 12 - (3 - quarter_month_start), 1)
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:468:36
[INFO] [stdout]     |
[INFO] [stdout] 468 |                         NaiveDate::from_ymd(dt.year(), quarter_month_start - 3, 1)
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:470:60
[INFO] [stdout]     |
[INFO] [stdout] 470 |                     let end_date_last_quarter = NaiveDate::from_ymd(
[INFO] [stdout]     |                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:515:30
[INFO] [stdout]     |
[INFO] [stdout] 515 | ...                   .and_hms(0, 0, 0),
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:518:36
[INFO] [stdout]     |
[INFO] [stdout] 518 |                         NaiveDate::from_ymd(dt.year() - 1, dt.month(), dt.day())
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:519:30
[INFO] [stdout]     |
[INFO] [stdout] 519 | ...                   .and_hms(23, 59, 59),
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:553:36
[INFO] [stdout]     |
[INFO] [stdout] 553 |                         NaiveDate::from_ymd(dt.year() + 1, quarter_month_start - 9, 1)
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:555:36
[INFO] [stdout]     |
[INFO] [stdout] 555 |                         NaiveDate::from_ymd(dt.year(), quarter_month_start + 3, 1)
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:557:60
[INFO] [stdout]     |
[INFO] [stdout] 557 |                     let end_date_next_quarter = NaiveDate::from_ymd(
[INFO] [stdout]     |                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:602:30
[INFO] [stdout]     |
[INFO] [stdout] 602 | ...                   .and_hms(0, 0, 0),
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:607:30
[INFO] [stdout]     |
[INFO] [stdout] 607 | ...                   .and_hms(23, 59, 59),
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:734:47
[INFO] [stdout]     |
[INFO] [stdout] 734 |             .unwrap_or_else(|| NaiveDateTime::from_timestamp(0, 0))
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:744:47
[INFO] [stdout]     |
[INFO] [stdout] 744 |             .unwrap_or_else(|| NaiveDateTime::from_timestamp(0, 0))
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]    --> fexpress-main/fexpress-core/value.rs:426:51
[INFO] [stdout]     |
[INFO] [stdout] 426 |             Value::DateTime(v) => Some(NaiveDate::from_ymd(v.year(), v.month(), v.day())),
[INFO] [stdout]     |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]   --> fexpress-main/fexpress-core/ast/core.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::hash::{Hash, Hasher};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stats::Stats`
[INFO] [stdout]   --> fexpress-main/fexpress-core/eval.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use crate::stats::Stats;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]   --> fexpress-main/fexpress-core/aggr.rs:93:18
[INFO] [stdout]    |
[INFO] [stdout] 93 |             for (ts, vs) in aggr_table_preaggr.range(interval_start_dt_safe..interval_end_dt_safe) {
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]    --> fexpress-main/fexpress-core/aggr.rs:111:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |                 for (ts, vs) in
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]    --> fexpress-main/fexpress-core/aggr.rs:121:26
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     for (ts, vs) in
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]    --> fexpress-main/fexpress-core/aggr.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 |                     for (ts, vs) in
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_config`
[INFO] [stdout]    --> fexpress-main/fexpress-core/eval.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let query_config = context.query_config;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> fexpress-main/fexpress-core/interval.rs:639:21
[INFO] [stdout]     |
[INFO] [stdout] 639 |                 let expr = Expr::from_str("date_add(date(obs_dt), 1)").unwrap();
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> fexpress-main/fexpress-core/obs_dates.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut observation_dates = match self {
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `groupby_eval` and `having_eval` are never read
[INFO] [stdout]   --> fexpress-main/fexpress-core/aggr.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct AggrEvalRow {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 25 |     pub aggr_eval: Value,
[INFO] [stdout] 26 |     pub groupby_eval: Option<Value>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub having_eval: Option<Value>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AggrEvalRow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_agg_using_partial_agg_backup` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/aggr.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn eval_agg_using_partial_agg_backup(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_immediate_dependents_depth` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/ast/simple_graph.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<N: Eq + Clone + std::hash::Hash + Debug> WeightedDirectedGraph<N> {
[INFO] [stdout]    | ---------------------------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn calculate_immediate_dependents_depth(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataFrame` is never constructed
[INFO] [stdout]   --> fexpress-main/fexpress-core/dataframe.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct DataFrame {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Row` is never constructed
[INFO] [stdout]   --> fexpress-main/fexpress-core/dataframe.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Row(Vec<Value>);
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/dataframe.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl DataFrame {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 19 |     // Create new DataFrame
[INFO] [stdout] 20 |     pub fn new(columns: Vec<String>, data: Vec<Vec<Value>>) -> DataFrame {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn head(&self, n: usize) -> DataFrame {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn tail(&self, n: usize) -> DataFrame {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn select_columns(&self, col_names: Vec<&str>) -> Option<DataFrame> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn display(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn col(&self, col_name: &str) -> Option<Series> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn drop_duplicates(&self, keys: Vec<&str>) -> Option<DataFrame> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Series` is never constructed
[INFO] [stdout]    --> fexpress-main/fexpress-core/dataframe.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct Series {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `sum` are never used
[INFO] [stdout]    --> fexpress-main/fexpress-core/dataframe.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Series {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn new(name: String, data: Vec<Value>) -> Series {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn sum(&self) -> FLOAT {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_utc_from_str` is never used
[INFO] [stdout]  --> fexpress-main/fexpress-core/datetime_utils.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn parse_utc_from_str(date_str: &str) -> NaiveDateTime {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `middle_datetime` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/datetime_utils.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn middle_datetime(datetime1: NaiveDateTime, datetime2: NaiveDateTime) -> NaiveDateTime {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bits_per_value` is never read
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct BitPackedFloatVec {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 72 |     values: BitVec,
[INFO] [stdout] 73 |     bits_per_value: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BitPackedFloatVec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bits_per_value` is never read
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct BitPackedIntVec {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout]  9 |     values: BitVec,
[INFO] [stdout] 10 |     bits_per_value: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BitPackedIntVec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryOperation` is never used
[INFO] [stdout]  --> fexpress-main/fexpress-core/event_store/column_event_store/logical_plan/mod.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum QueryOperation {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToCsvRow` is never used
[INFO] [stdout]  --> fexpress-main/fexpress-core/event_store/postgres/postgres_batch_insert.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | trait ToCsvRow<T> {
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `row_to_event`, `minimum_date`, and `maximum_date` are never used
[INFO] [stdout]    --> fexpress-main/fexpress-core/event_store/postgres/postgres_event_store.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl PostgresEventStore {
[INFO] [stdout]     | ----------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     fn row_to_event(_row: Row) -> Event {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn minimum_date() -> NaiveDateTime {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn maximum_date() -> NaiveDateTime {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_if_sorted` is never used
[INFO] [stdout]    --> fexpress-main/fexpress-core/obs_dates.rs:331:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl ObservationDatesConfig {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn check_if_sorted(&self, observation_dates: &mut ObservationDates) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `describe_rule` is never used
[INFO] [stdout]  --> fexpress-main/fexpress-core/parser/error_helper.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn describe_rule(pair: Pair<Rule>) -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rule_to_strings` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/parser/error_helper.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn rule_to_strings(pair: &Rule) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `friendly_pest_error` is never used
[INFO] [stdout]    --> fexpress-main/fexpress-core/parser/error_helper.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn friendly_pest_error(error: &Error<Rule>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_attrs` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/tests/test_utils.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn random_attrs(
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_events` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/tests/test_utils.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn generate_random_events(n: usize) -> Vec<Event> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> fexpress-main/fexpress-core/event_store/column_event_store/mod.rs:534:17
[INFO] [stdout]     |
[INFO] [stdout] 534 |                 last_block.encode();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 534 |                 let _ = last_block.encode();
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stdout] 22 +                     let value_as_int: UINT = unsafe { f32::to_bits(float_value.0) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:53:45
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 53 -                 let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stdout] 53 +                 let value: FLOAT = unsafe { f32::from_bits(value_as_int) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:82:47
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 82 -             let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stdout] 82 +             let value_as_int: UINT = unsafe { f32::to_bits(float_value.0) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:109:41
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 109 -             let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stdout] 109 +             let value: FLOAT = unsafe { f32::from_bits(value_as_int) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:19:48
[INFO] [stdout]    |
[INFO] [stdout] 19 |             let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 19 -             let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stdout] 19 +             let value_as_uint: UINT = unsafe { i32::cast_unsigned(int_value) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |             let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 46 -             let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stdout] 46 +             let value: INT = unsafe { u32::cast_signed(value_as_uint) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:75:56
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 75 -                     let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stdout] 75 +                     let value_as_uint: UINT = unsafe { i32::cast_unsigned(int_value) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:106:43
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 106 -                 let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stdout] 106 +                 let value: INT = unsafe { u32::cast_signed(value_as_uint) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fexpress v0.0.6 (/opt/rustwide/workdir/fexpress-py)
[INFO] [stdout] warning: unused import: `fexpress_core::naive_aggregate_funcs::stdev`
[INFO] [stdout]  --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fexpress_core::naive_aggregate_funcs::stdev;
[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::iter`
[INFO] [stdout]  --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fexpress_core::naive_aggregate_funcs::stdev`
[INFO] [stdout]  --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fexpress_core::naive_aggregate_funcs::stdev;
[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::iter`
[INFO] [stdout]  --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregates_no_chunking`
[INFO] [stdout]    --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let aggregates_no_chunking = calculate_aggregates_no_chunking(vec, window_size, step_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregates_no_chunking`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_vector` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn generate_random_vector(n: usize) -> Vec<FLOAT> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_vector` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn chunk_vector(vec: &[FLOAT], chunk_size: usize) -> Vec<Vec<FLOAT>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_partial_aggregates` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn calculate_partial_aggregates(chunks: &[Vec<FLOAT>]) -> Vec<OnlineStandardDeviation> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_aggregates` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn calculate_aggregates(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_aggregates_no_chunking` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn calculate_aggregates_no_chunking(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_chunk_sizes` is never used
[INFO] [stdout]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn evaluate_chunk_sizes(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn main() {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregates_no_chunking`
[INFO] [stdout]    --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let aggregates_no_chunking = calculate_aggregates_no_chunking(vec, window_size, step_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregates_no_chunking`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> fexpress-py/src/lib.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         self.event_context.new_event(event);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let _ = self.event_context.new_event(event);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 56.73s
[INFO] running `Command { std: "docker" "inspect" "0d921e0d6f0a9d63d4d4c9a4f9e90d69908cce89786148e01eefddbee7263fe9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0d921e0d6f0a9d63d4d4c9a4f9e90d69908cce89786148e01eefddbee7263fe9", kill_on_drop: false }`
[INFO] [stdout] 0d921e0d6f0a9d63d4d4c9a4f9e90d69908cce89786148e01eefddbee7263fe9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1a1404e90f2c1fc673361c9ab12ed0893fd81e194610cb097f0f073a19d16c96
[INFO] running `Command { std: "docker" "start" "-a" "1a1404e90f2c1fc673361c9ab12ed0893fd81e194610cb097f0f073a19d16c96", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: unused import: `INT`
[INFO] [stderr]   --> fexpress-main/fexpress-core/eval.rs:40:48
[INFO] [stderr]    |
[INFO] [stderr] 40 | use crate::types::{Entities, Timestamp, FLOAT, INT};
[INFO] [stderr]    |                                                ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::sstring::SmallString`
[INFO] [stderr]  --> fexpress-main/fexpress-core/features_rewrite.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::sstring::SmallString;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::types::Entities`
[INFO] [stderr]   --> fexpress-main/fexpress-core/features_rewrite.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::types::Entities;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParseError`
[INFO] [stderr]   --> fexpress-main/fexpress-core/parser/expr_parser.rs:19:31
[INFO] [stderr]    |
[INFO] [stderr] 19 | use strum::{IntoEnumIterator, ParseError};
[INFO] [stderr]    |                               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `strum_macros::EnumString`
[INFO] [stderr]   --> fexpress-main/fexpress-core/parser/expr_parser.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use strum_macros::EnumString;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `FLOAT`
[INFO] [stderr]   --> fexpress-main/fexpress-core/partial_agg.rs:18:20
[INFO] [stderr]    |
[INFO] [stderr] 18 | use crate::types::{FLOAT, INT};
[INFO] [stderr]    |                    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::types::FLOAT`
[INFO] [stderr]  --> fexpress-main/fexpress-core/partial_aggregates/count.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::types::FLOAT;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::Product`
[INFO] [stderr]  --> fexpress-main/fexpress-core/partial_aggregates/last.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::iter::Product;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::VecDeque`
[INFO] [stderr]  --> fexpress-main/fexpress-core/partial_aggregates/max_consecutive_true.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::VecDeque;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> fexpress-main/fexpress-core/partial_aggregates/mode.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SubtractPartialAggregate`
[INFO] [stderr]  --> fexpress-main/fexpress-core/partial_aggregates/online_standard_deviation.rs:1:44
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::partial_agg::{PartialAggregate, SubtractPartialAggregate};
[INFO] [stderr]   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around closure body
[INFO] [stderr]   --> fexpress-main/fexpress-core/partial_aggregates/standard_deviation.rs:63:34
[INFO] [stderr]    |
[INFO] [stderr] 63 |             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stderr]    |                                  ^                                                      ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 63 -             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stderr] 63 +             .map(|(value, freq)| (value.into_inner() - mean).powi(2) * (*freq as FLOAT) )
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around closure body
[INFO] [stderr]   --> fexpress-main/fexpress-core/partial_aggregates/variance.rs:64:34
[INFO] [stderr]    |
[INFO] [stderr] 64 |             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stderr]    |                                  ^                                                      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 64 -             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stderr] 64 +             .map(|(value, freq)| (value.into_inner() - mean).powi(2) * (*freq as FLOAT) )
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `tests`
[INFO] [stderr]   --> fexpress-main/fexpress-core/utils.rs:75:7
[INFO] [stderr]    |
[INFO] [stderr] 75 | #[cfg(tests)]
[INFO] [stderr]    |       ^^^^^ help: there is a config with a similar name: `test`
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/aggr.rs:190:39
[INFO] [stderr]     |
[INFO] [stderr] 190 |         start_dt: Some(NaiveDateTime::from_timestamp(0, 0)),
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/aggr.rs:191:37
[INFO] [stderr]     |
[INFO] [stderr] 191 |         end_dt: Some(NaiveDateTime::from_timestamp(0, 0)),
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stderr]   --> fexpress-main/fexpress-core/datetime_utils.rs:80:24
[INFO] [stderr]    |
[INFO] [stderr] 80 |         return Ok(date.and_hms(0, 0, 0));
[INFO] [stderr]    |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stderr]   --> fexpress-main/fexpress-core/datetime_utils.rs:95:20
[INFO] [stderr]    |
[INFO] [stderr] 95 |     NaiveDateTime::from_timestamp(middle_timestamp, 0)
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::Local::today`: use `Local::now()` instead
[INFO] [stderr]   --> fexpress-main/fexpress-core/evaluation/date_common.rs:47:20
[INFO] [stderr]    |
[INFO] [stderr] 47 |     chrono::Local::today().naive_local()
[INFO] [stderr]    |                    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:466:36
[INFO] [stderr]     |
[INFO] [stderr] 466 |                         NaiveDate::from_ymd(dt.year() - 1, 12 - (3 - quarter_month_start), 1)
[INFO] [stderr]     |                                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:468:36
[INFO] [stderr]     |
[INFO] [stderr] 468 |                         NaiveDate::from_ymd(dt.year(), quarter_month_start - 3, 1)
[INFO] [stderr]     |                                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:470:60
[INFO] [stderr]     |
[INFO] [stderr] 470 |                     let end_date_last_quarter = NaiveDate::from_ymd(
[INFO] [stderr]     |                                                            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:515:30
[INFO] [stderr]     |
[INFO] [stderr] 515 | ...                   .and_hms(0, 0, 0),
[INFO] [stderr]     |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:518:36
[INFO] [stderr]     |
[INFO] [stderr] 518 |                         NaiveDate::from_ymd(dt.year() - 1, dt.month(), dt.day())
[INFO] [stderr]     |                                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:519:30
[INFO] [stderr]     |
[INFO] [stderr] 519 | ...                   .and_hms(23, 59, 59),
[INFO] [stderr]     |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:553:36
[INFO] [stderr]     |
[INFO] [stderr] 553 |                         NaiveDate::from_ymd(dt.year() + 1, quarter_month_start - 9, 1)
[INFO] [stderr]     |                                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:555:36
[INFO] [stderr]     |
[INFO] [stderr] 555 |                         NaiveDate::from_ymd(dt.year(), quarter_month_start + 3, 1)
[INFO] [stderr]     |                                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:557:60
[INFO] [stderr]     |
[INFO] [stderr] 557 |                     let end_date_next_quarter = NaiveDate::from_ymd(
[INFO] [stderr]     |                                                            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:602:30
[INFO] [stderr]     |
[INFO] [stderr] 602 | ...                   .and_hms(0, 0, 0),
[INFO] [stderr]     |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:607:30
[INFO] [stderr]     |
[INFO] [stderr] 607 | ...                   .and_hms(23, 59, 59),
[INFO] [stderr]     |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:734:47
[INFO] [stderr]     |
[INFO] [stderr] 734 |             .unwrap_or_else(|| NaiveDateTime::from_timestamp(0, 0))
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:744:47
[INFO] [stderr]     |
[INFO] [stderr] 744 |             .unwrap_or_else(|| NaiveDateTime::from_timestamp(0, 0))
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stderr]    --> fexpress-main/fexpress-core/value.rs:426:51
[INFO] [stderr]     |
[INFO] [stderr] 426 |             Value::DateTime(v) => Some(NaiveDate::from_ymd(v.year(), v.month(), v.day())),
[INFO] [stderr]     |                                                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Hasher`
[INFO] [stderr]   --> fexpress-main/fexpress-core/ast/core.rs:24:23
[INFO] [stderr]    |
[INFO] [stderr] 24 | use std::hash::{Hash, Hasher};
[INFO] [stderr]    |                       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::stats::Stats`
[INFO] [stderr]   --> fexpress-main/fexpress-core/eval.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 | use crate::stats::Stats;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ts`
[INFO] [stderr]   --> fexpress-main/fexpress-core/aggr.rs:93:18
[INFO] [stderr]    |
[INFO] [stderr] 93 |             for (ts, vs) in aggr_table_preaggr.range(interval_start_dt_safe..interval_end_dt_safe) {
[INFO] [stderr]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ts`
[INFO] [stderr]    --> fexpress-main/fexpress-core/aggr.rs:111:22
[INFO] [stderr]     |
[INFO] [stderr] 111 |                 for (ts, vs) in
[INFO] [stderr]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ts`
[INFO] [stderr]    --> fexpress-main/fexpress-core/aggr.rs:121:26
[INFO] [stderr]     |
[INFO] [stderr] 121 |                     for (ts, vs) in
[INFO] [stderr]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ts`
[INFO] [stderr]    --> fexpress-main/fexpress-core/aggr.rs:128:26
[INFO] [stderr]     |
[INFO] [stderr] 128 |                     for (ts, vs) in
[INFO] [stderr]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `query_config`
[INFO] [stderr]    --> fexpress-main/fexpress-core/eval.rs:122:9
[INFO] [stderr]     |
[INFO] [stderr] 122 |     let query_config = context.query_config;
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]    --> fexpress-main/fexpress-core/interval.rs:639:21
[INFO] [stderr]     |
[INFO] [stderr] 639 |                 let expr = Expr::from_str("date_add(date(obs_dt), 1)").unwrap();
[INFO] [stderr]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> fexpress-main/fexpress-core/obs_dates.rs:200:13
[INFO] [stderr]     |
[INFO] [stderr] 200 |         let mut observation_dates = match self {
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `groupby_eval` and `having_eval` are never read
[INFO] [stderr]   --> fexpress-main/fexpress-core/aggr.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 24 | struct AggrEvalRow {
[INFO] [stderr]    |        ----------- fields in this struct
[INFO] [stderr] 25 |     pub aggr_eval: Value,
[INFO] [stderr] 26 |     pub groupby_eval: Option<Value>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 27 |     pub having_eval: Option<Value>,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AggrEvalRow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_agg_using_partial_agg_backup` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/aggr.rs:35:8
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub fn eval_agg_using_partial_agg_backup(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `calculate_immediate_dependents_depth` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/ast/simple_graph.rs:61:8
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl<N: Eq + Clone + std::hash::Hash + Debug> WeightedDirectedGraph<N> {
[INFO] [stderr]    | ---------------------------------------------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 61 |     fn calculate_immediate_dependents_depth(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DataFrame` is never constructed
[INFO] [stderr]   --> fexpress-main/fexpress-core/dataframe.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct DataFrame {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Row` is never constructed
[INFO] [stderr]   --> fexpress-main/fexpress-core/dataframe.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | struct Row(Vec<Value>);
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/dataframe.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl DataFrame {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 19 |     // Create new DataFrame
[INFO] [stderr] 20 |     pub fn new(columns: Vec<String>, data: Vec<Vec<Value>>) -> DataFrame {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn head(&self, n: usize) -> DataFrame {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |     pub fn tail(&self, n: usize) -> DataFrame {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn select_columns(&self, col_names: Vec<&str>) -> Option<DataFrame> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     pub fn display(&self) {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub fn col(&self, col_name: &str) -> Option<Series> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 85 |     pub fn drop_duplicates(&self, keys: Vec<&str>) -> Option<DataFrame> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Series` is never constructed
[INFO] [stderr]    --> fexpress-main/fexpress-core/dataframe.rs:109:12
[INFO] [stderr]     |
[INFO] [stderr] 109 | pub struct Series {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `sum` are never used
[INFO] [stderr]    --> fexpress-main/fexpress-core/dataframe.rs:115:12
[INFO] [stderr]     |
[INFO] [stderr] 114 | impl Series {
[INFO] [stderr]     | ----------- associated items in this implementation
[INFO] [stderr] 115 |     pub fn new(name: String, data: Vec<Value>) -> Series {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 |     pub fn sum(&self) -> FLOAT {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_utc_from_str` is never used
[INFO] [stderr]  --> fexpress-main/fexpress-core/datetime_utils.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn parse_utc_from_str(date_str: &str) -> NaiveDateTime {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `middle_datetime` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/datetime_utils.rs:87:8
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub fn middle_datetime(datetime1: NaiveDateTime, datetime2: NaiveDateTime) -> NaiveDateTime {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `bits_per_value` is never read
[INFO] [stderr]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub struct BitPackedFloatVec {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] 72 |     values: BitVec,
[INFO] [stderr] 73 |     bits_per_value: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BitPackedFloatVec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `bits_per_value` is never read
[INFO] [stderr]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct BitPackedIntVec {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr]  9 |     values: BitVec,
[INFO] [stderr] 10 |     bits_per_value: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BitPackedIntVec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `QueryOperation` is never used
[INFO] [stderr]  --> fexpress-main/fexpress-core/event_store/column_event_store/logical_plan/mod.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub enum QueryOperation {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ToCsvRow` is never used
[INFO] [stderr]  --> fexpress-main/fexpress-core/event_store/postgres/postgres_batch_insert.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 | trait ToCsvRow<T> {
[INFO] [stderr]   |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `row_to_event`, `minimum_date`, and `maximum_date` are never used
[INFO] [stderr]    --> fexpress-main/fexpress-core/event_store/postgres/postgres_event_store.rs:154:8
[INFO] [stderr]     |
[INFO] [stderr]  52 | impl PostgresEventStore {
[INFO] [stderr]     | ----------------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 154 |     fn row_to_event(_row: Row) -> Event {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 201 |     fn minimum_date() -> NaiveDateTime {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 205 |     fn maximum_date() -> NaiveDateTime {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `check_if_sorted` is never used
[INFO] [stderr]    --> fexpress-main/fexpress-core/obs_dates.rs:331:8
[INFO] [stderr]     |
[INFO] [stderr] 176 | impl ObservationDatesConfig {
[INFO] [stderr]     | --------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 331 |     fn check_if_sorted(&self, observation_dates: &mut ObservationDates) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `describe_rule` is never used
[INFO] [stderr]  --> fexpress-main/fexpress-core/parser/error_helper.rs:7:4
[INFO] [stderr]   |
[INFO] [stderr] 7 | fn describe_rule(pair: Pair<Rule>) -> String {
[INFO] [stderr]   |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rule_to_strings` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/parser/error_helper.rs:54:4
[INFO] [stderr]    |
[INFO] [stderr] 54 | fn rule_to_strings(pair: &Rule) -> Vec<String> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `friendly_pest_error` is never used
[INFO] [stderr]    --> fexpress-main/fexpress-core/parser/error_helper.rs:105:8
[INFO] [stderr]     |
[INFO] [stderr] 105 | pub fn friendly_pest_error(error: &Error<Rule>) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `random_attrs` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/tests/test_utils.rs:19:4
[INFO] [stderr]    |
[INFO] [stderr] 19 | fn random_attrs(
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_random_events` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/tests/test_utils.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub fn generate_random_events(n: usize) -> Vec<Event> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> fexpress-main/fexpress-core/event_store/column_event_store/mod.rs:534:17
[INFO] [stderr]     |
[INFO] [stderr] 534 |                 last_block.encode();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 534 |                 let _ = last_block.encode();
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:22:55
[INFO] [stderr]    |
[INFO] [stderr] 22 |                     let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stderr]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 22 -                     let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stderr] 22 +                     let value_as_int: UINT = unsafe { f32::to_bits(float_value.0) };
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:53:45
[INFO] [stderr]    |
[INFO] [stderr] 53 |                 let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 53 -                 let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stderr] 53 +                 let value: FLOAT = unsafe { f32::from_bits(value_as_int) };
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:82:47
[INFO] [stderr]    |
[INFO] [stderr] 82 |             let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 82 -             let value_as_int: UINT = unsafe { std::mem::transmute(float_value.0) };
[INFO] [stderr] 82 +             let value_as_int: UINT = unsafe { f32::to_bits(float_value.0) };
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_float.rs:109:41
[INFO] [stderr]     |
[INFO] [stderr] 109 |             let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: replace this with
[INFO] [stderr]     |
[INFO] [stderr] 109 -             let value: FLOAT = unsafe { std::mem::transmute(value_as_int) };
[INFO] [stderr] 109 +             let value: FLOAT = unsafe { f32::from_bits(value_as_int) };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:19:48
[INFO] [stderr]    |
[INFO] [stderr] 19 |             let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 19 -             let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stderr] 19 +             let value_as_uint: UINT = unsafe { i32::cast_unsigned(int_value) };
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:46:39
[INFO] [stderr]    |
[INFO] [stderr] 46 |             let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 46 -             let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stderr] 46 +             let value: INT = unsafe { u32::cast_signed(value_as_uint) };
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:75:56
[INFO] [stderr]    |
[INFO] [stderr] 75 |                     let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stderr]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 75 -                     let value_as_uint: UINT = unsafe { std::mem::transmute(int_value) };
[INFO] [stderr] 75 +                     let value_as_uint: UINT = unsafe { i32::cast_unsigned(int_value) };
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> fexpress-main/fexpress-core/event_store/column_event_store/encoding/bitpacking_int.rs:106:43
[INFO] [stderr]     |
[INFO] [stderr] 106 |                 let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: replace this with
[INFO] [stderr]     |
[INFO] [stderr] 106 -                 let value: INT = unsafe { std::mem::transmute(value_as_uint) };
[INFO] [stderr] 106 +                 let value: INT = unsafe { u32::cast_signed(value_as_uint) };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `fexpress-main` (lib) generated 72 warnings (run `cargo fix --lib -p fexpress-main` to apply 28 suggestions)
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> fexpress-py/src/lib.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |         self.event_context.new_event(event);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let _ = self.event_context.new_event(event);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `fexpress` (lib test) generated 1 warning
[INFO] [stderr] warning: unused import: `fexpress_core::naive_aggregate_funcs::stdev`
[INFO] [stderr]  --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use fexpress_core::naive_aggregate_funcs::stdev;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter`
[INFO] [stderr]  --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::iter;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `aggregates_no_chunking`
[INFO] [stderr]    --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:101:9
[INFO] [stderr]     |
[INFO] [stderr] 101 |     let aggregates_no_chunking = calculate_aggregates_no_chunking(vec, window_size, step_size);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregates_no_chunking`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_random_vector` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:11:4
[INFO] [stderr]    |
[INFO] [stderr] 11 | fn generate_random_vector(n: usize) -> Vec<FLOAT> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `chunk_vector` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn chunk_vector(vec: &[FLOAT], chunk_size: usize) -> Vec<Vec<FLOAT>> {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_partial_aggregates` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:22:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | fn calculate_partial_aggregates(chunks: &[Vec<FLOAT>]) -> Vec<OnlineStandardDeviation> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_aggregates` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:36:4
[INFO] [stderr]    |
[INFO] [stderr] 36 | fn calculate_aggregates(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_aggregates_no_chunking` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:75:4
[INFO] [stderr]    |
[INFO] [stderr] 75 | fn calculate_aggregates_no_chunking(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `evaluate_chunk_sizes` is never used
[INFO] [stderr]   --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:94:4
[INFO] [stderr]    |
[INFO] [stderr] 94 | fn evaluate_chunk_sizes(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `main` is never used
[INFO] [stderr]    --> fexpress-main/fexpress-core/bin/chunk_benchmark.rs:121:8
[INFO] [stderr]     |
[INFO] [stderr] 121 | pub fn main() {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `fexpress-main` (bin "chunk_benchmark" test) generated 3 warnings (run `cargo fix --bin "chunk_benchmark" -p fexpress-main --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `fexpress-main` (bin "generate_json_schemas" test) generated 10 warnings (3 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.42s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fexpress-85bc331e9a0fef35)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fexpress_derive-2c238fa1d7e02af4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests fexpress-core/lib.rs (/opt/rustwide/target/debug/deps/fexpress_core-744ff1ae92725867)
[INFO] [stdout] 
[INFO] [stdout] running 268 tests
[INFO] [stdout] test algo::intersect::tests::test_double ... ok
[INFO] [stdout] test algo::intersect::tests::test_empty_triple ... ok
[INFO] [stdout] test algo::intersect::tests::test_empty_double ... ok
[INFO] [stdout] test algo::intersect::tests::test_single ... ok
[INFO] [stdout] test algo::intersect::tests::test_triple ... ok
[INFO] [stdout] test algo::topo_sort::tests::test_topological_sort_empty_graph ... ok
[INFO] [stdout] test algo::topo_sort::tests::test_topological_sort_no_cycle ... ok
[INFO] [stdout] test algo::topo_sort::tests::test_topological_sort_with_cycle ... ok
[INFO] [stdout] test ast::simple_graph::tests::test_empty_graph ... ok
[INFO] [stdout] test ast::traverse::tests::test_typed_attribute_visitor ... ok
[INFO] [stdout] test ast::traverse::tests::test_traverse_expr ... ok
[INFO] [stdout] test datetime_utils::tests::test_parse_naivedate ... ok
[INFO] [stdout] test eval::tests::test_add_expr ... ok
[INFO] [stdout] test eval::tests::test_agg_avg_time_between_temp_gt_3 ... ok
[INFO] [stdout] test ast::analyze::tests::test_dag ... ok
[INFO] [stdout] test ast::simple_graph::tests::test_augmented_topo_sort_weighted ... ok
[INFO] [stdout] test eval::tests::test_agg_avg_time_between ... ok
[INFO] [stdout] test eval::tests::test_agg_first ... ok
[INFO] [stdout] test algo::intersect::tests::test_empty_single ... ok
[INFO] [stdout] test eval::tests::test_agg_last_str ... ok
[INFO] [stdout] test eval::tests::test_agg_max ... ok
[INFO] [stdout] test eval::tests::test_agg_max_dt ... ok
[INFO] [stdout] test eval::tests::test_agg_min ... ok
[INFO] [stdout] test eval::tests::test_agg_last ... ok
[INFO] [stdout] test ast::analyze::tests::test_full_query_parse ... ok
[INFO] [stdout] test eval::tests::test_agg_median ... ok
[INFO] [stdout] test eval::tests::test_agg_nth_m1 ... ok
[INFO] [stdout] test eval::tests::test_agg_max_str ... ok
[INFO] [stdout] test eval::tests::test_agg_nth_m2 ... ok
[INFO] [stdout] test eval::tests::test_agg_nth_1 ... ok
[INFO] [stdout] test eval::tests::test_agg_nth_wrong ... ok
[INFO] [stdout] test eval::tests::test_agg_sum ... ok
[INFO] [stdout] test eval::tests::test_agg_sum_untyped ... ok
[INFO] [stdout] test eval::tests::test_agg_num ... ok
[INFO] [stdout] test eval::tests::test_agg_values_bool ... ok
[INFO] [stdout] test eval::tests::test_agg_values_numeric ... ok
[INFO] [stdout] test eval::tests::test_agg_values_string ... ok
[INFO] [stdout] test eval::tests::test_agg_time_of_first ... ok
[INFO] [stdout] test eval::tests::test_agg_nth ... ok
[INFO] [stdout] test eval::tests::test_agg_time_of_first_temp_gt_3 ... ok
[INFO] [stdout] test eval::tests::test_eval_eq_for_int_and_num ... ok
[INFO] [stdout] test eval::tests::test_eval_eq_for_small_float_differences ... ok
[INFO] [stdout] test eval::tests::test_event_time ... ok
[INFO] [stdout] test eval::tests::test_having_max_1 ... ok
[INFO] [stdout] test eval::tests::test_having_max_2 ... ok
[INFO] [stdout] test eval::tests::test_having_max_event_time ... ok
[INFO] [stdout] test eval::tests::test_having_min ... ok
[INFO] [stdout] test eval::tests::test_if ... ok
[INFO] [stdout] test eval::tests::test_eval_date_expr ... ok
[INFO] [stdout] test eval::tests::test_clamp ... ok
[INFO] [stdout] test eval::tests::test_in_float ... ok
[INFO] [stdout] test eval::tests::test_in_int ... ok
[INFO] [stdout] test eval::tests::test_last_nested ... ok
[INFO] [stdout] test eval::tests::test_last_nested_grouped ... ok
[INFO] [stdout] test eval::tests::test_map_num ... ok
[INFO] [stdout] test eval::tests::test_not_in_int ... ok
[INFO] [stdout] test eval::tests::test_log ... ok
[INFO] [stdout] test eval::tests::test_in_str ... ok
[INFO] [stdout] test eval::tests::test_variable_dependencies ... ok
[INFO] [stdout] test evaluation::date::tests::test_eval_date_add ... ok
[INFO] [stdout] test eval::tests::test_not_in_float ... ok
[INFO] [stdout] test evaluation::date::tests::test_eval_date_part ... ok
[INFO] [stdout] test eval::tests::test_now ... ok
[INFO] [stdout] test evaluation::date::tests::test_eval_date_sub ... ok
[INFO] [stdout] test eval::tests::test_agg_min_dt ... ok
[INFO] [stdout] test evaluation::date::tests::test_eval_invalid_arguments ... ok
[INFO] [stdout] test evaluation::date::tests::test_eval_microsecond ... ok
[INFO] [stdout] test evaluation::date::tests::test_eval_minute ... ok
[INFO] [stdout] test evaluation::date::tests::test_eval_second ... ok
[INFO] [stdout] test eval::tests::test_not_in_str ... ok
[INFO] [stdout] test evaluation::regex::tests::test_eval_extract_regex ... ok
[INFO] [stdout] test evaluation::regex::tests::test_eval_regex_count ... ok
[INFO] [stdout] test evaluation::regex::tests::test_eval_replace_regex ... ok
[INFO] [stdout] test evaluation::regex::tests::test_eval_split ... ok
[INFO] [stdout] test evaluation::regex::tests::test_eval_split_with_empty_string ... ok
[INFO] [stdout] test evaluation::regex::tests::test_eval_split_with_no_matches ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_concat ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_contains ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_ends_with ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_invalid_arguments ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_len ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_lower ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_replace ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_starts_with ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_substr ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_trim ... ok
[INFO] [stdout] test evaluation::text::tests::test_eval_upper ... ok
[INFO] [stdout] test event::tests::test_event_parse ... ok
[INFO] [stdout] test event::tests::test_extract_attribute_nested ... ok
[INFO] [stdout] test event::tests::test_extract_attribute_single ... ok
[INFO] [stdout] test event::tests::test_extract_attribute_triple_nested ... ok
[INFO] [stdout] test event::tests::test_serialization ... ok
[INFO] [stdout] test event::tests::test_value_type_extraction_bool ... ok
[INFO] [stdout] test event::tests::test_value_type_extraction_map ... ok
[INFO] [stdout] test event::tests::test_value_type_extraction_num ... ok
[INFO] [stdout] test evaluation::date::tests::test_eval_format_date ... ok
[INFO] [stdout] test evaluation::date::tests::test_eval_extract ... ok
[INFO] [stdout] test evaluation::date::tests::test_eval_hour ... ok
[INFO] [stdout] test event_index::test::check_if_expr_uses_event_type_from ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::bitpacking_float::tests::test_bitpackedvec ... ok
[INFO] [stdout] test event_index::test::test_default_event ... ok
[INFO] [stdout] test event_index::test::test_context ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::bitpacking_float::tests::test_bitpackedvecoption ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::bitpacking_float::tests::test_bitpackedvecoption_all_float ... ok
[INFO] [stdout] test evaluation::regex::tests::test_eval_matches ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::bitpacking_int::int_tests::test_bitpackedintvecoption_all_int ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::bitpacking_int::int_tests::test_bitpackedintvecoption_all_none ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::bitpacking_float::tests::test_bitpackedvecoption_all_none ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::dictionary::tests::check_dispatch ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::dictionary::tests::test_dictionary_encoded_vec_decode ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::bitpacking_int::int_tests::test_bitpackedintvec ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::bitpacking_int::int_tests::test_bitpackedintvecoption ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::dictionary::tests::test_dictionary_encoded_vec_option_encode ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::dictionary::tests::test_dictionary_encoded_vec_encode ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::dictionary::tests::test_dictionary_encoded_vec_option_decode ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::rle::tests::test_run_length_encoded_vec_decode ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::rle::tests::test_run_length_encoded_vec_option_decode ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::rle::tests::test_run_length_encoded_vec_option_encode ... ok
[INFO] [stdout] test event_index::test::check_if_expr_uses_event_type_index ... ok
[INFO] [stdout] test event_store::column_event_store::encoding::rle::tests::test_run_length_encoded_vec_encode ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_all_none_values ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_compress_previous_block ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_mixed_types_should_fail ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_invalid_timestamp ... ok
[INFO] [stdout] test eval::tests::test_agg ... ok
[INFO] [stdout] test eval::tests::test_having_max_2_over_between ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_no_backfilling_for_first_non_none_value ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_none_backfilling_2 ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_nonnullable_columns ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_none_backfilling ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_nullable_column_with_backfilling ... ok
[INFO] [stdout] test event_store::row_event_store::memory_event_store::test::test_event_db ... ok
[INFO] [stdout] test event_store::row_event_store::memory_event_store::test::test_query_event_type ... ok
[INFO] [stdout] test event_store::row_event_store::memory_event_store::test::test_event_filter ... ok
[INFO] [stdout] test event_store::row_event_store::memory_event_store::test::test_query_interval ... ok
[INFO] [stdout] test event_store::row_event_store::memory_event_store::test::test_global_events ... ok
[INFO] [stdout] test event_store::row_event_store::memory_event_store::test::test_schema_no_conflict ... ok
[INFO] [stdout] test event_store::row_event_store::memory_event_store::test::test_query_event_type_entity ... ok
[INFO] [stdout] test features::tests::test_creating_features_from_variable_assignments ... ok
[INFO] [stdout] test event_store::test_implementations::tests::test_query_event_type_entity::case_1 ... ok
[INFO] [stdout] test features::tests::test_cyclical_dependencies ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_single_event_per_block ... ok
[INFO] [stdout] test features::tests::test_mixed_expressions_simple ... ok
[INFO] [stdout] test features::tests::test_mixed_expressions_complex ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_large_number_of_attributes ... ok
[INFO] [stdout] test features::tests::test_no_dependencies ... ok
[INFO] [stdout] test features::tests::test_nested_dependencies ... ok
[INFO] [stdout] test interval::tests::test_direction_only ... ok
[INFO] [stdout] test interval::tests::test_fixed_interval ... ok
[INFO] [stdout] test interval::tests::test_lastmonth ... ok
[INFO] [stdout] test interval::tests::test_lastquarter ... ok
[INFO] [stdout] test interval::tests::test_lastweek ... ok
[INFO] [stdout] test features::tests::test_expressions_without_variables ... ok
[INFO] [stdout] test interval::tests::test_lastyear ... ok
[INFO] [stdout] test interval::tests::test_nextbusinessday ... ok
[INFO] [stdout] test interval::tests::test_nextmonth ... ok
[INFO] [stdout] test interval::tests::test_nextquarter ... ok
[INFO] [stdout] test interval::tests::test_nextweek ... ok
[INFO] [stdout] test interval::tests::test_nextyear ... ok
[INFO] [stdout] test interval::tests::test_offset_interval ... ok
[INFO] [stdout] test interval::tests::test_previousbusinessday ... ok
[INFO] [stdout] test interval::tests::test_tomorrow ... ok
[INFO] [stdout] test interval::tests::test_yesterday ... ok
[INFO] [stdout] test naive_aggregate_funcs::test::test_product ... ok
[INFO] [stdout] test obs_dates::tests::test_n_between ... ok
[INFO] [stdout] test interval::tests::test_keyword_date ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_aggregate_with_event_type ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_aggregate_with_groupby ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_aggregate_with_groupby_alias ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_aggregate_with_groupby_where ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_aggregate_with_having ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_aggregate_with_where ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_abs ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_and ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_climber ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_coalesce ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_comparison ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_current_context_parsing ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_date_day ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_date_diff ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_date_month ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_aggregate_with_between_dates ... ok
[INFO] [stdout] test event_store::row_event_store::memory_event_store::test::test_schema_conflict - should panic ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_event ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_date_week ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_alias ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_full_query_parse ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_event_type_eval ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_function_math ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_if ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_full_query_hanging_comma_parse ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parse_2 ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_or ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parse_event_type ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parse_in_2 ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parse_in_3 ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parse_in ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parse_str ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parse_nth ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parser ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parser_2 ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_intervals ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parser_4 ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_parser_3 ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_powf ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_date_year ... ok
[INFO] [stdout] test partial_aggregates::all::tests::test_all ... ok
[INFO] [stdout] test partial_aggregates::any::tests::test_any_basic ... ok
[INFO] [stdout] test partial_aggregates::any::tests::test_any_subtract ... ok
[INFO] [stdout] test parser::expr_parser::tests::test_string_comparison ... ok
[INFO] [stdout] test partial_aggregates::argmax::tests::test_duplicate_values ... ok
[INFO] [stdout] test partial_aggregates::argmax::tests::test_merge ... ok
[INFO] [stdout] test partial_aggregates::argmin::argmin_tests::test_argmin ... ok
[INFO] [stdout] test partial_aggregates::count::tests::test_count ... ok
[INFO] [stdout] test partial_aggregates::count::tests::test_count_empty ... ok
[INFO] [stdout] test partial_aggregates::first::tests::test_first ... ok
[INFO] [stdout] test partial_aggregates::last::tests::test_last ... ok
[INFO] [stdout] test partial_aggregates::max_consecutive_true::tests::test_basic_consecutive ... ok
[INFO] [stdout] test partial_aggregates::max_consecutive_true::tests::test_merge ... ok
[INFO] [stdout] test partial_aggregates::max_consecutive_true::tests::test_non_consecutive ... ok
[INFO] [stdout] test partial_aggregates::max_consecutive_true::tests::test_subtract_edge ... ok
[INFO] [stdout] test partial_aggregates::maximum::tests::test_maximum ... ok
[INFO] [stdout] test partial_aggregates::mean::tests::test_mean ... ok
[INFO] [stdout] test partial_aggregates::mean::tests::test_mean_empty ... ok
[INFO] [stdout] test partial_aggregates::minimum::tests::test_minimum ... ok
[INFO] [stdout] test partial_aggregates::n_unique::tests::test_n_unique_basic ... ok
[INFO] [stdout] test partial_aggregates::n_unique::tests::test_n_unique_merge ... ok
[INFO] [stdout] test partial_aggregates::n_unique::tests::test_n_unique_subtract ... ok
[INFO] [stdout] test partial_aggregates::product::tests::test_product ... ok
[INFO] [stdout] test partial_aggregates::product::tests::test_product_empty ... ok
[INFO] [stdout] test partial_aggregates::product::tests::test_product_merge ... ok
[INFO] [stdout] test partial_aggregates::standard_deviation::tests::test_standard_deviation ... ok
[INFO] [stdout] test partial_aggregates::standard_deviation::tests::test_stddev_merge ... ok
[INFO] [stdout] test partial_aggregates::standard_deviation::tests::test_stddev_subtract ... ok
[INFO] [stdout] test partial_aggregates::sum::tests::test_sum ... ok
[INFO] [stdout] test partial_aggregates::sum::tests::test_sum_empty ... ok
[INFO] [stdout] test partial_aggregates::sum::tests::test_sum_merge ... ok
[INFO] [stdout] test partial_aggregates::variance::tests::test_variance ... ok
[INFO] [stdout] test partial_aggregates::variance::tests::test_variance_merge ... ok
[INFO] [stdout] test partial_aggregates::variance::tests::test_variance_subtract ... ok
[INFO] [stdout] test stats::tests::test_binom25 ... ok
[INFO] [stdout] test stats::tests::test_exp10a ... ok
[INFO] [stdout] test stats::tests::test_exp10b ... ok
[INFO] [stdout] test stats::tests::test_exp10c ... ok
[INFO] [stdout] test stats::tests::test_exp25 ... ok
[INFO] [stdout] test stats::tests::test_min_max_nan ... ok
[INFO] [stdout] test stats::tests::test_norm10medium ... ok
[INFO] [stdout] test stats::tests::test_norm10narrow ... ok
[INFO] [stdout] test stats::tests::test_norm10wide ... ignored
[INFO] [stdout] test stats::tests::test_norm2 ... ok
[INFO] [stdout] test stats::tests::test_norm25verynarrow ... ok
[INFO] [stdout] test partial_aggregates::argmax::tests::test_subtract ... ok
[INFO] [stdout] test stats::tests::test_pois25lambda30 ... ok
[INFO] [stdout] test partial_aggregates::argmax::tests::test_argmax ... ok
[INFO] [stdout] test stats::tests::test_pois25lambda40 ... ok
[INFO] [stdout] test stats::tests::test_pois25lambda50 ... ok
[INFO] [stdout] test stats::tests::test_sum_float_between_ints_that_sum_to_0 ... ok
[INFO] [stdout] test partial_aggregates::any::tests::test_any_merge ... ok
[INFO] [stdout] test tests::test_utils::tests::test_event_based_mode ... ok
[INFO] [stdout] test stats::tests::test_sum_floats ... ok
[INFO] [stdout] test stats::tests::test_unif25 ... ok
[INFO] [stdout] test tests::test_utils::tests::test_non_existing_attribute ... ok
[INFO] [stdout] test aggr::tests::test_partial_agg_cases ... ok
[INFO] [stdout] test event_store::column_event_store::tests::test_nba ... ok
[INFO] [stdout] test features_rewrite::tests::test_rewrite ... ok
[INFO] [stdout]  obs_dt                        | home | away | winning_team | count_wins_away | count_wins_home | last_game_result | win_perc_away | win_perc_home | last_away | last_away | home_win_perc_away | home_win_perc_away | home_win_perc_away | home_win_perc_away | avg_home_points | avg_away_points | avg_away_points_ytd 
[INFO] [stdout]  2025-04-27 09:54:30.532149036 | LAL  | LAC  | LAL          | 0               | 2               | home             | 0             | 1             | LAC       | LAC       |                    | 0                  | 1                  |                    | 119             | 90              | 90 
[INFO] [stdout]  2025-05-03 16:10:52.532228736 | POR  | CHI  | CHI          | 2               | 0               | away             | 0.42857143    | 0.5714286     | CHI       | CHI       |                    | 1                  | 0                  |                    | 105.85714       | 98.71429        | 98.71429 
[INFO] [stdout]  2025-06-20 03:57:51.530094056 | IND  | SAC  | IND          | 0               | 4               | home             | 0.5555556     | 0.44444445    | SAC       | SAC       |                    | 0                  | 1                  |                    | 105             | 103.888885      | 100.90476 
[INFO] [stdout]  2025-08-23 18:55:49.535137826 | LAC  | CHA  | LAC          | 0               | 4               | home             | 0.6           | 0.4           | CHA       | CHA       |                    | 0                  | 1                  |                    | 108.4           | 112.8           | 106.333336 
[INFO] [stdout]  2025-09-17 00:56:45.534785106 | CHI  | BOS  | CHI          | 0               | 2               | home             | 0.27272728    | 0.72727275    | BOS       | BOS       |                    | 0                  | 1                  |                    | 109.181816      | 100.545456      | 104.8 
[INFO] [stdout]  2025-12-25 19:04:27.533761566 | WAS  | HOU  | WAS          | 2               | 2               | home             | 0.25          | 0.75          | HOU       | HOU       |                    | 0                  | 1                  | 1                  | 106.5           | 104.875         | 105.82353 
[INFO] [stdout]  2025-10-03 21:39:36.533904306 | PHX  | SAC  | PHX          | 0               | 2               | home             | 0.25          | 0.75          | SAC       | SAC       |                    | 0                  | 0.5                |                    | 114.375         | 102.375         | 105.291664 
[INFO] [stdout]  2025-06-29 19:57:09.535512755 | ATL  | BKN  | BKN          | 2               | 0               | away             | 0.5555556     | 0.44444445    | BKN       | BKN       |                    | 1                  | 0                  |                    | 108.111115      | 108.111115      | 103.041664 
[INFO] [stdout]  2025-06-17 09:39:54.536601486 | CLE  | NYK  | NYK          | 2               | 0               | away             | 0.625         | 0.375         | NYK       | NYK       |                    | 1                  | 0                  |                    | 102             | 106             | 101.6 
[INFO] [stdout]  2025-12-13 23:00:57.533521206 | BOS  | ORL  | BOS          | 0               | 2               | home             | 0.11111111    | 0.8888889     | ORL       | ORL       |                    | 0                  | 1                  |                    | 110.22222       | 106.77778       | 105.893936 
[INFO] [stdout] test tests::fake_nba_games_test::tests::test_nba_games_features ... ok
[INFO] [stdout] test event_store::column_event_store::evaluation::tests::test_eval_agg ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 267 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.18s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests fexpress-core/bin/chunk_benchmark.rs (/opt/rustwide/target/debug/deps/chunk_benchmark-368535e81abfedfe)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests fexpress-core/bin/generate_json_schemas.rs (/opt/rustwide/target/debug/deps/generate_json_schemas-750883474aba2a08)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests fexpress_derive
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests fexpress_core
[INFO] [stderr] warning: unnecessary parentheses around closure body
[INFO] [stderr]   --> fexpress-main/fexpress-core/partial_aggregates/standard_deviation.rs:63:34
[INFO] [stderr]    |
[INFO] [stderr] 63 |             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stderr]    |                                  ^                                                      ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 63 -             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stderr] 63 +             .map(|(value, freq)| (value.into_inner() - mean).powi(2) * (*freq as FLOAT) )
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around closure body
[INFO] [stderr]   --> fexpress-main/fexpress-core/partial_aggregates/variance.rs:64:34
[INFO] [stderr]    |
[INFO] [stderr] 64 |             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stderr]    |                                  ^                                                      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 64 -             .map(|(value, freq)| ((value.into_inner() - mean).powi(2) * (*freq as FLOAT)))
[INFO] [stderr] 64 +             .map(|(value, freq)| (value.into_inner() - mean).powi(2) * (*freq as FLOAT) )
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1a1404e90f2c1fc673361c9ab12ed0893fd81e194610cb097f0f073a19d16c96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a1404e90f2c1fc673361c9ab12ed0893fd81e194610cb097f0f073a19d16c96", kill_on_drop: false }`
[INFO] [stdout] 1a1404e90f2c1fc673361c9ab12ed0893fd81e194610cb097f0f073a19d16c96
