[INFO] cloning repository https://github.com/Hoeppke/rust_tick_engine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Hoeppke/rust_tick_engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHoeppke%2Frust_tick_engine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHoeppke%2Frust_tick_engine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4a2d3ca0c2cc47fde6f9dafd6ea80fb6dd66a12b [INFO] checking Hoeppke/rust_tick_engine against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHoeppke%2Frust_tick_engine" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Hoeppke/rust_tick_engine [INFO] finished tweaking git repo https://github.com/Hoeppke/rust_tick_engine [INFO] tweaked toml for git repo https://github.com/Hoeppke/rust_tick_engine written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Hoeppke/rust_tick_engine on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Hoeppke/rust_tick_engine 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2a2093d16c3256aaf18ac1d48d4bd14b77a2bbe7660994030139b2c391586ede [INFO] running `Command { std: "docker" "start" "-a" "2a2093d16c3256aaf18ac1d48d4bd14b77a2bbe7660994030139b2c391586ede", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2a2093d16c3256aaf18ac1d48d4bd14b77a2bbe7660994030139b2c391586ede", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a2093d16c3256aaf18ac1d48d4bd14b77a2bbe7660994030139b2c391586ede", kill_on_drop: false }` [INFO] [stdout] 2a2093d16c3256aaf18ac1d48d4bd14b77a2bbe7660994030139b2c391586ede [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=forbid -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a291d400081e7674fc7f29da7a76e667cde7bb3488db2c2940463f964998364b [INFO] running `Command { std: "docker" "start" "-a" "a291d400081e7674fc7f29da7a76e667cde7bb3488db2c2940463f964998364b", kill_on_drop: false }` [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Checking siphasher v1.0.1 [INFO] [stderr] Checking unindent v0.2.4 [INFO] [stderr] Compiling indoc v2.0.6 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Checking phf_shared v0.11.3 [INFO] [stderr] Checking itertools v0.14.0 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling pyo3-build-config v0.22.6 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling pyo3-ffi v0.22.6 [INFO] [stderr] Compiling pyo3-macros-backend v0.22.6 [INFO] [stderr] Compiling pyo3 v0.22.6 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling parse-zoneinfo v0.3.1 [INFO] [stderr] Compiling chrono-tz-build v0.4.1 [INFO] [stderr] Compiling chrono-tz v0.10.3 [INFO] [stderr] Compiling pyo3-macros v0.22.6 [INFO] [stderr] Checking tickengine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `utc_to_timestamp` [INFO] [stdout] --> src/candle/candle_tree_collection.rs:4:42 [INFO] [stdout] | [INFO] [stdout] 4 | use super::timescale::{timestamp_to_utc, utc_to_timestamp, TimeScale}; [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: `NaiveDateTime` [INFO] [stdout] --> src/candle/timescale.rs:1:34 [INFO] [stdout] | [INFO] [stdout] 1 | use chrono::{DateTime, Duration, NaiveDateTime, Timelike, Utc}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `candle::timescale::TimeScale::__pyo3__generated____richcmp__::DEPRECATION`: Implicit equality for simple enums is deprecated. Use `#[pyclass(eq, eq_int)` to keep the current behavior. [INFO] [stdout] --> src/candle/timescale.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[pyclass] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pyclass` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utc_to_timestamp` [INFO] [stdout] --> src/candle/candle_tree_collection.rs:4:42 [INFO] [stdout] | [INFO] [stdout] 4 | use super::timescale::{timestamp_to_utc, utc_to_timestamp, TimeScale}; [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: `NaiveDateTime` [INFO] [stdout] --> src/candle/timescale.rs:1:34 [INFO] [stdout] | [INFO] [stdout] 1 | use chrono::{DateTime, Duration, NaiveDateTime, Timelike, Utc}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `candle::timescale::TimeScale::__pyo3__generated____richcmp__::DEPRECATION`: Implicit equality for simple enums is deprecated. Use `#[pyclass(eq, eq_int)` to keep the current behavior. [INFO] [stdout] --> src/candle/timescale.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[pyclass] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pyclass` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PotentiallyEmptyPriceCandle` is never constructed [INFO] [stdout] --> src/candle/candle.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct PotentiallyEmptyPriceCandle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/candle/candle.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl PotentiallyEmptyPriceCandle { [INFO] [stdout] | -------------------------------- methods in this implementation [INFO] [stdout] 108 | pub fn get_start_utc(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn get_duration(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn get_end_utc(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn get_price_open(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_price_close(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn get_price_high(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn get_price_low(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn get_contents(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn join(&self, other: &PotentiallyEmptyPriceCandle) -> PotentiallyEmptyPriceCandle { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `symbol` is never read [INFO] [stdout] --> src/candle/candle_tree.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CandleFromSubCandles { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 12 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `symbol` is never read [INFO] [stdout] --> src/candle/candle_tree.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 249 | pub struct PriceCandleStack { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 250 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `symbol`, `timeframe`, and `tstamp_start` are never read [INFO] [stdout] --> src/candle/candle_tree.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 307 | pub struct CandleTree { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 308 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 309 | timeframe: TimeScale, // timeframe of the current candle [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 310 | tstamp_start: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_start` and `update_end` are never used [INFO] [stdout] --> src/candle/candle_tree_collection.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl TimeRange { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn update_start(&mut self, new_start: &DateTime) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn update_end(&mut self, new_end: &DateTime) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `symbol` and `timeframe` are never read [INFO] [stdout] --> src/candle/candle_tree_collection.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct PyCandleTreeColletion { [INFO] [stdout] | --------------------- fields in this struct [INFO] [stdout] 169 | // Exposes candle tree collection to python [INFO] [stdout] 170 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 171 | timeframe: TimeScale, // timeframe of the current candle [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `time_end` is never used [INFO] [stdout] --> src/candle/candlelike.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl dyn CandleLike + '_ { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn time_end(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/candle/candle.rs:56:30 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn as_dict(&self) -> HashMap<&str, Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/candle_from_tick.rs:83:31 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn get_time(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/candle/candle_tree.rs:274:26 [INFO] [stdout] | [INFO] [stdout] 274 | fn as_dict(&self) -> HashMap<&str, Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/candle/candle_tree.rs:334:30 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn as_dict(&self) -> HashMap<&str, Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/candle_tree.rs:338:52 [INFO] [stdout] | [INFO] [stdout] 338 | pub fn get_partial_candle(&self, tend: f64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/candle/candle_tree_collection.rs:179:56 [INFO] [stdout] | [INFO] [stdout] 179 | let contents = CandleTreeCollection::new(symbol.clone(), timeframe.clone()); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/candle_tree_collection.rs:199:10 [INFO] [stdout] | [INFO] [stdout] 199 | ) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/candle_tree_collection.rs:210:39 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn total_tick_count(&self) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/tick.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn mid_price(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/tick.rs:27:31 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn get_time(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/tick.rs:81:63 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn filtered_by_time(&self, tstart: f64, tend: f64) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:92:33 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn high_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:101:32 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn low_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:110:34 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn close_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:119:33 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn open_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn open_time(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn close_time(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:146:32 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn high_time(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:155:31 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn low_time(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/timescale.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn as_seconds(&self) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/timescale.rs:84:38 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn lower_timescale(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/timescale.rs:94:55 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn start_timestamp(&self, cur_tstamp: f64) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/timescale.rs:100:60 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn next_start_timestamp(&self, cur_tstamp: f64) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/timescale.rs:106:60 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn sub_start_timestamps(&self, cur_tstamp: f64) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tickengine` (lib) due to 23 previous errors; 12 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: struct `PotentiallyEmptyPriceCandle` is never constructed [INFO] [stdout] --> src/candle/candle.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct PotentiallyEmptyPriceCandle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/candle/candle.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl PotentiallyEmptyPriceCandle { [INFO] [stdout] | -------------------------------- methods in this implementation [INFO] [stdout] 108 | pub fn get_start_utc(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn get_duration(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn get_end_utc(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn get_price_open(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_price_close(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn get_price_high(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn get_price_low(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn get_contents(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn join(&self, other: &PotentiallyEmptyPriceCandle) -> PotentiallyEmptyPriceCandle { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `symbol` is never read [INFO] [stdout] --> src/candle/candle_tree.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CandleFromSubCandles { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 12 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `symbol` is never read [INFO] [stdout] --> src/candle/candle_tree.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 249 | pub struct PriceCandleStack { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 250 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `symbol`, `timeframe`, and `tstamp_start` are never read [INFO] [stdout] --> src/candle/candle_tree.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 307 | pub struct CandleTree { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 308 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 309 | timeframe: TimeScale, // timeframe of the current candle [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 310 | tstamp_start: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_start` and `update_end` are never used [INFO] [stdout] --> src/candle/candle_tree_collection.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl TimeRange { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn update_start(&mut self, new_start: &DateTime) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn update_end(&mut self, new_end: &DateTime) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `symbol` and `timeframe` are never read [INFO] [stdout] --> src/candle/candle_tree_collection.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct PyCandleTreeColletion { [INFO] [stdout] | --------------------- fields in this struct [INFO] [stdout] 169 | // Exposes candle tree collection to python [INFO] [stdout] 170 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 171 | timeframe: TimeScale, // timeframe of the current candle [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `time_end` is never used [INFO] [stdout] --> src/candle/candlelike.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl dyn CandleLike + '_ { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn time_end(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/candle/candle.rs:56:30 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn as_dict(&self) -> HashMap<&str, Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/candle_from_tick.rs:83:31 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn get_time(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/candle/candle_tree.rs:274:26 [INFO] [stdout] | [INFO] [stdout] 274 | fn as_dict(&self) -> HashMap<&str, Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/candle/candle_tree.rs:334:30 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn as_dict(&self) -> HashMap<&str, Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/candle_tree.rs:338:52 [INFO] [stdout] | [INFO] [stdout] 338 | pub fn get_partial_candle(&self, tend: f64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/candle/candle_tree_collection.rs:179:56 [INFO] [stdout] | [INFO] [stdout] 179 | let contents = CandleTreeCollection::new(symbol.clone(), timeframe.clone()); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/candle_tree_collection.rs:199:10 [INFO] [stdout] | [INFO] [stdout] 199 | ) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/candle_tree_collection.rs:210:39 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn total_tick_count(&self) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/tick.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn mid_price(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/tick.rs:27:31 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn get_time(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/tick.rs:81:63 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn filtered_by_time(&self, tstart: f64, tend: f64) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:92:33 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn high_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:101:32 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn low_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:110:34 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn close_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:119:33 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn open_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn open_time(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn close_time(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:146:32 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn high_time(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/tick.rs:155:31 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn low_time(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/timescale.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn as_seconds(&self) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/timescale.rs:84:38 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn lower_timescale(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/timescale.rs:94:55 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn start_timestamp(&self, cur_tstamp: f64) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/candle/timescale.rs:100:60 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn next_start_timestamp(&self, cur_tstamp: f64) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/candle/timescale.rs:106:60 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn sub_start_timestamps(&self, cur_tstamp: f64) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tickengine` (lib test) due to 23 previous errors; 12 warnings emitted [INFO] running `Command { std: "docker" "inspect" "a291d400081e7674fc7f29da7a76e667cde7bb3488db2c2940463f964998364b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a291d400081e7674fc7f29da7a76e667cde7bb3488db2c2940463f964998364b", kill_on_drop: false }` [INFO] [stdout] a291d400081e7674fc7f29da7a76e667cde7bb3488db2c2940463f964998364b