[INFO] cloning repository https://github.com/AmnesiaBeing/sxtwl-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AmnesiaBeing/sxtwl-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmnesiaBeing%2Fsxtwl-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmnesiaBeing%2Fsxtwl-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8c4d07880757aa1966be4477972e6573d6670e4c
[INFO] checking AmnesiaBeing/sxtwl-rs against master#217cb73577ed6f30a2005dd75bab01d23ec4cd60 for pr-148939
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmnesiaBeing%2Fsxtwl-rs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AmnesiaBeing/sxtwl-rs
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/AmnesiaBeing/sxtwl-rs
[INFO] tweaked toml for git repo https://github.com/AmnesiaBeing/sxtwl-rs written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AmnesiaBeing/sxtwl-rs on toolchain 217cb73577ed6f30a2005dd75bab01d23ec4cd60
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+217cb73577ed6f30a2005dd75bab01d23ec4cd60" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AmnesiaBeing/sxtwl-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+217cb73577ed6f30a2005dd75bab01d23ec4cd60" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+217cb73577ed6f30a2005dd75bab01d23ec4cd60" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ee32c035c9ec6914649d5163409f18c77a58345c1cd5e8985b67d9a49d793d39
[INFO] running `Command { std: "docker" "start" "-a" "ee32c035c9ec6914649d5163409f18c77a58345c1cd5e8985b67d9a49d793d39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ee32c035c9ec6914649d5163409f18c77a58345c1cd5e8985b67d9a49d793d39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee32c035c9ec6914649d5163409f18c77a58345c1cd5e8985b67d9a49d793d39", kill_on_drop: false }`
[INFO] [stdout] ee32c035c9ec6914649d5163409f18c77a58345c1cd5e8985b67d9a49d793d39
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+217cb73577ed6f30a2005dd75bab01d23ec4cd60" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c28a30e8ae118a6512f5f39e99e68552d34a89fd492e65cf9ee50c7767379877
[INFO] running `Command { std: "docker" "start" "-a" "c28a30e8ae118a6512f5f39e99e68552d34a89fd492e65cf9ee50c7767379877", kill_on_drop: false }`
[INFO] [stderr]     Checking sxtwl-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: `types::JieQi` doesn't implement `Debug`
[INFO] [stdout]    --> src/jieqi.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |         assert_eq!(JieQi::from_index(0), Some(JieQi::LiChun));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `types::JieQi`
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[derive(Debug)]` to `types::JieQi` or manually `impl Debug for types::JieQi`
[INFO] [stdout] help: the trait `Debug` is implemented for `Option<T>`
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/option.rs:594:15
[INFO] [stdout] help: consider annotating `types::JieQi` with `#[derive(Debug)]`
[INFO] [stdout]    --> src/types.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 + #[derive(Debug)]
[INFO] [stdout]  41 | pub enum JieQi {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `types::JieQi` doesn't implement `Debug`
[INFO] [stdout]    --> src/jieqi.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |         assert_eq!(JieQi::from_index(0), Some(JieQi::LiChun));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `types::JieQi`
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[derive(Debug)]` to `types::JieQi` or manually `impl Debug for types::JieQi`
[INFO] [stdout] help: the trait `Debug` is implemented for `Option<T>`
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/option.rs:594:15
[INFO] [stdout] help: consider annotating `types::JieQi` with `#[derive(Debug)]`
[INFO] [stdout]    --> src/types.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 + #[derive(Debug)]
[INFO] [stdout]  41 | pub enum JieQi {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `types::JieQi` doesn't implement `Debug`
[INFO] [stdout]    --> src/jieqi.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         assert_eq!(JieQi::from_index(23), Some(JieQi::DaHan));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `types::JieQi`
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[derive(Debug)]` to `types::JieQi` or manually `impl Debug for types::JieQi`
[INFO] [stdout] help: the trait `Debug` is implemented for `Option<T>`
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/option.rs:594:15
[INFO] [stdout] help: consider annotating `types::JieQi` with `#[derive(Debug)]`
[INFO] [stdout]    --> src/types.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 + #[derive(Debug)]
[INFO] [stdout]  41 | pub enum JieQi {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `types::JieQi` doesn't implement `Debug`
[INFO] [stdout]    --> src/jieqi.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         assert_eq!(JieQi::from_index(23), Some(JieQi::DaHan));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `types::JieQi`
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[derive(Debug)]` to `types::JieQi` or manually `impl Debug for types::JieQi`
[INFO] [stdout] help: the trait `Debug` is implemented for `Option<T>`
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/option.rs:594:15
[INFO] [stdout] help: consider annotating `types::JieQi` with `#[derive(Debug)]`
[INFO] [stdout]    --> src/types.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 + #[derive(Debug)]
[INFO] [stdout]  41 | pub enum JieQi {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `types::JieQi` doesn't implement `Debug`
[INFO] [stdout]    --> src/jieqi.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |         assert_eq!(JieQi::from_index(24), None);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `types::JieQi`
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[derive(Debug)]` to `types::JieQi` or manually `impl Debug for types::JieQi`
[INFO] [stdout] help: the trait `Debug` is implemented for `Option<T>`
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/option.rs:594:15
[INFO] [stdout] help: consider annotating `types::JieQi` with `#[derive(Debug)]`
[INFO] [stdout]    --> src/types.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 + #[derive(Debug)]
[INFO] [stdout]  41 | pub enum JieQi {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `types::JieQi` doesn't implement `Debug`
[INFO] [stdout]    --> src/jieqi.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |         assert_eq!(JieQi::from_index(24), None);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `types::JieQi`
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[derive(Debug)]` to `types::JieQi` or manually `impl Debug for types::JieQi`
[INFO] [stdout] help: the trait `Debug` is implemented for `Option<T>`
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/option.rs:594:15
[INFO] [stdout] help: consider annotating `types::JieQi` with `#[derive(Debug)]`
[INFO] [stdout]    --> src/types.rs:40:1
[INFO] [stdout]     |
[INFO] [stdout]  40 + #[derive(Debug)]
[INFO] [stdout]  41 | pub enum JieQi {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot subtract `types::JulianDay` from `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:216:35
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let is_leap = (end_jd - start_jd).0 > 30.0;
[INFO] [stdout]     |                            ------ ^ -------- types::JulianDay
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Sub` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Sub`
[INFO] [stdout] note: the trait `Sub` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:190:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sxtwl-rs` (lib) due to 6 previous errors
[INFO] [stdout] error[E0369]: cannot subtract `types::JulianDay` from `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:248:53
[INFO] [stdout]     |
[INFO] [stdout] 248 |     if month_idx >= 12 && (all_jieqis[month_idx].jd - all_jieqis[month_idx - 12].jd).0 > 30.0 {
[INFO] [stdout]     |                            ------------------------ ^ ----------------------------- types::JulianDay
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Sub` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Sub`
[INFO] [stdout] note: the trait `Sub` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:190:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0369]: cannot subtract `types::JulianDay` from `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:262:32
[INFO] [stdout]     |
[INFO] [stdout] 262 |     let day_offset = floor((jd - month_start_jd).0);
[INFO] [stdout]     |                             -- ^ -------------- types::JulianDay
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Sub` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Sub`
[INFO] [stdout] note: the trait `Sub` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:190:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot subtract `types::JulianDay` from `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:216:35
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let is_leap = (end_jd - start_jd).0 > 30.0;
[INFO] [stdout]     |                            ------ ^ -------- types::JulianDay
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Sub` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Sub`
[INFO] [stdout] note: the trait `Sub` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:190:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot subtract `types::JulianDay` from `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:283:47
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let is_leap_month = (end_jieqi.jd - start_jieqi.jd).0 > 30.0;
[INFO] [stdout]     |                                  ------------ ^ -------------- types::JulianDay
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Sub` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Sub`
[INFO] [stdout] note: the trait `Sub` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:190:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot subtract `types::JulianDay` from `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:289:50
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let month_days = floor((end_jieqi.jd - start_jieqi.jd).0) as u8;
[INFO] [stdout]     |                                     ------------ ^ -------------- types::JulianDay
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Sub` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Sub`
[INFO] [stdout] note: the trait `Sub` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:190:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot subtract `types::JulianDay` from `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:248:53
[INFO] [stdout]     |
[INFO] [stdout] 248 |     if month_idx >= 12 && (all_jieqis[month_idx].jd - all_jieqis[month_idx - 12].jd).0 > 30.0 {
[INFO] [stdout]     |                            ------------------------ ^ ----------------------------- types::JulianDay
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Sub` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Sub`
[INFO] [stdout] note: the trait `Sub` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:190:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot add `f64` to `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:293:48
[INFO] [stdout]     |
[INFO] [stdout] 293 |                 let target_jd = start_jieqi.jd + (lunar.day - 1) as f64;
[INFO] [stdout]     |                                 -------------- ^ ---------------------- f64
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Add<f64>` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Add<f64>`
[INFO] [stdout] note: the trait `Add` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:77:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot subtract `types::JulianDay` from `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:262:32
[INFO] [stdout]     |
[INFO] [stdout] 262 |     let day_offset = floor((jd - month_start_jd).0);
[INFO] [stdout]     |                             -- ^ -------------- types::JulianDay
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Sub` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Sub`
[INFO] [stdout] note: the trait `Sub` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:190:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot subtract `types::JulianDay` from `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:283:47
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let is_leap_month = (end_jieqi.jd - start_jieqi.jd).0 > 30.0;
[INFO] [stdout]     |                                  ------------ ^ -------------- types::JulianDay
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Sub` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Sub`
[INFO] [stdout] note: the trait `Sub` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:190:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot subtract `types::JulianDay` from `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:289:50
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let month_days = floor((end_jieqi.jd - start_jieqi.jd).0) as u8;
[INFO] [stdout]     |                                     ------------ ^ -------------- types::JulianDay
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Sub` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Sub`
[INFO] [stdout] note: the trait `Sub` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:190:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot add `f64` to `types::JulianDay`
[INFO] [stdout]    --> src/lunar.rs:293:48
[INFO] [stdout]     |
[INFO] [stdout] 293 |                 let target_jd = start_jieqi.jd + (lunar.day - 1) as f64;
[INFO] [stdout]     |                                 -------------- ^ ---------------------- f64
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 types::JulianDay
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `Add<f64>` might be missing for `types::JulianDay`
[INFO] [stdout]    --> src/types.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct JulianDay(pub f64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ must implement `Add<f64>`
[INFO] [stdout] note: the trait `Add` must be implemented
[INFO] [stdout]    --> /rustc/217cb73577ed6f30a2005dd75bab01d23ec4cd60/library/core/src/ops/arith.rs:77:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0369`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0369.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sxtwl-rs` (lib test) due to 12 previous errors
[INFO] running `Command { std: "docker" "inspect" "c28a30e8ae118a6512f5f39e99e68552d34a89fd492e65cf9ee50c7767379877", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c28a30e8ae118a6512f5f39e99e68552d34a89fd492e65cf9ee50c7767379877", kill_on_drop: false }`
[INFO] [stdout] c28a30e8ae118a6512f5f39e99e68552d34a89fd492e65cf9ee50c7767379877
