[INFO] cloning repository https://github.com/austinjones/elitetrader
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/austinjones/elitetrader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faustinjones%2Felitetrader", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faustinjones%2Felitetrader'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9718e14330002b11ccc7b463f5a1f9accebec87b
[INFO] testing austinjones/elitetrader against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faustinjones%2Felitetrader" "/workspace/builds/worker-4/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/austinjones/elitetrader on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/austinjones/elitetrader
[INFO] finished tweaking git repo https://github.com/austinjones/elitetrader
[INFO] tweaked toml for git repo https://github.com/austinjones/elitetrader written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate git repo https://github.com/austinjones/elitetrader already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 16f5c290f348bdd347fb1a3be5363729861bb20d28df0267ef588314abc50d10
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "16f5c290f348bdd347fb1a3be5363729861bb20d28df0267ef588314abc50d10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "16f5c290f348bdd347fb1a3be5363729861bb20d28df0267ef588314abc50d10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16f5c290f348bdd347fb1a3be5363729861bb20d28df0267ef588314abc50d10", kill_on_drop: false }`
[INFO] [stdout] 16f5c290f348bdd347fb1a3be5363729861bb20d28df0267ef588314abc50d10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ead147d54fe9d486dcd103cfbb91fc88e9b29d4792b3bb5acb1c15ef82cb206c
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ead147d54fe9d486dcd103cfbb91fc88e9b29d4792b3bb5acb1c15ef82cb206c", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.31
[INFO] [stderr]    Compiling winapi v0.3.8
[INFO] [stderr]    Compiling httparse v1.1.1
[INFO] [stderr]    Compiling serde_json v1.0.55
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-bigint v0.3.0
[INFO] [stderr]    Compiling num-rational v0.3.0
[INFO] [stderr]    Compiling advapi32-sys v0.1.2
[INFO] [stderr]    Compiling filetime v0.2.10
[INFO] [stderr]    Compiling flate2 v1.0.14
[INFO] [stderr]    Compiling tokio v0.2.21
[INFO] [stderr]    Compiling native-tls v0.2.4
[INFO] [stderr]    Compiling crossbeam v0.7.3
[INFO] [stderr]    Compiling async-compression v0.3.4
[INFO] [stderr]    Compiling rand v0.3.12
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling num-complex v0.3.0
[INFO] [stderr]    Compiling num v0.1.29
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling spatial v0.0.1 (https://github.com/austinjones/spatial.git#6be72175)
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num v0.3.0
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]    Compiling tokio-util v0.3.1
[INFO] [stderr]    Compiling tokio-tls v0.3.1
[INFO] [stderr]    Compiling statistical v1.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.111
[INFO] [stderr]    Compiling pin-project-internal v0.4.22
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]    Compiling time-macros v0.1.0
[INFO] [stderr]    Compiling time v0.2.16
[INFO] [stderr]    Compiling pin-project v0.4.22
[INFO] [stderr]    Compiling futures-util v0.3.5
[INFO] [stderr]    Compiling serde v1.0.111
[INFO] [stderr]    Compiling h2 v0.2.5
[INFO] [stderr]    Compiling hyper v0.13.6
[INFO] [stderr]    Compiling bstr v0.2.13
[INFO] [stderr]    Compiling serde_urlencoded v0.6.1
[INFO] [stderr]    Compiling hyper-tls v0.4.1
[INFO] [stderr]    Compiling csv v1.1.3
[INFO] [stderr]    Compiling reqwest v0.10.6
[INFO] [stderr]    Compiling elitetrader v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/data/edce.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |             'listing: for listing in station.listings.iter_mut() {
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `data::adjustments::time::PreciseTime`: Use `Instant`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use time::PreciseTime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `data::adjustments::time::precise_time_s`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:269:29
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let process_start = time::precise_time_s();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `data::adjustments::time::precise_time_s`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:271:27
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let process_end = time::precise_time_s();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `data::adjustments::time::PreciseTime`: Use `Instant`
[INFO] [stdout]    --> src/main.rs:520:26
[INFO] [stdout]     |
[INFO] [stdout] 520 |         let start_time = PreciseTime::now();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `data::adjustments::time::PreciseTime`: Use `Instant`
[INFO] [stdout]    --> src/main.rs:585:34
[INFO] [stdout]     |
[INFO] [stdout] 585 |         let span = start_time.to(PreciseTime::now());
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior is unexpected and probably not what you want. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/persist.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::env::home_dir;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior is unexpected and probably not what you want. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/persist.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |     match home_dir() {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]    --> src/main.rs:385:23
[INFO] [stdout]     |
[INFO] [stdout] 385 |             let now = PrimitiveDateTime::now();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::Instant::to`: Use `rhs - lhs`
[INFO] [stdout]    --> src/main.rs:585:31
[INFO] [stdout]     |
[INFO] [stdout] 585 |         let span = start_time.to(PreciseTime::now());
[INFO] [stdout]     |                               ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::Duration::num_milliseconds`: Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`.
[INFO] [stdout]    --> src/main.rs:586:28
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let seconds = span.num_milliseconds() as f64 / 1000f64;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::Duration::num_milliseconds`: Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`.
[INFO] [stdout]    --> src/main.rs:587:28
[INFO] [stdout]     |
[INFO] [stdout] 587 |         let minutes = span.num_milliseconds() as f64 / 60000f64;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]   --> src/data/adjustments.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let timespec = PrimitiveDateTime::now();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]   --> src/data/adjustments.rs:45:53
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let time_str = format!("{:010}-{:09}", timespec.timestamp(), timespec.nanosecond());
[INFO] [stdout]    |                                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]   --> src/data/universe.rs:62:27
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let now = PrimitiveDateTime::now().timestamp();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]   --> src/data/universe.rs:62:52
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let now = PrimitiveDateTime::now().timestamp();
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::Duration::num_seconds`: Use the `whole_seconds` function
[INFO] [stdout]   --> src/data/universe.rs:65:37
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let num_hours = age.num_seconds() as f64 / 3600f64;
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]    --> src/data/universe.rs:170:19
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let now = PrimitiveDateTime::now().timestamp();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]    --> src/data/universe.rs:170:44
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let now = PrimitiveDateTime::now().timestamp();
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:30:49
[INFO] [stdout]    |
[INFO] [stdout] 30 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:42:49
[INFO] [stdout]    |
[INFO] [stdout] 42 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:54:49
[INFO] [stdout]    |
[INFO] [stdout] 54 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::OffsetDateTime::now`: This function returns a value with an offset of UTC, which is not apparent from its name alone. You should use `OffsetDateTime::now_utc()` instead.
[INFO] [stdout]   --> src/data/time_adjustment.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             OffsetDateTime::now().timestamp() - OffsetDateTime::unix_epoch().timestamp();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::Float`
[INFO] [stdout]  --> src/util/num_unit.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num::traits::Float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/main.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |         0f64 => 0f64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(illegal_floating_point_literal_pattern)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/main.rs:625:9
[INFO] [stdout]     |
[INFO] [stdout] 625 |         0f64 => 0f64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]   --> src/search/search.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |             0f64 => panic!("Cannot score result with 0 distance_in_seconds"),
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/search/unit_trade.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             0f64 => 60f64 * profit_per_ton as f64,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]   --> src/util/num_unit.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             0f64 => (0f64, 0f64),
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `quit` is never read
[INFO] [stdout]    --> src/main.rs:499:25
[INFO] [stdout]     |
[INFO] [stdout] 499 |                         quit = true;
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/main.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |         0f64 => 0f64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_listing_by_index`
[INFO] [stdout]    --> src/data/universe.rs:552:12
[INFO] [stdout]     |
[INFO] [stdout] 552 |     pub fn get_listing_by_index<'a>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_listing_by_index_mut`
[INFO] [stdout]    --> src/data/universe.rs:559:12
[INFO] [stdout]     |
[INFO] [stdout] 559 |     pub fn get_listing_by_index_mut<'a>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_system_mut`
[INFO] [stdout]    --> src/data/universe.rs:570:8
[INFO] [stdout]     |
[INFO] [stdout] 570 |     fn get_system_mut(&mut self, id: u32) -> Option<&mut System> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_system_by_name`
[INFO] [stdout]    --> src/data/universe.rs:575:12
[INFO] [stdout]     |
[INFO] [stdout] 575 |     pub fn get_system_by_name(&self, system_name: &String) -> Option<&System> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `read_text_from_file`
[INFO] [stdout]   --> src/persist.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn read_text_from_file(file: &mut File) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `buys_from_systems`
[INFO] [stdout]   --> src/search/options.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn buys_from_systems(systems: Vec<&System>) -> BuyOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `buys_from_system`
[INFO] [stdout]   --> src/search/options.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn buys_from_system(system: &System) -> BuyOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `sells_from_system`
[INFO] [stdout]    --> src/search/options.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn sells_from_system(system: &System) -> SellOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `sells_from_station`
[INFO] [stdout]    --> src/search/options.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn sells_from_station(station: &Station) -> SellOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `with_trade`
[INFO] [stdout]   --> src/search/search.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn with_trade(&self, trade: &FullTrade<'a>) -> SearchResult<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `fudge`
[INFO] [stdout]   --> src/search/search.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn fudge(val: f64, fudge_factor: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `prompt_confirm`
[INFO] [stdout]  --> src/user_input.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn prompt_confirm( message: &str ) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `new_buffer_desc`
[INFO] [stdout]    --> src/util/scored_buf.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn new_buffer_desc() -> ScoredCircularBuffer<usize, usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `new_buffer_asc`
[INFO] [stdout]    --> src/util/scored_buf.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn new_buffer_asc() -> ScoredCircularBuffer<usize, usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `new_buffer_bucketed`
[INFO] [stdout]    --> src/util/scored_buf.rs:223:8
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn new_buffer_bucketed(sort: Sort) -> ScoredCircularBuffer<usize, BucketTest> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastSystem` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub lastSystem: EdceSystem,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `last_system`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastStarport` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub lastStarport: EdceStarport,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `last_starport`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `basePath` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn generate_opt(basePath: &Option<String>) -> Option<EdceData> {
[INFO] [stdout]    |                         ^^^^^^^^ help: convert the identifier to snake case: `base_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `basePath` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn generate(basePath: &String) -> Option<EdceData> {
[INFO] [stdout]    |                     ^^^^^^^^ help: convert the identifier to snake case: `base_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `basePath` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn read(basePath: &String) -> Option<EdceData> {
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `base_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jsonPath` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let jsonPath = String::new() + basePath + "/last.json";
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `json_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `currentShipId` should have a snake case name
[INFO] [stdout]    --> src/data/edce.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub currentShipId: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_ship_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `buyPrice` should have a snake case name
[INFO] [stdout]    --> src/data/edce.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub buyPrice: u32,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `buy_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sellPrice` should have a snake case name
[INFO] [stdout]    --> src/data/edce.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub sellPrice: u32,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `sell_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2m 02s
[INFO] running `Command { std: "docker" "inspect" "ead147d54fe9d486dcd103cfbb91fc88e9b29d4792b3bb5acb1c15ef82cb206c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ead147d54fe9d486dcd103cfbb91fc88e9b29d4792b3bb5acb1c15ef82cb206c", kill_on_drop: false }`
[INFO] [stdout] ead147d54fe9d486dcd103cfbb91fc88e9b29d4792b3bb5acb1c15ef82cb206c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6007e10b1445a0964d3ad459d9e10e20eab9f69853330a1b0b42c99f515896a8
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "6007e10b1445a0964d3ad459d9e10e20eab9f69853330a1b0b42c99f515896a8", kill_on_drop: false }`
[INFO] [stderr]    Compiling elitetrader v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/data/edce.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |             'listing: for listing in station.listings.iter_mut() {
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `data::adjustments::time::PreciseTime`: Use `Instant`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use time::PreciseTime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `data::adjustments::time::precise_time_s`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:269:29
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let process_start = time::precise_time_s();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `data::adjustments::time::precise_time_s`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:271:27
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let process_end = time::precise_time_s();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `data::adjustments::time::PreciseTime`: Use `Instant`
[INFO] [stdout]    --> src/main.rs:520:26
[INFO] [stdout]     |
[INFO] [stdout] 520 |         let start_time = PreciseTime::now();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `data::adjustments::time::PreciseTime`: Use `Instant`
[INFO] [stdout]    --> src/main.rs:585:34
[INFO] [stdout]     |
[INFO] [stdout] 585 |         let span = start_time.to(PreciseTime::now());
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior is unexpected and probably not what you want. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/persist.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::env::home_dir;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior is unexpected and probably not what you want. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/persist.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |     match home_dir() {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]    --> src/main.rs:385:23
[INFO] [stdout]     |
[INFO] [stdout] 385 |             let now = PrimitiveDateTime::now();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::Instant::to`: Use `rhs - lhs`
[INFO] [stdout]    --> src/main.rs:585:31
[INFO] [stdout]     |
[INFO] [stdout] 585 |         let span = start_time.to(PreciseTime::now());
[INFO] [stdout]     |                               ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::Duration::num_milliseconds`: Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`.
[INFO] [stdout]    --> src/main.rs:586:28
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let seconds = span.num_milliseconds() as f64 / 1000f64;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::Duration::num_milliseconds`: Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`.
[INFO] [stdout]    --> src/main.rs:587:28
[INFO] [stdout]     |
[INFO] [stdout] 587 |         let minutes = span.num_milliseconds() as f64 / 60000f64;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]   --> src/data/adjustments.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let timespec = PrimitiveDateTime::now();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]   --> src/data/adjustments.rs:45:53
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let time_str = format!("{:010}-{:09}", timespec.timestamp(), timespec.nanosecond());
[INFO] [stdout]    |                                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]   --> src/data/universe.rs:62:27
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let now = PrimitiveDateTime::now().timestamp();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]   --> src/data/universe.rs:62:52
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let now = PrimitiveDateTime::now().timestamp();
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::Duration::num_seconds`: Use the `whole_seconds` function
[INFO] [stdout]   --> src/data/universe.rs:65:37
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let num_hours = age.num_seconds() as f64 / 3600f64;
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]    --> src/data/universe.rs:170:19
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let now = PrimitiveDateTime::now().timestamp();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]    --> src/data/universe.rs:170:44
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let now = PrimitiveDateTime::now().timestamp();
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:30:49
[INFO] [stdout]    |
[INFO] [stdout] 30 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:42:49
[INFO] [stdout]    |
[INFO] [stdout] 42 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stdout]   --> src/data/price_adjustment.rs:54:49
[INFO] [stdout]    |
[INFO] [stdout] 54 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `data::adjustments::time::OffsetDateTime::now`: This function returns a value with an offset of UTC, which is not apparent from its name alone. You should use `OffsetDateTime::now_utc()` instead.
[INFO] [stdout]   --> src/data/time_adjustment.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             OffsetDateTime::now().timestamp() - OffsetDateTime::unix_epoch().timestamp();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::Float`
[INFO] [stdout]  --> src/util/num_unit.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num::traits::Float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/main.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |         0f64 => 0f64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(illegal_floating_point_literal_pattern)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/main.rs:625:9
[INFO] [stdout]     |
[INFO] [stdout] 625 |         0f64 => 0f64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]   --> src/search/search.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |             0f64 => panic!("Cannot score result with 0 distance_in_seconds"),
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/search/unit_trade.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             0f64 => 60f64 * profit_per_ton as f64,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]   --> src/util/num_unit.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             0f64 => (0f64, 0f64),
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `quit` is never read
[INFO] [stdout]    --> src/main.rs:499:25
[INFO] [stdout]     |
[INFO] [stdout] 499 |                         quit = true;
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/main.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |         0f64 => 0f64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_listing_by_index`
[INFO] [stdout]    --> src/data/universe.rs:552:12
[INFO] [stdout]     |
[INFO] [stdout] 552 |     pub fn get_listing_by_index<'a>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_listing_by_index_mut`
[INFO] [stdout]    --> src/data/universe.rs:559:12
[INFO] [stdout]     |
[INFO] [stdout] 559 |     pub fn get_listing_by_index_mut<'a>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_system_mut`
[INFO] [stdout]    --> src/data/universe.rs:570:8
[INFO] [stdout]     |
[INFO] [stdout] 570 |     fn get_system_mut(&mut self, id: u32) -> Option<&mut System> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_system_by_name`
[INFO] [stdout]    --> src/data/universe.rs:575:12
[INFO] [stdout]     |
[INFO] [stdout] 575 |     pub fn get_system_by_name(&self, system_name: &String) -> Option<&System> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `read_text_from_file`
[INFO] [stdout]   --> src/persist.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn read_text_from_file(file: &mut File) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `buys_from_systems`
[INFO] [stdout]   --> src/search/options.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn buys_from_systems(systems: Vec<&System>) -> BuyOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `buys_from_system`
[INFO] [stdout]   --> src/search/options.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn buys_from_system(system: &System) -> BuyOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `sells_from_system`
[INFO] [stdout]    --> src/search/options.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn sells_from_system(system: &System) -> SellOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `sells_from_station`
[INFO] [stdout]    --> src/search/options.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn sells_from_station(station: &Station) -> SellOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `with_trade`
[INFO] [stdout]   --> src/search/search.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn with_trade(&self, trade: &FullTrade<'a>) -> SearchResult<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `fudge`
[INFO] [stdout]   --> src/search/search.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn fudge(val: f64, fudge_factor: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `prompt_confirm`
[INFO] [stdout]  --> src/user_input.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn prompt_confirm( message: &str ) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastSystem` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub lastSystem: EdceSystem,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `last_system`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastStarport` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub lastStarport: EdceStarport,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `last_starport`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `basePath` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn generate_opt(basePath: &Option<String>) -> Option<EdceData> {
[INFO] [stdout]    |                         ^^^^^^^^ help: convert the identifier to snake case: `base_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `basePath` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn generate(basePath: &String) -> Option<EdceData> {
[INFO] [stdout]    |                     ^^^^^^^^ help: convert the identifier to snake case: `base_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `basePath` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn read(basePath: &String) -> Option<EdceData> {
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `base_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jsonPath` should have a snake case name
[INFO] [stdout]   --> src/data/edce.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let jsonPath = String::new() + basePath + "/last.json";
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `json_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `currentShipId` should have a snake case name
[INFO] [stdout]    --> src/data/edce.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub currentShipId: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_ship_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `buyPrice` should have a snake case name
[INFO] [stdout]    --> src/data/edce.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub buyPrice: u32,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `buy_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sellPrice` should have a snake case name
[INFO] [stdout]    --> src/data/edce.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub sellPrice: u32,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `sell_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 55 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 6.10s
[INFO] running `Command { std: "docker" "inspect" "6007e10b1445a0964d3ad459d9e10e20eab9f69853330a1b0b42c99f515896a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6007e10b1445a0964d3ad459d9e10e20eab9f69853330a1b0b42c99f515896a8", kill_on_drop: false }`
[INFO] [stdout] 6007e10b1445a0964d3ad459d9e10e20eab9f69853330a1b0b42c99f515896a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 90e431c6134deb1ec75a31220d6e2959fbeec15d2243968bb13febc8e5bf4824
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "90e431c6134deb1ec75a31220d6e2959fbeec15d2243968bb13febc8e5bf4824", kill_on_drop: false }`
[INFO] [stderr] warning: unused label
[INFO] [stderr]   --> src/data/edce.rs:69:13
[INFO] [stderr]    |
[INFO] [stderr] 69 |             'listing: for listing in station.listings.iter_mut() {
[INFO] [stderr]    |             ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_labels)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `data::adjustments::time::PreciseTime`: Use `Instant`
[INFO] [stderr]   --> src/main.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use time::PreciseTime;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `data::adjustments::time::precise_time_s`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stderr]    --> src/main.rs:269:29
[INFO] [stderr]     |
[INFO] [stderr] 269 |         let process_start = time::precise_time_s();
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `data::adjustments::time::precise_time_s`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stderr]    --> src/main.rs:271:27
[INFO] [stderr]     |
[INFO] [stderr] 271 |         let process_end = time::precise_time_s();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `data::adjustments::time::PreciseTime`: Use `Instant`
[INFO] [stderr]    --> src/main.rs:520:26
[INFO] [stderr]     |
[INFO] [stderr] 520 |         let start_time = PreciseTime::now();
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `data::adjustments::time::PreciseTime`: Use `Instant`
[INFO] [stderr]    --> src/main.rs:585:34
[INFO] [stderr]     |
[INFO] [stderr] 585 |         let span = start_time.to(PreciseTime::now());
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::env::home_dir`: This function's behavior is unexpected and probably not what you want. Consider using a crate from crates.io instead.
[INFO] [stderr]   --> src/persist.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::env::home_dir;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::env::home_dir`: This function's behavior is unexpected and probably not what you want. Consider using a crate from crates.io instead.
[INFO] [stderr]   --> src/persist.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 |     match home_dir() {
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stderr]    --> src/main.rs:385:23
[INFO] [stderr]     |
[INFO] [stderr] 385 |             let now = PrimitiveDateTime::now();
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::Instant::to`: Use `rhs - lhs`
[INFO] [stderr]    --> src/main.rs:585:31
[INFO] [stderr]     |
[INFO] [stderr] 585 |         let span = start_time.to(PreciseTime::now());
[INFO] [stderr]     |                               ^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::Duration::num_milliseconds`: Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`.
[INFO] [stderr]    --> src/main.rs:586:28
[INFO] [stderr]     |
[INFO] [stderr] 586 |         let seconds = span.num_milliseconds() as f64 / 1000f64;
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::Duration::num_milliseconds`: Use the `whole_milliseconds` function. The value is clamped between `i64::min_value()` and `i64::max_value()`.
[INFO] [stderr]    --> src/main.rs:587:28
[INFO] [stderr]     |
[INFO] [stderr] 587 |         let minutes = span.num_milliseconds() as f64 / 60000f64;
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stderr]   --> src/data/adjustments.rs:44:20
[INFO] [stderr]    |
[INFO] [stderr] 44 |     let timespec = PrimitiveDateTime::now();
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stderr]   --> src/data/adjustments.rs:45:53
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let time_str = format!("{:010}-{:09}", timespec.timestamp(), timespec.nanosecond());
[INFO] [stderr]    |                                                     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stderr]   --> src/data/universe.rs:62:27
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 let now = PrimitiveDateTime::now().timestamp();
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stderr]   --> src/data/universe.rs:62:52
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 let now = PrimitiveDateTime::now().timestamp();
[INFO] [stderr]    |                                                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::Duration::num_seconds`: Use the `whole_seconds` function
[INFO] [stderr]   --> src/data/universe.rs:65:37
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 let num_hours = age.num_seconds() as f64 / 3600f64;
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stderr]    --> src/data/universe.rs:170:19
[INFO] [stderr]     |
[INFO] [stderr] 170 |         let now = PrimitiveDateTime::now().timestamp();
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stderr]    --> src/data/universe.rs:170:44
[INFO] [stderr]     |
[INFO] [stderr] 170 |         let now = PrimitiveDateTime::now().timestamp();
[INFO] [stderr]     |                                            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stderr]   --> src/data/price_adjustment.rs:30:24
[INFO] [stderr]    |
[INFO] [stderr] 30 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stderr]   --> src/data/price_adjustment.rs:30:49
[INFO] [stderr]    |
[INFO] [stderr] 30 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stderr]    |                                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stderr]   --> src/data/price_adjustment.rs:42:24
[INFO] [stderr]    |
[INFO] [stderr] 42 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stderr]   --> src/data/price_adjustment.rs:42:49
[INFO] [stderr]    |
[INFO] [stderr] 42 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stderr]    |                                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::now`: This method returns a value that assumes an offset of UTC.
[INFO] [stderr]   --> src/data/price_adjustment.rs:54:24
[INFO] [stderr]    |
[INFO] [stderr] 54 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::PrimitiveDateTime::timestamp`: This method assumes an offset of UTC.
[INFO] [stderr]   --> src/data/price_adjustment.rs:54:49
[INFO] [stderr]    |
[INFO] [stderr] 54 |             timestamp: PrimitiveDateTime::now().timestamp() as u64,
[INFO] [stderr]    |                                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `data::adjustments::time::OffsetDateTime::now`: This function returns a value with an offset of UTC, which is not apparent from its name alone. You should use `OffsetDateTime::now_utc()` instead.
[INFO] [stderr]   --> src/data/time_adjustment.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |             OffsetDateTime::now().timestamp() - OffsetDateTime::unix_epoch().timestamp();
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `num::traits::Float`
[INFO] [stderr]  --> src/util/num_unit.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use num::traits::Float;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: floating-point types cannot be used in patterns
[INFO] [stderr]    --> src/main.rs:311:9
[INFO] [stderr]     |
[INFO] [stderr] 311 |         0f64 => 0f64,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(illegal_floating_point_literal_pattern)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stderr] 
[INFO] [stderr] warning: floating-point types cannot be used in patterns
[INFO] [stderr]    --> src/main.rs:625:9
[INFO] [stderr]     |
[INFO] [stderr] 625 |         0f64 => 0f64,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stderr] 
[INFO] [stderr] warning: floating-point types cannot be used in patterns
[INFO] [stderr]   --> src/search/search.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |             0f64 => panic!("Cannot score result with 0 distance_in_seconds"),
[INFO] [stderr]    |             ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stderr] 
[INFO] [stderr] warning: floating-point types cannot be used in patterns
[INFO] [stderr]    --> src/search/unit_trade.rs:167:13
[INFO] [stderr]     |
[INFO] [stderr] 167 |             0f64 => 60f64 * profit_per_ton as f64,
[INFO] [stderr]     |             ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stderr] 
[INFO] [stderr] warning: floating-point types cannot be used in patterns
[INFO] [stderr]   --> src/util/num_unit.rs:55:13
[INFO] [stderr]    |
[INFO] [stderr] 55 |             0f64 => (0f64, 0f64),
[INFO] [stderr]    |             ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `quit` is never read
[INFO] [stderr]    --> src/main.rs:499:25
[INFO] [stderr]     |
[INFO] [stderr] 499 |                         quit = true;
[INFO] [stderr]     |                         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: floating-point types cannot be used in patterns
[INFO] [stderr]    --> src/main.rs:311:9
[INFO] [stderr]     |
[INFO] [stderr] 311 |         0f64 => 0f64,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_listing_by_index`
[INFO] [stderr]    --> src/data/universe.rs:552:12
[INFO] [stderr]     |
[INFO] [stderr] 552 |     pub fn get_listing_by_index<'a>(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_listing_by_index_mut`
[INFO] [stderr]    --> src/data/universe.rs:559:12
[INFO] [stderr]     |
[INFO] [stderr] 559 |     pub fn get_listing_by_index_mut<'a>(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_system_mut`
[INFO] [stderr]    --> src/data/universe.rs:570:8
[INFO] [stderr]     |
[INFO] [stderr] 570 |     fn get_system_mut(&mut self, id: u32) -> Option<&mut System> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_system_by_name`
[INFO] [stderr]    --> src/data/universe.rs:575:12
[INFO] [stderr]     |
[INFO] [stderr] 575 |     pub fn get_system_by_name(&self, system_name: &String) -> Option<&System> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `read_text_from_file`
[INFO] [stderr]   --> src/persist.rs:45:8
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub fn read_text_from_file(file: &mut File) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `buys_from_systems`
[INFO] [stderr]   --> src/search/options.rs:47:12
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub fn buys_from_systems(systems: Vec<&System>) -> BuyOptions {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `buys_from_system`
[INFO] [stderr]   --> src/search/options.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn buys_from_system(system: &System) -> BuyOptions {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `sells_from_system`
[INFO] [stderr]    --> src/search/options.rs:108:12
[INFO] [stderr]     |
[INFO] [stderr] 108 |     pub fn sells_from_system(system: &System) -> SellOptions {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `sells_from_station`
[INFO] [stderr]    --> src/search/options.rs:122:12
[INFO] [stderr]     |
[INFO] [stderr] 122 |     pub fn sells_from_station(station: &Station) -> SellOptions {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `with_trade`
[INFO] [stderr]   --> src/search/search.rs:46:12
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn with_trade(&self, trade: &FullTrade<'a>) -> SearchResult<'a> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `fudge`
[INFO] [stderr]   --> src/search/search.rs:79:8
[INFO] [stderr]    |
[INFO] [stderr] 79 |     fn fudge(val: f64, fudge_factor: f64) -> f64 {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `prompt_confirm`
[INFO] [stderr]  --> src/user_input.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn prompt_confirm( message: &str ) -> bool {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `lastSystem` should have a snake case name
[INFO] [stderr]   --> src/data/edce.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub lastSystem: EdceSystem,
[INFO] [stderr]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `last_system`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `lastStarport` should have a snake case name
[INFO] [stderr]   --> src/data/edce.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub lastStarport: EdceStarport,
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `last_starport`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `basePath` should have a snake case name
[INFO] [stderr]   --> src/data/edce.rs:20:25
[INFO] [stderr]    |
[INFO] [stderr] 20 |     pub fn generate_opt(basePath: &Option<String>) -> Option<EdceData> {
[INFO] [stderr]    |                         ^^^^^^^^ help: convert the identifier to snake case: `base_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `basePath` should have a snake case name
[INFO] [stderr]   --> src/data/edce.rs:27:21
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn generate(basePath: &String) -> Option<EdceData> {
[INFO] [stderr]    |                     ^^^^^^^^ help: convert the identifier to snake case: `base_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `basePath` should have a snake case name
[INFO] [stderr]   --> src/data/edce.rs:41:13
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn read(basePath: &String) -> Option<EdceData> {
[INFO] [stderr]    |             ^^^^^^^^ help: convert the identifier to snake case: `base_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `jsonPath` should have a snake case name
[INFO] [stderr]   --> src/data/edce.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let jsonPath = String::new() + basePath + "/last.json";
[INFO] [stderr]    |             ^^^^^^^^ help: convert the identifier to snake case: `json_path`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `currentShipId` should have a snake case name
[INFO] [stderr]    --> src/data/edce.rs:123:9
[INFO] [stderr]     |
[INFO] [stderr] 123 |     pub currentShipId: usize,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_ship_id`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `buyPrice` should have a snake case name
[INFO] [stderr]    --> src/data/edce.rs:145:9
[INFO] [stderr]     |
[INFO] [stderr] 145 |     pub buyPrice: u32,
[INFO] [stderr]     |         ^^^^^^^^ help: convert the identifier to snake case: `buy_price`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `sellPrice` should have a snake case name
[INFO] [stderr]    --> src/data/edce.rs:146:9
[INFO] [stderr]     |
[INFO] [stderr] 146 |     pub sellPrice: u32,
[INFO] [stderr]     |         ^^^^^^^^^ help: convert the identifier to snake case: `sell_price`
[INFO] [stderr] 
[INFO] [stderr] warning: 55 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.37s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/elite_trader-89d476e7ca5329b0
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test util::scored_buf::tests::test_sort_bucket_desc ... ok
[INFO] [stdout] test util::scored_buf::tests::test_sort_asc ... ok
[INFO] [stdout] test util::scored_buf::tests::test_sort_bucket_asc ... ok
[INFO] [stdout] test util::scored_buf::tests::test_sort_desc ... ok
[INFO] [stdout] test util::scored_buf::tests::test_sort_mut_asc ... ok
[INFO] [stdout] test util::scored_buf::tests::test_sort_mut_desc ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "90e431c6134deb1ec75a31220d6e2959fbeec15d2243968bb13febc8e5bf4824", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90e431c6134deb1ec75a31220d6e2959fbeec15d2243968bb13febc8e5bf4824", kill_on_drop: false }`
[INFO] [stdout] 90e431c6134deb1ec75a31220d6e2959fbeec15d2243968bb13febc8e5bf4824
