[INFO] fetching crate forrust 0.2.4...
[INFO] testing forrust-0.2.4 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate forrust 0.2.4 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate forrust 0.2.4
[INFO] finished tweaking crates.io crate forrust 0.2.4
[INFO] tweaked toml for crates.io crate forrust 0.2.4 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate forrust 0.2.4 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 21 packages to highest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af
[INFO] running `Command { std: "docker" "start" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libc v0.2.191
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling rustc-demangle v0.1.28
[INFO] [stderr]    Compiling svg v0.7.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling plotlib v0.5.1
[INFO] [stderr]    Compiling forrust v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::convert::Into`
[INFO] [stdout]  --> src/time_series/moving_median.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::Into;
[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: `CategoricalView`
[INFO] [stdout]   --> src/time_series/mod.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use plotlib::view::{View, CategoricalView, ContinuousView};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CategoricalRepresentation`
[INFO] [stdout]   --> src/time_series/mod.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use plotlib::repr::{Plot, CategoricalRepresentation};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContinuousView`
[INFO] [stdout]  --> src/prediction/dumb.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use plotlib::view::{View, ContinuousView};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/prediction/dumb.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |             /// get the distances between the exp smooth and linear reg of a month every year
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 132 |             let mut distances = Vec::new();
[INFO] [stdout]     |             ------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min`
[INFO] [stdout]   --> src/time_series/moving_median.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let min = *ints.iter().min().unwrap();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]   --> src/time_series/moving_median.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let max = *ints.iter().max().unwrap();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/time_series/moving_median.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut plot = Plot::new(self.get_data());
[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: unused variable: `x`
[INFO] [stdout]   --> src/time_series/mod.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |         self.data.iter().map(|(x, y)| *y).collect()
[INFO] [stdout]    |                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/time_series/mod.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut view = ContinuousView::new()
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/time_series/mod.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut plot = Plot::new(self.get_data());
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/forecasting/expsmooth.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut result = Self {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/forecasting/expsmooth.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut plot = Plot::new(self.get_data());
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/regression/linear.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let mut plot = Plot::new(self.get_data());
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/prediction/dumb.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut sm = TimeSeries::from_pairs_vec(sm);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/prediction/dumb.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let mut tm = self.original.clone();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/prediction/dumb.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut group = Grouper::new(&tm)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dom_ran` is never read
[INFO] [stdout]   --> src/time_series/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TimeSeries {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 23 |     data: Vec<(f64, f64)>,
[INFO] [stdout] 24 |     dom_ran: Option<(String, String)>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimeSeries` has a derived impl for the trait `Clone`, 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: method `style_mut` is never used
[INFO] [stdout]    --> src/time_series/season.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Season {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn style_mut(&mut self) -> &mut Style {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/time_series/mod.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 |         panic!(format!("domain value {} doesn't exist in the time series", u));
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 74 -         panic!(format!("domain value {} doesn't exist in the time series", u));
[INFO] [stdout] 74 +         panic!("domain value {} doesn't exist in the time series", u);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/time_series/mod.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 |             _ => panic!(format!("Número de mes inválido: {}", v))
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 192 -             _ => panic!(format!("Número de mes inválido: {}", v))
[INFO] [stdout] 192 +             _ => panic!("Número de mes inválido: {}", v)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/time_series/mod.rs:213:24
[INFO] [stdout]     |
[INFO] [stdout] 213 |            _ => panic!(format!("Mes inválido: {}", v))
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 213 -            _ => panic!(format!("Mes inválido: {}", v))
[INFO] [stdout] 213 +            _ => panic!("Mes inválido: {}", v)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 17.65s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: svg v0.7.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::convert::Into`
[INFO] [stdout]  --> src/time_series/moving_median.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::Into;
[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: `CategoricalView`
[INFO] [stdout]   --> src/time_series/mod.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use plotlib::view::{View, CategoricalView, ContinuousView};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CategoricalRepresentation`
[INFO] [stdout]   --> src/time_series/mod.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use plotlib::repr::{Plot, CategoricalRepresentation};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContinuousView`
[INFO] [stdout]  --> src/prediction/dumb.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use plotlib::view::{View, ContinuousView};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/prediction/dumb.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |             /// get the distances between the exp smooth and linear reg of a month every year
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 132 |             let mut distances = Vec::new();
[INFO] [stdout]     |             ------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min`
[INFO] [stdout]   --> src/time_series/moving_median.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let min = *ints.iter().min().unwrap();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]   --> src/time_series/moving_median.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let max = *ints.iter().max().unwrap();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/time_series/moving_median.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut plot = Plot::new(self.get_data());
[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: unused variable: `x`
[INFO] [stdout]   --> src/time_series/mod.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |         self.data.iter().map(|(x, y)| *y).collect()
[INFO] [stdout]    |                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/time_series/mod.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut view = ContinuousView::new()
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/time_series/mod.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut plot = Plot::new(self.get_data());
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/forecasting/expsmooth.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut result = Self {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/forecasting/expsmooth.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut plot = Plot::new(self.get_data());
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/regression/linear.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let mut plot = Plot::new(self.get_data());
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/prediction/dumb.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut sm = TimeSeries::from_pairs_vec(sm);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/prediction/dumb.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let mut tm = self.original.clone();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/prediction/dumb.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut group = Grouper::new(&tm)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dom_ran` is never read
[INFO] [stdout]   --> src/time_series/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TimeSeries {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 23 |     data: Vec<(f64, f64)>,
[INFO] [stdout] 24 |     dom_ran: Option<(String, String)>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimeSeries` has a derived impl for the trait `Clone`, 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: method `style_mut` is never used
[INFO] [stdout]    --> src/time_series/season.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Season {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn style_mut(&mut self) -> &mut Style {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/time_series/mod.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 |         panic!(format!("domain value {} doesn't exist in the time series", u));
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 74 -         panic!(format!("domain value {} doesn't exist in the time series", u));
[INFO] [stdout] 74 +         panic!("domain value {} doesn't exist in the time series", u);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/time_series/mod.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 |             _ => panic!(format!("Número de mes inválido: {}", v))
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 192 -             _ => panic!(format!("Número de mes inválido: {}", v))
[INFO] [stdout] 192 +             _ => panic!("Número de mes inválido: {}", v)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/time_series/mod.rs:213:24
[INFO] [stdout]     |
[INFO] [stdout] 213 |            _ => panic!(format!("Mes inválido: {}", v))
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 213 -            _ => panic!(format!("Mes inválido: {}", v))
[INFO] [stdout] 213 +            _ => panic!("Mes inválido: {}", v)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling forrust v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::convert::Into`
[INFO] [stdout]  --> src/time_series/moving_median.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::Into;
[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: `CategoricalView`
[INFO] [stdout]   --> src/time_series/mod.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use plotlib::view::{View, CategoricalView, ContinuousView};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CategoricalRepresentation`
[INFO] [stdout]   --> src/time_series/mod.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use plotlib::repr::{Plot, CategoricalRepresentation};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContinuousView`
[INFO] [stdout]  --> src/prediction/dumb.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use plotlib::view::{View, ContinuousView};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/prediction/dumb.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |             /// get the distances between the exp smooth and linear reg of a month every year
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 132 |             let mut distances = Vec::new();
[INFO] [stdout]     |             ------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min`
[INFO] [stdout]   --> src/time_series/moving_median.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let min = *ints.iter().min().unwrap();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]   --> src/time_series/moving_median.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let max = *ints.iter().max().unwrap();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/time_series/moving_median.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut plot = Plot::new(self.get_data());
[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: unused variable: `x`
[INFO] [stdout]   --> src/time_series/mod.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |         self.data.iter().map(|(x, y)| *y).collect()
[INFO] [stdout]    |                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/time_series/mod.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut view = ContinuousView::new()
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/time_series/mod.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut plot = Plot::new(self.get_data());
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/forecasting/expsmooth.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut result = Self {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/forecasting/expsmooth.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut plot = Plot::new(self.get_data());
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/regression/linear.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let mut plot = Plot::new(self.get_data());
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/prediction/dumb.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut sm = TimeSeries::from_pairs_vec(sm);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/prediction/dumb.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let mut tm = self.original.clone();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/prediction/dumb.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut group = Grouper::new(&tm)
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut season = Season::new(&series, 12).set_season(1);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut season2 = Season::new(&season.as_time_series(), 4).set_season(2);
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut smooth0_4 = ExpSmoothing::new(&example)
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut dumb = Dumb::new(&example).with_season(12);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dom_ran` is never read
[INFO] [stdout]   --> src/time_series/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TimeSeries {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 23 |     data: Vec<(f64, f64)>,
[INFO] [stdout] 24 |     dom_ran: Option<(String, String)>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimeSeries` has a derived impl for the trait `Clone`, 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: method `style_mut` is never used
[INFO] [stdout]    --> src/time_series/season.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Season {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn style_mut(&mut self) -> &mut Style {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/time_series/mod.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 |         panic!(format!("domain value {} doesn't exist in the time series", u));
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 74 -         panic!(format!("domain value {} doesn't exist in the time series", u));
[INFO] [stdout] 74 +         panic!("domain value {} doesn't exist in the time series", u);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/time_series/mod.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 |             _ => panic!(format!("Número de mes inválido: {}", v))
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 192 -             _ => panic!(format!("Número de mes inválido: {}", v))
[INFO] [stdout] 192 +             _ => panic!("Número de mes inválido: {}", v)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/time_series/mod.rs:213:24
[INFO] [stdout]     |
[INFO] [stdout] 213 |            _ => panic!(format!("Mes inválido: {}", v))
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 213 -            _ => panic!(format!("Mes inválido: {}", v))
[INFO] [stdout] 213 +            _ => panic!("Mes inválido: {}", v)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1.53s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: svg v0.7.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::convert::Into`
[INFO] [stderr]  --> src/time_series/moving_median.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::convert::Into;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CategoricalView`
[INFO] [stderr]   --> src/time_series/mod.rs:15:27
[INFO] [stderr]    |
[INFO] [stderr] 15 | use plotlib::view::{View, CategoricalView, ContinuousView};
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CategoricalRepresentation`
[INFO] [stderr]   --> src/time_series/mod.rs:16:27
[INFO] [stderr]    |
[INFO] [stderr] 16 | use plotlib::repr::{Plot, CategoricalRepresentation};
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ContinuousView`
[INFO] [stderr]  --> src/prediction/dumb.rs:7:27
[INFO] [stderr]   |
[INFO] [stderr] 7 | use plotlib::view::{View, ContinuousView};
[INFO] [stderr]   |                           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/prediction/dumb.rs:131:13
[INFO] [stderr]     |
[INFO] [stderr] 131 |             /// get the distances between the exp smooth and linear reg of a month every year
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 132 |             let mut distances = Vec::new();
[INFO] [stderr]     |             ------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `min`
[INFO] [stderr]   --> src/time_series/moving_median.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let min = *ints.iter().min().unwrap();
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `max`
[INFO] [stderr]   --> src/time_series/moving_median.rs:66:13
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let max = *ints.iter().max().unwrap();
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/time_series/moving_median.rs:96:13
[INFO] [stderr]    |
[INFO] [stderr] 96 |         let mut plot = Plot::new(self.get_data());
[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: unused variable: `x`
[INFO] [stderr]   --> src/time_series/mod.rs:95:32
[INFO] [stderr]    |
[INFO] [stderr] 95 |         self.data.iter().map(|(x, y)| *y).collect()
[INFO] [stderr]    |                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/time_series/mod.rs:139:13
[INFO] [stderr]     |
[INFO] [stderr] 139 |         let mut view = ContinuousView::new()
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/time_series/mod.rs:145:13
[INFO] [stderr]     |
[INFO] [stderr] 145 |         let mut plot = Plot::new(self.get_data());
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/forecasting/expsmooth.rs:19:13
[INFO] [stderr]    |
[INFO] [stderr] 19 |         let mut result = Self {
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/forecasting/expsmooth.rs:97:13
[INFO] [stderr]    |
[INFO] [stderr] 97 |         let mut plot = Plot::new(self.get_data());
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/regression/linear.rs:99:13
[INFO] [stderr]    |
[INFO] [stderr] 99 |         let mut plot = Plot::new(self.get_data());
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/prediction/dumb.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let mut sm = TimeSeries::from_pairs_vec(sm);
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/prediction/dumb.rs:238:13
[INFO] [stderr]     |
[INFO] [stderr] 238 |         let mut tm = self.original.clone();
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/prediction/dumb.rs:243:13
[INFO] [stderr]     |
[INFO] [stderr] 243 |         let mut group = Grouper::new(&tm)
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `dom_ran` is never read
[INFO] [stderr]   --> src/time_series/mod.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct TimeSeries {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] 23 |     data: Vec<(f64, f64)>,
[INFO] [stderr] 24 |     dom_ran: Option<(String, String)>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TimeSeries` has a derived impl for the trait `Clone`, 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: method `style_mut` is never used
[INFO] [stderr]    --> src/time_series/season.rs:107:8
[INFO] [stderr]     |
[INFO] [stderr]  17 | impl Season {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 107 |     fn style_mut(&mut self) -> &mut Style {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/time_series/mod.rs:74:16
[INFO] [stderr]    |
[INFO] [stderr] 74 |         panic!(format!("domain value {} doesn't exist in the time series", u));
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]    |
[INFO] [stderr] 74 -         panic!(format!("domain value {} doesn't exist in the time series", u));
[INFO] [stderr] 74 +         panic!("domain value {} doesn't exist in the time series", u);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/time_series/mod.rs:192:25
[INFO] [stderr]     |
[INFO] [stderr] 192 |             _ => panic!(format!("Número de mes inválido: {}", v))
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 192 -             _ => panic!(format!("Número de mes inválido: {}", v))
[INFO] [stderr] 192 +             _ => panic!("Número de mes inválido: {}", v)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/time_series/mod.rs:213:24
[INFO] [stderr]     |
[INFO] [stderr] 213 |            _ => panic!(format!("Mes inválido: {}", v))
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 213 -            _ => panic!(format!("Mes inválido: {}", v))
[INFO] [stderr] 213 +            _ => panic!("Mes inválido: {}", v)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:54:13
[INFO] [stderr]    |
[INFO] [stderr] 54 |         let mut season = Season::new(&series, 12).set_season(1);
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let mut season2 = Season::new(&season.as_time_series(), 4).set_season(2);
[INFO] [stderr]    |             ----^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:171:13
[INFO] [stderr]     |
[INFO] [stderr] 171 |         let mut smooth0_4 = ExpSmoothing::new(&example)
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:224:13
[INFO] [stderr]     |
[INFO] [stderr] 224 |         let mut dumb = Dumb::new(&example).with_season(12);
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `forrust` (lib) generated 22 warnings (run `cargo fix --lib -p forrust` to apply 19 suggestions)
[INFO] [stderr] warning: `forrust` (lib test) generated 26 warnings (22 duplicates) (run `cargo fix --lib -p forrust --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.04s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: svg v0.7.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/forrust/5a8473c3a5ff10b9/out/forrust-5a8473c3a5ff10b9)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test tests::test_data ... ok
[INFO] [stdout] test tests::it_works ... ok
[INFO] [stdout] test tests::test_merger ... FAILED
[INFO] [stdout] test tests::test_parser ... FAILED
[INFO] [stdout] test tests::test_time_series ... FAILED
[INFO] [stdout] test tests::test_grouper ... FAILED
[INFO] [stdout] test tests::test_season ... FAILED
[INFO] [stdout] test tests::test_linear_reg ... FAILED
[INFO] [stdout] test tests::test_moving_median ... FAILED
[INFO] [stdout] test tests::test_expsmooth ... FAILED
[INFO] [stdout] test tests::test_dumb ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_merger stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_merger' (489) panicked at src/lib.rs:90:37:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout]    0: <backtrace::capture::Backtrace>::create
[INFO] [stdout]    1: <failure::backtrace::Backtrace>::new
[INFO] [stdout]    2: <failure::error::error_impl::ErrorImpl as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    3: <plotlib::page::Page>::save::<&str>
[INFO] [stdout]    4: <forrust::tests::test_merger::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] saving svg
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x585081723a21 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58508173929a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x585081727d2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5850816ff986 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58508171c019 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x585081667040 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58508171c1d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5850816ffa32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5850816f8719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58508170063d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5850817399cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5850817397a2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58508165626c - <forrust[3e3be264e517524]::tests::test_merger::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x58508165a48b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x585081667665 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x585081660f54 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x58508166a6f2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x58508172327f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7d6844fc5dfa - <unknown>
[INFO] [stdout]   19:     0x7d68450593d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_parser stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_parser' (491) panicked at src/lib.rs:163:30:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout]    0: <backtrace::capture::Backtrace>::create
[INFO] [stdout]    1: <failure::backtrace::Backtrace>::new
[INFO] [stdout]    2: <failure::error::error_impl::ErrorImpl as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    3: <plotlib::page::Page>::save::<&str>
[INFO] [stdout]    4: <forrust::tests::test_parser::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] saving svg
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x585081723a21 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58508173929a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x585081727d2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5850816ff986 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58508171c019 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x585081667040 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58508171c1d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5850816ffa32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5850816f8719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58508170063d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5850817399cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5850817397a2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58508165677d - <forrust[3e3be264e517524]::tests::test_parser::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x58508165a48b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x585081667665 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x585081660f54 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x58508166a6f2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x58508172327f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7d6844fc5dfa - <unknown>
[INFO] [stdout]   19:     0x7d68450593d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_time_series stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_time_series' (493) panicked at src/lib.rs:42:71:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout]    0: <backtrace::capture::Backtrace>::create
[INFO] [stdout]    1: <failure::backtrace::Backtrace>::new
[INFO] [stdout]    2: <failure::error::error_impl::ErrorImpl as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    3: <plotlib::page::Page>::save::<&str>
[INFO] [stdout]    4: <forrust::tests::test_time_series::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] saving svg
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x585081723a21 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58508173929a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x585081727d2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5850816ff986 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58508171c019 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x585081667040 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58508171c1d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5850816ffa32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5850816f8719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58508170063d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5850817399cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5850817397a2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x585081658cc3 - <forrust[3e3be264e517524]::tests::test_time_series::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x58508165a48b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x585081667665 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x585081660f54 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x58508166a6f2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x58508172327f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7d6844fc5dfa - <unknown>
[INFO] [stdout]   19:     0x7d68450593d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_grouper stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_grouper' (487) panicked at src/lib.rs:154:37:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout]    0: <backtrace::capture::Backtrace>::create
[INFO] [stdout]    1: <failure::backtrace::Backtrace>::new
[INFO] [stdout]    2: <failure::error::error_impl::ErrorImpl as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    3: <plotlib::page::Page>::save::<&str>
[INFO] [stdout]    4: <forrust::tests::test_grouper::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] saving svg
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x585081723a21 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58508173929a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x585081727d2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5850816ff986 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58508171c019 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x585081667040 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58508171c1d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5850816ffa32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5850816f8719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58508170063d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5850817399cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5850817397a2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5850816575d2 - <forrust[3e3be264e517524]::tests::test_grouper::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x58508165a48b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x585081667665 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x585081660f54 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x58508166a6f2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x58508172327f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7d6844fc5dfa - <unknown>
[INFO] [stdout]   19:     0x7d68450593d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_season stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_season' (492) panicked at src/lib.rs:53:35:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout]    0: <backtrace::capture::Backtrace>::create
[INFO] [stdout]    1: <failure::backtrace::Backtrace>::new
[INFO] [stdout]    2: <failure::error::error_impl::ErrorImpl as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    3: <plotlib::page::Page>::save::<&str>
[INFO] [stdout]    4: <forrust::tests::test_season::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] saving svg
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x585081723a21 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58508173929a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x585081727d2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5850816ff986 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58508171c019 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x585081667040 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58508171c1d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5850816ffa32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5850816f8719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58508170063d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5850817399cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5850817397a2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x585081656ba8 - <forrust[3e3be264e517524]::tests::test_season::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x58508165a48b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x585081667665 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x585081660f54 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x58508166a6f2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x58508172327f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7d6844fc5dfa - <unknown>
[INFO] [stdout]   19:     0x7d68450593d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_linear_reg stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_linear_reg' (488) panicked at src/lib.rs:215:30:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout]    0: <backtrace::capture::Backtrace>::create
[INFO] [stdout]    1: <failure::backtrace::Backtrace>::new
[INFO] [stdout]    2: <failure::error::error_impl::ErrorImpl as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    3: <plotlib::page::Page>::save::<&str>
[INFO] [stdout]    4: <forrust::tests::test_linear_reg::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] saving svg
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x585081723a21 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58508173929a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x585081727d2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5850816ff986 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58508171c019 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x585081667040 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58508171c1d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5850816ffa32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5850816f8719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58508170063d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5850817399cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5850817397a2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58508165892e - <forrust[3e3be264e517524]::tests::test_linear_reg::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x58508165a48b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x585081667665 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x585081660f54 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x58508166a6f2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x58508172327f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7d6844fc5dfa - <unknown>
[INFO] [stdout]   19:     0x7d68450593d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_moving_median stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_moving_median' (490) panicked at src/lib.rs:75:37:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout]    0: <backtrace::capture::Backtrace>::create
[INFO] [stdout]    1: <failure::backtrace::Backtrace>::new
[INFO] [stdout]    2: <failure::error::error_impl::ErrorImpl as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    3: <plotlib::page::Page>::save::<&str>
[INFO] [stdout]    4: <forrust::tests::test_moving_median::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] saving svg
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x585081723a21 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58508173929a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x585081727d2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5850816ff986 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58508171c019 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x585081667040 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58508171c1d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5850816ffa32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5850816f8719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58508170063d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5850817399cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5850817397a2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x585081658fcd - <forrust[3e3be264e517524]::tests::test_moving_median::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x58508165a48b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x585081667665 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x585081660f54 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x58508166a6f2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x58508172327f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7d6844fc5dfa - <unknown>
[INFO] [stdout]   19:     0x7d68450593d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_expsmooth stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_expsmooth' (486) panicked at src/lib.rs:197:32:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout]    0: <backtrace::capture::Backtrace>::create
[INFO] [stdout]    1: <failure::backtrace::Backtrace>::new
[INFO] [stdout]    2: <failure::error::error_impl::ErrorImpl as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    3: <plotlib::page::Page>::save::<&str>
[INFO] [stdout]    4: <forrust::tests::test_expsmooth::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] saving svg
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x585081723a21 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58508173929a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x585081727d2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5850816ff986 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58508171c019 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x585081667040 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58508171c1d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5850816ffa32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5850816f8719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58508170063d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5850817399cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5850817397a2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5850816580f9 - <forrust[3e3be264e517524]::tests::test_expsmooth::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x58508165a48b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x585081667665 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x585081660f54 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x58508166a6f2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x58508172327f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7d6844fc5dfa - <unknown>
[INFO] [stdout]   19:     0x7d68450593d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_dumb stdout ----
[INFO] [stdout] d = [[2.540540540540542, 4.384575578048739, 4.715227685719757], [1.9572715572715573, 1.7840014600853564, 0.7027016049968484], [1.5340025740025744, 0.550349395999735, -0.1781216367444891], [-0.393266409266408, -1.863149435759233, -2.379923175096888], [-1.2229353925353923, -3.784556328122205, -5.374311691415919], [-2.994044375804375, -4.210708056847583, -5.644252394514931], [-3.3300173590733575, -4.539706687390403, -5.879524409681933], [-2.0049087423423426, -2.4104134590236885, -3.2939952120897242], [0.7168488343886743, -0.40614511531125075, -1.0159852868419925], [0.2765957871196907, 1.123108297608617, -1.3224869250009483], [1.9391363654507092, 2.767352752052945, 0.8203044987960855]]
[INFO] [stdout] lastd = [11.581011456632083, 0.7891828355984006, 0.006526086694677696, -12.060182260586842, -20.937154373617464, -13.916136272745064, -14.027061502956908, -7.669650509191712, -2.0810189097029914, -2.7386724647047345, 1.1796854233021952]
[INFO] [stdout] finales: [(37.0, 14.184848982334959), (38.0, 27.0), (39.0, 16.0), (40.0, 16.0), (41.0, 4.0), (42.0, 4.0), (43.0, 2.0), (44.0, 2.0), (45.0, 9.0), (46.0, 15.0), (47.0, 14.0), (48.0, 18.0)]
[INFO] [stdout] 9.642728442728442
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_dumb' (485) panicked at src/lib.rs:230:35:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout]    0: <backtrace::capture::Backtrace>::create
[INFO] [stdout]    1: <failure::backtrace::Backtrace>::new
[INFO] [stdout]    2: <failure::error::error_impl::ErrorImpl as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    3: <plotlib::page::Page>::save::<&str>
[INFO] [stdout]    4: <forrust::tests::test_dumb::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] saving svg
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x585081723a21 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58508173929a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x585081727d2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5850816ff986 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58508171c019 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x585081667040 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58508171c1d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5850816ffa32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5850816f8719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58508170063d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5850817399cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5850817397a2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x585081659410 - <forrust[3e3be264e517524]::tests::test_dumb::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x58508165a48b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x585081667665 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x585081660f54 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x58508166a6f2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x58508172327f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7d6844fc5dfa - <unknown>
[INFO] [stdout]   19:     0x7d68450593d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::test_dumb
[INFO] [stdout]     tests::test_expsmooth
[INFO] [stdout]     tests::test_grouper
[INFO] [stdout]     tests::test_linear_reg
[INFO] [stdout]     tests::test_merger
[INFO] [stdout]     tests::test_moving_median
[INFO] [stdout]     tests::test_parser
[INFO] [stdout]     tests::test_season
[INFO] [stdout]     tests::test_time_series
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 9 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af", kill_on_drop: false }`
[INFO] [stdout] fc07725d68c70875b909a2c841a7ea2e1038aaf9fe8294141ca73d1c1e66d8af
