[INFO] fetching crate rrtk 0.6.0-beta.0...
[INFO] checking rrtk-0.6.0-beta.0 against master#39cb3386ddc6c71657418be28dbb3987eea4aa4b for pr-133536
[INFO] extracting crate rrtk 0.6.0-beta.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate rrtk 0.6.0-beta.0 on toolchain 39cb3386ddc6c71657418be28dbb3987eea4aa4b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rrtk 0.6.0-beta.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rrtk 0.6.0-beta.0
[INFO] tweaked toml for crates.io crate rrtk 0.6.0-beta.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate crates.io crate rrtk 0.6.0-beta.0 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" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 68c2c84e648f4e75932535990d1195677f470f4cd0bd0a4471ffb3e00d93552f
[INFO] running `Command { std: "docker" "start" "-a" "68c2c84e648f4e75932535990d1195677f470f4cd0bd0a4471ffb3e00d93552f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "68c2c84e648f4e75932535990d1195677f470f4cd0bd0a4471ffb3e00d93552f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68c2c84e648f4e75932535990d1195677f470f4cd0bd0a4471ffb3e00d93552f", kill_on_drop: false }`
[INFO] [stdout] 68c2c84e648f4e75932535990d1195677f470f4cd0bd0a4471ffb3e00d93552f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8b6052e2fa448afea379ddc1f9e443e4a52d9d0f9d37c558ea3376bb790d2237
[INFO] running `Command { std: "docker" "start" "-a" "8b6052e2fa448afea379ddc1f9e443e4a52d9d0f9d37c558ea3376bb790d2237", kill_on_drop: false }`
[INFO] [stderr]     Checking rrtk v0.6.0-beta.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/motion_profile.rs:197:30
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |             0.1,
[INFO] [stdout]     |             --- expected `Quantity`, found floating-point number
[INFO] [stdout] 201 |             0.01,
[INFO] [stdout]     |             ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 59  |         start_state: State,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 60  |         end_state: State,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 61  |         max_vel: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 62  |         max_acc: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:203:39
[INFO] [stdout]     |
[INFO] [stdout] 203 |         assert_eq!(motion_profile.t1, 10);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 203 |         assert_eq!(motion_profile.t1, dimensions::Time(10));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:204:39
[INFO] [stdout]     |
[INFO] [stdout] 204 |         assert_eq!(motion_profile.t2, 30);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 204 |         assert_eq!(motion_profile.t2, dimensions::Time(30));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:205:39
[INFO] [stdout]     |
[INFO] [stdout] 205 |         assert_eq!(motion_profile.t3, 40);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 205 |         assert_eq!(motion_profile.t3, dimensions::Time(40));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:206:44
[INFO] [stdout]     |
[INFO] [stdout] 206 |         assert_eq!(motion_profile.max_acc, 0.01);
[INFO] [stdout]     |                                            ^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/motion_profile.rs:210:30
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |             0.1,
[INFO] [stdout]     |             --- expected `Quantity`, found floating-point number
[INFO] [stdout] 214 |             0.01,
[INFO] [stdout]     |             ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 59  |         start_state: State,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 60  |         end_state: State,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 61  |         max_vel: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 62  |         max_acc: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:216:39
[INFO] [stdout]     |
[INFO] [stdout] 216 |         assert_eq!(motion_profile.t1, 10);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 216 |         assert_eq!(motion_profile.t1, dimensions::Time(10));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:217:39
[INFO] [stdout]     |
[INFO] [stdout] 217 |         assert_eq!(motion_profile.t2, 20);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 217 |         assert_eq!(motion_profile.t2, dimensions::Time(20));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:218:39
[INFO] [stdout]     |
[INFO] [stdout] 218 |         assert_eq!(motion_profile.t3, 30);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 218 |         assert_eq!(motion_profile.t3, dimensions::Time(30));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:219:44
[INFO] [stdout]     |
[INFO] [stdout] 219 |         assert_eq!(motion_profile.max_acc, 0.01);
[INFO] [stdout]     |                                            ^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/motion_profile.rs:223:30
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |             0.1,
[INFO] [stdout]     |             --- expected `Quantity`, found floating-point number
[INFO] [stdout] 227 |             0.01,
[INFO] [stdout]     |             ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 59  |         start_state: State,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 60  |         end_state: State,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 61  |         max_vel: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 62  |         max_acc: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:229:39
[INFO] [stdout]     |
[INFO] [stdout] 229 |         assert_eq!(motion_profile.t1, 0);
[INFO] [stdout]     |                                       ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 229 |         assert_eq!(motion_profile.t1, dimensions::Time(0));
[INFO] [stdout]     |                                       +++++++++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:230:39
[INFO] [stdout]     |
[INFO] [stdout] 230 |         assert_eq!(motion_profile.t2, 25);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 230 |         assert_eq!(motion_profile.t2, dimensions::Time(25));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:231:39
[INFO] [stdout]     |
[INFO] [stdout] 231 |         assert_eq!(motion_profile.t3, 35);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 231 |         assert_eq!(motion_profile.t3, dimensions::Time(35));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:232:44
[INFO] [stdout]     |
[INFO] [stdout] 232 |         assert_eq!(motion_profile.max_acc, 0.01);
[INFO] [stdout]     |                                            ^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/motion_profile.rs:236:30
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |             0.1,
[INFO] [stdout]     |             --- expected `Quantity`, found floating-point number
[INFO] [stdout] 240 |             0.01,
[INFO] [stdout]     |             ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 59  |         start_state: State,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 60  |         end_state: State,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 61  |         max_vel: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 62  |         max_acc: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:242:39
[INFO] [stdout]     |
[INFO] [stdout] 242 |         assert_eq!(motion_profile.t1, 10);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 242 |         assert_eq!(motion_profile.t1, dimensions::Time(10));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:243:39
[INFO] [stdout]     |
[INFO] [stdout] 243 |         assert_eq!(motion_profile.t2, 30);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 243 |         assert_eq!(motion_profile.t2, dimensions::Time(30));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:244:39
[INFO] [stdout]     |
[INFO] [stdout] 244 |         assert_eq!(motion_profile.t3, 40);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 244 |         assert_eq!(motion_profile.t3, dimensions::Time(40));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:245:44
[INFO] [stdout]     |
[INFO] [stdout] 245 |         assert_eq!(motion_profile.max_acc, 0.01);
[INFO] [stdout]     |                                            ^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/motion_profile.rs:249:30
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |             0.2,
[INFO] [stdout]     |             --- expected `Quantity`, found floating-point number
[INFO] [stdout] 253 |             0.01,
[INFO] [stdout]     |             ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 59  |         start_state: State,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 60  |         end_state: State,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 61  |         max_vel: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 62  |         max_acc: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:255:39
[INFO] [stdout]     |
[INFO] [stdout] 255 |         assert_eq!(motion_profile.t1, 20);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 255 |         assert_eq!(motion_profile.t1, dimensions::Time(20));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:256:39
[INFO] [stdout]     |
[INFO] [stdout] 256 |         assert_eq!(motion_profile.t2, 30);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 256 |         assert_eq!(motion_profile.t2, dimensions::Time(30));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:257:39
[INFO] [stdout]     |
[INFO] [stdout] 257 |         assert_eq!(motion_profile.t3, 50);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 257 |         assert_eq!(motion_profile.t3, dimensions::Time(50));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:258:44
[INFO] [stdout]     |
[INFO] [stdout] 258 |         assert_eq!(motion_profile.max_acc, 0.01);
[INFO] [stdout]     |                                            ^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/motion_profile.rs:262:30
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |             0.1,
[INFO] [stdout]     |             --- expected `Quantity`, found floating-point number
[INFO] [stdout] 266 |             0.02,
[INFO] [stdout]     |             ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 59  |         start_state: State,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 60  |         end_state: State,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 61  |         max_vel: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 62  |         max_acc: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:268:39
[INFO] [stdout]     |
[INFO] [stdout] 268 |         assert_eq!(motion_profile.t1, 5);
[INFO] [stdout]     |                                       ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 268 |         assert_eq!(motion_profile.t1, dimensions::Time(5));
[INFO] [stdout]     |                                       +++++++++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:269:39
[INFO] [stdout]     |
[INFO] [stdout] 269 |         assert_eq!(motion_profile.t2, 30);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 269 |         assert_eq!(motion_profile.t2, dimensions::Time(30));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:270:39
[INFO] [stdout]     |
[INFO] [stdout] 270 |         assert_eq!(motion_profile.t3, 35);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 270 |         assert_eq!(motion_profile.t3, dimensions::Time(35));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:271:44
[INFO] [stdout]     |
[INFO] [stdout] 271 |         assert_eq!(motion_profile.max_acc, 0.02);
[INFO] [stdout]     |                                            ^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/motion_profile.rs:275:30
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |             0.1,
[INFO] [stdout]     |             --- expected `Quantity`, found floating-point number
[INFO] [stdout] 279 |             0.01,
[INFO] [stdout]     |             ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 59  |         start_state: State,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 60  |         end_state: State,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 61  |         max_vel: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 62  |         max_acc: Quantity,
[INFO] [stdout]     |         -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:281:39
[INFO] [stdout]     |
[INFO] [stdout] 281 |         assert_eq!(motion_profile.t1, 10);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 281 |         assert_eq!(motion_profile.t1, dimensions::Time(10));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:282:39
[INFO] [stdout]     |
[INFO] [stdout] 282 |         assert_eq!(motion_profile.t2, 30);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 282 |         assert_eq!(motion_profile.t2, dimensions::Time(30));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:283:39
[INFO] [stdout]     |
[INFO] [stdout] 283 |         assert_eq!(motion_profile.t3, 40);
[INFO] [stdout]     |                                       ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `dimensions::Time`
[INFO] [stdout]     |
[INFO] [stdout] 283 |         assert_eq!(motion_profile.t3, dimensions::Time(40));
[INFO] [stdout]     |                                       +++++++++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/motion_profile.rs:284:44
[INFO] [stdout]     |
[INFO] [stdout] 284 |         assert_eq!(motion_profile.max_acc, -0.01);
[INFO] [stdout]     |                                            ^^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rrtk` (lib test) due to 35 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0053]: method `get` has an incompatible type for trait
[INFO] [stdout]    --> tests/tests.rs:593:29
[INFO] [stdout]     |
[INFO] [stdout] 593 |         fn get(&self, time: i64) -> Option<Datum<i64>> {
[INFO] [stdout]     |                             ^^^ expected `Time`, found `i64`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&MyHistory, Time) -> Option<_>`
[INFO] [stdout]                found signature `fn(&MyHistory, i64) -> Option<_>`
[INFO] [stdout] help: change the parameter type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 593 |         fn get(&self, time: Time) -> Option<Datum<i64>> {
[INFO] [stdout]     |                             ~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/pid.rs:108:28
[INFO] [stdout]     |
[INFO] [stdout] 108 |         Ok(Some(Datum::new(self.time, (self.time / 2) as f32)))
[INFO] [stdout]     |                 ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 108 |         Ok(Some(Datum::new(rrtk::Time(self.time), (self.time / 2) as f32)))
[INFO] [stdout]     |                            +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:43:63
[INFO] [stdout]    |
[INFO] [stdout] 43 |     assert_eq!(state.get_value(PositionDerivative::Position), 1.0);
[INFO] [stdout]    |                                                               ^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:44:63
[INFO] [stdout]    |
[INFO] [stdout] 44 |     assert_eq!(state.get_value(PositionDerivative::Velocity), 2.0);
[INFO] [stdout]    |                                                               ^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:45:67
[INFO] [stdout]    |
[INFO] [stdout] 45 |     assert_eq!(state.get_value(PositionDerivative::Acceleration), 3.0);
[INFO] [stdout]    |                                                                   ^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:75:34
[INFO] [stdout]    |
[INFO] [stdout] 75 |     assert_eq!(latest(Datum::new(0, 0), Datum::new(1, 1)), Datum::new(1, 1));
[INFO] [stdout]    |                       ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     assert_eq!(latest(Datum::new(rrtk::Time(0), 0), Datum::new(1, 1)), Datum::new(1, 1));
[INFO] [stdout]    |                                  +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:75:52
[INFO] [stdout]    |
[INFO] [stdout] 75 |     assert_eq!(latest(Datum::new(0, 0), Datum::new(1, 1)), Datum::new(1, 1));
[INFO] [stdout]    |                                         ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     assert_eq!(latest(Datum::new(0, 0), Datum::new(rrtk::Time(1), 1)), Datum::new(1, 1));
[INFO] [stdout]    |                                                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:75:71
[INFO] [stdout]    |
[INFO] [stdout] 75 |     assert_eq!(latest(Datum::new(0, 0), Datum::new(1, 1)), Datum::new(1, 1));
[INFO] [stdout]    |                                                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     assert_eq!(latest(Datum::new(0, 0), Datum::new(1, 1)), Datum::new(rrtk::Time(1), 1));
[INFO] [stdout]    |                                                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:76:34
[INFO] [stdout]    |
[INFO] [stdout] 76 |     assert_eq!(latest(Datum::new(1, 0), Datum::new(0, 1)), Datum::new(1, 0));
[INFO] [stdout]    |                       ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     assert_eq!(latest(Datum::new(rrtk::Time(1), 0), Datum::new(0, 1)), Datum::new(1, 0));
[INFO] [stdout]    |                                  +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:76:52
[INFO] [stdout]    |
[INFO] [stdout] 76 |     assert_eq!(latest(Datum::new(1, 0), Datum::new(0, 1)), Datum::new(1, 0));
[INFO] [stdout]    |                                         ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     assert_eq!(latest(Datum::new(1, 0), Datum::new(rrtk::Time(0), 1)), Datum::new(1, 0));
[INFO] [stdout]    |                                                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:76:71
[INFO] [stdout]    |
[INFO] [stdout] 76 |     assert_eq!(latest(Datum::new(1, 0), Datum::new(0, 1)), Datum::new(1, 0));
[INFO] [stdout]    |                                                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     assert_eq!(latest(Datum::new(1, 0), Datum::new(0, 1)), Datum::new(rrtk::Time(1), 0));
[INFO] [stdout]    |                                                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:77:34
[INFO] [stdout]    |
[INFO] [stdout] 77 |     assert_eq!(latest(Datum::new(0, 0), Datum::new(0, 1)), Datum::new(0, 0));
[INFO] [stdout]    |                       ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     assert_eq!(latest(Datum::new(rrtk::Time(0), 0), Datum::new(0, 1)), Datum::new(0, 0));
[INFO] [stdout]    |                                  +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:77:52
[INFO] [stdout]    |
[INFO] [stdout] 77 |     assert_eq!(latest(Datum::new(0, 0), Datum::new(0, 1)), Datum::new(0, 0));
[INFO] [stdout]    |                                         ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     assert_eq!(latest(Datum::new(0, 0), Datum::new(rrtk::Time(0), 1)), Datum::new(0, 0));
[INFO] [stdout]    |                                                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:77:71
[INFO] [stdout]    |
[INFO] [stdout] 77 |     assert_eq!(latest(Datum::new(0, 0), Datum::new(0, 1)), Datum::new(0, 0));
[INFO] [stdout]    |                                                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     assert_eq!(latest(Datum::new(0, 0), Datum::new(0, 1)), Datum::new(rrtk::Time(0), 0));
[INFO] [stdout]    |                                                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:81:28
[INFO] [stdout]    |
[INFO] [stdout] 81 |     assert_eq!(!Datum::new(0, false), Datum::new(0, true));
[INFO] [stdout]    |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 81 |     assert_eq!(!Datum::new(rrtk::Time(0), false), Datum::new(0, true));
[INFO] [stdout]    |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:81:50
[INFO] [stdout]    |
[INFO] [stdout] 81 |     assert_eq!(!Datum::new(0, false), Datum::new(0, true));
[INFO] [stdout]    |                                       ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 81 |     assert_eq!(!Datum::new(0, false), Datum::new(rrtk::Time(0), true));
[INFO] [stdout]    |                                                  +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 85 |     assert_eq!(-Datum::new(0, 1), Datum::new(0, -1));
[INFO] [stdout]    |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     assert_eq!(-Datum::new(rrtk::Time(0), 1), Datum::new(0, -1));
[INFO] [stdout]    |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:85:46
[INFO] [stdout]    |
[INFO] [stdout] 85 |     assert_eq!(-Datum::new(0, 1), Datum::new(0, -1));
[INFO] [stdout]    |                                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     assert_eq!(-Datum::new(0, 1), Datum::new(rrtk::Time(0), -1));
[INFO] [stdout]    |                                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:89:27
[INFO] [stdout]    |
[INFO] [stdout] 89 |     assert_eq!(Datum::new(0, 1) + Datum::new(1, 1), Datum::new(1, 2));
[INFO] [stdout]    |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                |
[INFO] [stdout]    |                arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     assert_eq!(Datum::new(rrtk::Time(0), 1) + Datum::new(1, 1), Datum::new(1, 2));
[INFO] [stdout]    |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:89:46
[INFO] [stdout]    |
[INFO] [stdout] 89 |     assert_eq!(Datum::new(0, 1) + Datum::new(1, 1), Datum::new(1, 2));
[INFO] [stdout]    |                                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     assert_eq!(Datum::new(0, 1) + Datum::new(rrtk::Time(1), 1), Datum::new(1, 2));
[INFO] [stdout]    |                                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:89:64
[INFO] [stdout]    |
[INFO] [stdout] 89 |     assert_eq!(Datum::new(0, 1) + Datum::new(1, 1), Datum::new(1, 2));
[INFO] [stdout]    |                                                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     assert_eq!(Datum::new(0, 1) + Datum::new(1, 1), Datum::new(rrtk::Time(1), 2));
[INFO] [stdout]    |                                                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:90:27
[INFO] [stdout]    |
[INFO] [stdout] 90 |     assert_eq!(Datum::new(1, 1) + Datum::new(0, 1), Datum::new(1, 2));
[INFO] [stdout]    |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                |
[INFO] [stdout]    |                arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     assert_eq!(Datum::new(rrtk::Time(1), 1) + Datum::new(0, 1), Datum::new(1, 2));
[INFO] [stdout]    |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:90:46
[INFO] [stdout]    |
[INFO] [stdout] 90 |     assert_eq!(Datum::new(1, 1) + Datum::new(0, 1), Datum::new(1, 2));
[INFO] [stdout]    |                                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     assert_eq!(Datum::new(1, 1) + Datum::new(rrtk::Time(0), 1), Datum::new(1, 2));
[INFO] [stdout]    |                                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:90:64
[INFO] [stdout]    |
[INFO] [stdout] 90 |     assert_eq!(Datum::new(1, 1) + Datum::new(0, 1), Datum::new(1, 2));
[INFO] [stdout]    |                                                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     assert_eq!(Datum::new(1, 1) + Datum::new(0, 1), Datum::new(rrtk::Time(1), 2));
[INFO] [stdout]    |                                                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut x = Datum::new(0, 1);
[INFO] [stdout]    |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut x = Datum::new(rrtk::Time(0), 1);
[INFO] [stdout]    |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |     x += Datum::new(1, 1);
[INFO] [stdout]    |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |          |
[INFO] [stdout]    |          arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 93 |     x += Datum::new(rrtk::Time(1), 1);
[INFO] [stdout]    |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:94:30
[INFO] [stdout]    |
[INFO] [stdout] 94 |     assert_eq!(x, Datum::new(1, 2));
[INFO] [stdout]    |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     assert_eq!(x, Datum::new(rrtk::Time(1), 2));
[INFO] [stdout]    |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rrtk` (example "pid") due to 1 previous error
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut x = Datum::new(1, 1);
[INFO] [stdout]    |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut x = Datum::new(rrtk::Time(1), 1);
[INFO] [stdout]    |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |     x += Datum::new(0, 1);
[INFO] [stdout]    |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |          |
[INFO] [stdout]    |          arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 97 |     x += Datum::new(rrtk::Time(0), 1);
[INFO] [stdout]    |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/tests.rs:98:30
[INFO] [stdout]    |
[INFO] [stdout] 98 |     assert_eq!(x, Datum::new(1, 2));
[INFO] [stdout]    |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     assert_eq!(x, Datum::new(rrtk::Time(1), 2));
[INFO] [stdout]    |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:100:27
[INFO] [stdout]     |
[INFO] [stdout] 100 |     assert_eq!(Datum::new(0, 1) + 1, Datum::new(0, 2));
[INFO] [stdout]     |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 100 |     assert_eq!(Datum::new(rrtk::Time(0), 1) + 1, Datum::new(0, 2));
[INFO] [stdout]     |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:100:49
[INFO] [stdout]     |
[INFO] [stdout] 100 |     assert_eq!(Datum::new(0, 1) + 1, Datum::new(0, 2));
[INFO] [stdout]     |                                      ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 100 |     assert_eq!(Datum::new(0, 1) + 1, Datum::new(rrtk::Time(0), 2));
[INFO] [stdout]     |                                                 +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:102:28
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut x = Datum::new(0, 1);
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut x = Datum::new(rrtk::Time(0), 1);
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:104:30
[INFO] [stdout]     |
[INFO] [stdout] 104 |     assert_eq!(x, Datum::new(0, 2));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 104 |     assert_eq!(x, Datum::new(rrtk::Time(0), 2));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(Datum::new(0, 1) - Datum::new(1, 1), Datum::new(1, 0));
[INFO] [stdout]     |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(Datum::new(rrtk::Time(0), 1) - Datum::new(1, 1), Datum::new(1, 0));
[INFO] [stdout]     |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:108:46
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(Datum::new(0, 1) - Datum::new(1, 1), Datum::new(1, 0));
[INFO] [stdout]     |                                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(Datum::new(0, 1) - Datum::new(rrtk::Time(1), 1), Datum::new(1, 0));
[INFO] [stdout]     |                                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:108:64
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(Datum::new(0, 1) - Datum::new(1, 1), Datum::new(1, 0));
[INFO] [stdout]     |                                                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(Datum::new(0, 1) - Datum::new(1, 1), Datum::new(rrtk::Time(1), 0));
[INFO] [stdout]     |                                                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(Datum::new(1, 1) - Datum::new(0, 1), Datum::new(1, 0));
[INFO] [stdout]     |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(Datum::new(rrtk::Time(1), 1) - Datum::new(0, 1), Datum::new(1, 0));
[INFO] [stdout]     |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:109:46
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(Datum::new(1, 1) - Datum::new(0, 1), Datum::new(1, 0));
[INFO] [stdout]     |                                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(Datum::new(1, 1) - Datum::new(rrtk::Time(0), 1), Datum::new(1, 0));
[INFO] [stdout]     |                                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(Datum::new(1, 1) - Datum::new(0, 1), Datum::new(1, 0));
[INFO] [stdout]     |                                                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(Datum::new(1, 1) - Datum::new(0, 1), Datum::new(rrtk::Time(1), 0));
[INFO] [stdout]     |                                                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut x = Datum::new(0, 1);
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut x = Datum::new(rrtk::Time(0), 1);
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |     x -= Datum::new(1, 1);
[INFO] [stdout]     |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     x -= Datum::new(rrtk::Time(1), 1);
[INFO] [stdout]     |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:113:30
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_eq!(x, Datum::new(1, 0));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_eq!(x, Datum::new(rrtk::Time(1), 0));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:115:28
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut x = Datum::new(1, 1);
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut x = Datum::new(rrtk::Time(1), 1);
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:116:21
[INFO] [stdout]     |
[INFO] [stdout] 116 |     x -= Datum::new(0, 1);
[INFO] [stdout]     |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 116 |     x -= Datum::new(rrtk::Time(0), 1);
[INFO] [stdout]     |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:117:30
[INFO] [stdout]     |
[INFO] [stdout] 117 |     assert_eq!(x, Datum::new(1, 0));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     assert_eq!(x, Datum::new(rrtk::Time(1), 0));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:119:27
[INFO] [stdout]     |
[INFO] [stdout] 119 |     assert_eq!(Datum::new(0, 1) - 1, Datum::new(0, 0));
[INFO] [stdout]     |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     assert_eq!(Datum::new(rrtk::Time(0), 1) - 1, Datum::new(0, 0));
[INFO] [stdout]     |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:119:49
[INFO] [stdout]     |
[INFO] [stdout] 119 |     assert_eq!(Datum::new(0, 1) - 1, Datum::new(0, 0));
[INFO] [stdout]     |                                      ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     assert_eq!(Datum::new(0, 1) - 1, Datum::new(rrtk::Time(0), 0));
[INFO] [stdout]     |                                                 +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:121:28
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let mut x = Datum::new(0, 1);
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let mut x = Datum::new(rrtk::Time(0), 1);
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:123:30
[INFO] [stdout]     |
[INFO] [stdout] 123 |     assert_eq!(x, Datum::new(0, 0));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 123 |     assert_eq!(x, Datum::new(rrtk::Time(0), 0));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:127:27
[INFO] [stdout]     |
[INFO] [stdout] 127 |     assert_eq!(Datum::new(0, 2) * Datum::new(1, 3), Datum::new(1, 6));
[INFO] [stdout]     |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     assert_eq!(Datum::new(rrtk::Time(0), 2) * Datum::new(1, 3), Datum::new(1, 6));
[INFO] [stdout]     |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:127:46
[INFO] [stdout]     |
[INFO] [stdout] 127 |     assert_eq!(Datum::new(0, 2) * Datum::new(1, 3), Datum::new(1, 6));
[INFO] [stdout]     |                                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     assert_eq!(Datum::new(0, 2) * Datum::new(rrtk::Time(1), 3), Datum::new(1, 6));
[INFO] [stdout]     |                                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:127:64
[INFO] [stdout]     |
[INFO] [stdout] 127 |     assert_eq!(Datum::new(0, 2) * Datum::new(1, 3), Datum::new(1, 6));
[INFO] [stdout]     |                                                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     assert_eq!(Datum::new(0, 2) * Datum::new(1, 3), Datum::new(rrtk::Time(1), 6));
[INFO] [stdout]     |                                                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:128:27
[INFO] [stdout]     |
[INFO] [stdout] 128 |     assert_eq!(Datum::new(1, 2) * Datum::new(0, 3), Datum::new(1, 6));
[INFO] [stdout]     |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     assert_eq!(Datum::new(rrtk::Time(1), 2) * Datum::new(0, 3), Datum::new(1, 6));
[INFO] [stdout]     |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:128:46
[INFO] [stdout]     |
[INFO] [stdout] 128 |     assert_eq!(Datum::new(1, 2) * Datum::new(0, 3), Datum::new(1, 6));
[INFO] [stdout]     |                                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     assert_eq!(Datum::new(1, 2) * Datum::new(rrtk::Time(0), 3), Datum::new(1, 6));
[INFO] [stdout]     |                                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:128:64
[INFO] [stdout]     |
[INFO] [stdout] 128 |     assert_eq!(Datum::new(1, 2) * Datum::new(0, 3), Datum::new(1, 6));
[INFO] [stdout]     |                                                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     assert_eq!(Datum::new(1, 2) * Datum::new(0, 3), Datum::new(rrtk::Time(1), 6));
[INFO] [stdout]     |                                                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:130:28
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut x = Datum::new(0, 2);
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut x = Datum::new(rrtk::Time(0), 2);
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 |     x *= Datum::new(1, 3);
[INFO] [stdout]     |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     x *= Datum::new(rrtk::Time(1), 3);
[INFO] [stdout]     |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 |     assert_eq!(x, Datum::new(1, 6));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 132 |     assert_eq!(x, Datum::new(rrtk::Time(1), 6));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:134:28
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let mut x = Datum::new(1, 2);
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let mut x = Datum::new(rrtk::Time(1), 2);
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:135:21
[INFO] [stdout]     |
[INFO] [stdout] 135 |     x *= Datum::new(0, 3);
[INFO] [stdout]     |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     x *= Datum::new(rrtk::Time(0), 3);
[INFO] [stdout]     |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:136:30
[INFO] [stdout]     |
[INFO] [stdout] 136 |     assert_eq!(x, Datum::new(1, 6));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 136 |     assert_eq!(x, Datum::new(rrtk::Time(1), 6));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:138:27
[INFO] [stdout]     |
[INFO] [stdout] 138 |     assert_eq!(Datum::new(0, 2) * 3, Datum::new(0, 6));
[INFO] [stdout]     |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     assert_eq!(Datum::new(rrtk::Time(0), 2) * 3, Datum::new(0, 6));
[INFO] [stdout]     |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:138:49
[INFO] [stdout]     |
[INFO] [stdout] 138 |     assert_eq!(Datum::new(0, 2) * 3, Datum::new(0, 6));
[INFO] [stdout]     |                                      ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     assert_eq!(Datum::new(0, 2) * 3, Datum::new(rrtk::Time(0), 6));
[INFO] [stdout]     |                                                 +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:140:28
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let mut x = Datum::new(0, 2);
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let mut x = Datum::new(rrtk::Time(0), 2);
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:142:30
[INFO] [stdout]     |
[INFO] [stdout] 142 |     assert_eq!(x, Datum::new(0, 6));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     assert_eq!(x, Datum::new(rrtk::Time(0), 6));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:146:27
[INFO] [stdout]     |
[INFO] [stdout] 146 |     assert_eq!(Datum::new(0, 6) / Datum::new(1, 2), Datum::new(1, 3));
[INFO] [stdout]     |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 146 |     assert_eq!(Datum::new(rrtk::Time(0), 6) / Datum::new(1, 2), Datum::new(1, 3));
[INFO] [stdout]     |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:146:46
[INFO] [stdout]     |
[INFO] [stdout] 146 |     assert_eq!(Datum::new(0, 6) / Datum::new(1, 2), Datum::new(1, 3));
[INFO] [stdout]     |                                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 146 |     assert_eq!(Datum::new(0, 6) / Datum::new(rrtk::Time(1), 2), Datum::new(1, 3));
[INFO] [stdout]     |                                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:146:64
[INFO] [stdout]     |
[INFO] [stdout] 146 |     assert_eq!(Datum::new(0, 6) / Datum::new(1, 2), Datum::new(1, 3));
[INFO] [stdout]     |                                                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 146 |     assert_eq!(Datum::new(0, 6) / Datum::new(1, 2), Datum::new(rrtk::Time(1), 3));
[INFO] [stdout]     |                                                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:147:27
[INFO] [stdout]     |
[INFO] [stdout] 147 |     assert_eq!(Datum::new(1, 6) / Datum::new(0, 2), Datum::new(1, 3));
[INFO] [stdout]     |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 147 |     assert_eq!(Datum::new(rrtk::Time(1), 6) / Datum::new(0, 2), Datum::new(1, 3));
[INFO] [stdout]     |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:147:46
[INFO] [stdout]     |
[INFO] [stdout] 147 |     assert_eq!(Datum::new(1, 6) / Datum::new(0, 2), Datum::new(1, 3));
[INFO] [stdout]     |                                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 147 |     assert_eq!(Datum::new(1, 6) / Datum::new(rrtk::Time(0), 2), Datum::new(1, 3));
[INFO] [stdout]     |                                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:147:64
[INFO] [stdout]     |
[INFO] [stdout] 147 |     assert_eq!(Datum::new(1, 6) / Datum::new(0, 2), Datum::new(1, 3));
[INFO] [stdout]     |                                                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 147 |     assert_eq!(Datum::new(1, 6) / Datum::new(0, 2), Datum::new(rrtk::Time(1), 3));
[INFO] [stdout]     |                                                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:149:28
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let mut x = Datum::new(0, 6);
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let mut x = Datum::new(rrtk::Time(0), 6);
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:150:21
[INFO] [stdout]     |
[INFO] [stdout] 150 |     x /= Datum::new(1, 2);
[INFO] [stdout]     |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     x /= Datum::new(rrtk::Time(1), 2);
[INFO] [stdout]     |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:151:30
[INFO] [stdout]     |
[INFO] [stdout] 151 |     assert_eq!(x, Datum::new(1, 3));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 151 |     assert_eq!(x, Datum::new(rrtk::Time(1), 3));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:153:28
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let mut x = Datum::new(1, 6);
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let mut x = Datum::new(rrtk::Time(1), 6);
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:154:21
[INFO] [stdout]     |
[INFO] [stdout] 154 |     x /= Datum::new(0, 2);
[INFO] [stdout]     |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 154 |     x /= Datum::new(rrtk::Time(0), 2);
[INFO] [stdout]     |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:155:30
[INFO] [stdout]     |
[INFO] [stdout] 155 |     assert_eq!(x, Datum::new(1, 3));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 155 |     assert_eq!(x, Datum::new(rrtk::Time(1), 3));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:157:27
[INFO] [stdout]     |
[INFO] [stdout] 157 |     assert_eq!(Datum::new(0, 6) / 2, Datum::new(0, 3));
[INFO] [stdout]     |                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 157 |     assert_eq!(Datum::new(rrtk::Time(0), 6) / 2, Datum::new(0, 3));
[INFO] [stdout]     |                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:157:49
[INFO] [stdout]     |
[INFO] [stdout] 157 |     assert_eq!(Datum::new(0, 6) / 2, Datum::new(0, 3));
[INFO] [stdout]     |                                      ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 157 |     assert_eq!(Datum::new(0, 6) / 2, Datum::new(rrtk::Time(0), 3));
[INFO] [stdout]     |                                                 +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:159:28
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut x = Datum::new(0, 6);
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut x = Datum::new(rrtk::Time(0), 6);
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:161:30
[INFO] [stdout]     |
[INFO] [stdout] 161 |     assert_eq!(x, Datum::new(0, 3));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 161 |     assert_eq!(x, Datum::new(rrtk::Time(0), 3));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Datum::new(0, State::new(1.0, 2.0, 3.0)) * Datum::new(1, 3.0),
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Datum::new(rrtk::Time(0), State::new(1.0, 2.0, 3.0)) * Datum::new(1, 3.0),
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/streams.rs:37:48
[INFO] [stdout]    |
[INFO] [stdout] 37 |         assert_eq!(time_getter.get().unwrap(), 1);
[INFO] [stdout]    |                                                ^ expected `Time`, found integer
[INFO] [stdout]    |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 37 |         assert_eq!(time_getter.get().unwrap(), rrtk::Time(1));
[INFO] [stdout]    |                                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:166:63
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Datum::new(0, State::new(1.0, 2.0, 3.0)) * Datum::new(1, 3.0),
[INFO] [stdout]     |                                                    ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Datum::new(0, State::new(1.0, 2.0, 3.0)) * Datum::new(rrtk::Time(1), 3.0),
[INFO] [stdout]     |                                                               +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |         Datum::new(1, State::new(3.0, 6.0, 9.0))
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 167 |         Datum::new(rrtk::Time(1), State::new(3.0, 6.0, 9.0))
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |         Datum::new(1, State::new(1.0, 2.0, 3.0)) * Datum::new(0, 3.0),
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 170 |         Datum::new(rrtk::Time(1), State::new(1.0, 2.0, 3.0)) * Datum::new(0, 3.0),
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:170:63
[INFO] [stdout]     |
[INFO] [stdout] 170 |         Datum::new(1, State::new(1.0, 2.0, 3.0)) * Datum::new(0, 3.0),
[INFO] [stdout]     |                                                    ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 170 |         Datum::new(1, State::new(1.0, 2.0, 3.0)) * Datum::new(rrtk::Time(0), 3.0),
[INFO] [stdout]     |                                                               +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/streams.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Ok(Some(Datum::new(self.time, 0.0)))
[INFO] [stdout]    |                     ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Ok(Some(Datum::new(rrtk::Time(self.time), 0.0)))
[INFO] [stdout]    |                                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:171:20
[INFO] [stdout]     |
[INFO] [stdout] 171 |         Datum::new(1, State::new(3.0, 6.0, 9.0))
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 171 |         Datum::new(rrtk::Time(1), State::new(3.0, 6.0, 9.0))
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut x = Datum::new(0, State::new(1.0, 2.0, 3.0));
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut x = Datum::new(rrtk::Time(0), State::new(1.0, 2.0, 3.0));
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/streams.rs:72:69
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut expirer = Expirer::new(stream, time_getter.clone(), 10);
[INFO] [stdout]    |                           ------------                              ^^ expected `Time`, found integer
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/streams.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub const fn new(
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut expirer = Expirer::new(stream, time_getter.clone(), rrtk::Time(10));
[INFO] [stdout]    |                                                                     +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |     x *= Datum::new(1, 3.0);
[INFO] [stdout]     |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 175 |     x *= Datum::new(rrtk::Time(1), 3.0);
[INFO] [stdout]     |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:176:30
[INFO] [stdout]     |
[INFO] [stdout] 176 |     assert_eq!(x, Datum::new(1, State::new(3.0, 6.0, 9.0)));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 176 |     assert_eq!(x, Datum::new(rrtk::Time(1), State::new(3.0, 6.0, 9.0)));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/streams.rs:74:54
[INFO] [stdout]    |
[INFO] [stdout] 74 |         assert_eq!(expirer.get(), Ok(Some(Datum::new(0, 0.0))));
[INFO] [stdout]    |                                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 74 |         assert_eq!(expirer.get(), Ok(Some(Datum::new(rrtk::Time(0), 0.0))));
[INFO] [stdout]    |                                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/streams.rs:76:54
[INFO] [stdout]    |
[INFO] [stdout] 76 |         assert_eq!(expirer.get(), Ok(Some(Datum::new(0, 0.0))));
[INFO] [stdout]    |                                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 76 |         assert_eq!(expirer.get(), Ok(Some(Datum::new(rrtk::Time(0), 0.0))));
[INFO] [stdout]    |                                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:178:28
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let mut x = Datum::new(1, State::new(1.0, 2.0, 3.0));
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let mut x = Datum::new(rrtk::Time(1), State::new(1.0, 2.0, 3.0));
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:179:21
[INFO] [stdout]     |
[INFO] [stdout] 179 |     x *= Datum::new(0, 3.0);
[INFO] [stdout]     |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     x *= Datum::new(rrtk::Time(0), 3.0);
[INFO] [stdout]     |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:180:30
[INFO] [stdout]     |
[INFO] [stdout] 180 |     assert_eq!(x, Datum::new(1, State::new(3.0, 6.0, 9.0)));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 180 |     assert_eq!(x, Datum::new(rrtk::Time(1), State::new(3.0, 6.0, 9.0)));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:183:20
[INFO] [stdout]     |
[INFO] [stdout] 183 |         Datum::new(0, State::new(1.0, 2.0, 3.0)) * 3.0,
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 183 |         Datum::new(rrtk::Time(0), State::new(1.0, 2.0, 3.0)) * 3.0,
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/streams.rs:45:32
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Ok(Some(Datum::new(0, 0.0)))
[INFO] [stdout]    |                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Ok(Some(Datum::new(rrtk::Time(0), 0.0)))
[INFO] [stdout]    |                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:184:20
[INFO] [stdout]     |
[INFO] [stdout] 184 |         Datum::new(0, State::new(3.0, 6.0, 9.0))
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 184 |         Datum::new(rrtk::Time(0), State::new(3.0, 6.0, 9.0))
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/streams.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Ok(self.time)
[INFO] [stdout]    |             -- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] help: the type constructed contains `i64` due to the type of the argument passed
[INFO] [stdout]   --> tests/streams.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Ok(self.time)
[INFO] [stdout]    |             ^^^---------^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/result.rs:532:5
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 58 |             Ok(rrtk::Time(self.time))
[INFO] [stdout]    |                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:187:28
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let mut x = Datum::new(0, State::new(1.0, 2.0, 3.0));
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let mut x = Datum::new(rrtk::Time(0), State::new(1.0, 2.0, 3.0));
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:189:30
[INFO] [stdout]     |
[INFO] [stdout] 189 |     assert_eq!(x, Datum::new(0, State::new(3.0, 6.0, 9.0)));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 189 |     assert_eq!(x, Datum::new(rrtk::Time(0), State::new(3.0, 6.0, 9.0)));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:113:57
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let expirer = Expirer::new(stream, time_getter, 10);
[INFO] [stdout]     |                       ------------                      ^^ expected `Time`, found integer
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/streams.rs:64:18
[INFO] [stdout]     |
[INFO] [stdout] 64  |     pub const fn new(
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let expirer = Expirer::new(stream, time_getter, rrtk::Time(10));
[INFO] [stdout]     |                                                         +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:194:20
[INFO] [stdout]     |
[INFO] [stdout] 194 |         Datum::new(0, State::new(2.0, 4.0, 6.0)) / Datum::new(1, 2.0),
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 194 |         Datum::new(rrtk::Time(0), State::new(2.0, 4.0, 6.0)) / Datum::new(1, 2.0),
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/streams.rs:99:16
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Ok(self.time)
[INFO] [stdout]    |             -- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] help: the type constructed contains `i64` due to the type of the argument passed
[INFO] [stdout]   --> tests/streams.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Ok(self.time)
[INFO] [stdout]    |             ^^^---------^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/result.rs:532:5
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Ok(rrtk::Time(self.time))
[INFO] [stdout]    |                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:194:63
[INFO] [stdout]     |
[INFO] [stdout] 194 |         Datum::new(0, State::new(2.0, 4.0, 6.0)) / Datum::new(1, 2.0),
[INFO] [stdout]     |                                                    ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 194 |         Datum::new(0, State::new(2.0, 4.0, 6.0)) / Datum::new(rrtk::Time(1), 2.0),
[INFO] [stdout]     |                                                               +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:195:20
[INFO] [stdout]     |
[INFO] [stdout] 195 |         Datum::new(1, State::new(1.0, 2.0, 3.0))
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 195 |         Datum::new(rrtk::Time(1), State::new(1.0, 2.0, 3.0))
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |         Datum::new(1, State::new(2.0, 4.0, 6.0)) / Datum::new(0, 2.0),
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 198 |         Datum::new(rrtk::Time(1), State::new(2.0, 4.0, 6.0)) / Datum::new(0, 2.0),
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:198:63
[INFO] [stdout]     |
[INFO] [stdout] 198 |         Datum::new(1, State::new(2.0, 4.0, 6.0)) / Datum::new(0, 2.0),
[INFO] [stdout]     |                                                    ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 198 |         Datum::new(1, State::new(2.0, 4.0, 6.0)) / Datum::new(rrtk::Time(0), 2.0),
[INFO] [stdout]     |                                                               +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |         Datum::new(1, State::new(1.0, 2.0, 3.0))
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 199 |         Datum::new(rrtk::Time(1), State::new(1.0, 2.0, 3.0))
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:136:39
[INFO] [stdout]     |
[INFO] [stdout] 136 |             return Ok(Some(Datum::new(0, 0.0)));
[INFO] [stdout]     |                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 136 |             return Ok(Some(Datum::new(rrtk::Time(0), 0.0)));
[INFO] [stdout]     |                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:202:28
[INFO] [stdout]     |
[INFO] [stdout] 202 |     let mut x = Datum::new(0, State::new(2.0, 4.0, 6.0));
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 202 |     let mut x = Datum::new(rrtk::Time(0), State::new(2.0, 4.0, 6.0));
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:202:39
[INFO] [stdout]     |
[INFO] [stdout] 202 |             return Ok(Some(Datum::new(0, 1.0)));
[INFO] [stdout]     |                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 202 |             return Ok(Some(Datum::new(rrtk::Time(0), 1.0)));
[INFO] [stdout]     |                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:203:21
[INFO] [stdout]     |
[INFO] [stdout] 203 |     x /= Datum::new(1, 2.0);
[INFO] [stdout]     |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     x /= Datum::new(rrtk::Time(1), 2.0);
[INFO] [stdout]     |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:204:30
[INFO] [stdout]     |
[INFO] [stdout] 204 |     assert_eq!(x, Datum::new(1, State::new(1.0, 2.0, 3.0)));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 204 |     assert_eq!(x, Datum::new(rrtk::Time(1), State::new(1.0, 2.0, 3.0)));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:206:28
[INFO] [stdout]     |
[INFO] [stdout] 206 |     let mut x = Datum::new(1, State::new(2.0, 4.0, 6.0));
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 206 |     let mut x = Datum::new(rrtk::Time(1), State::new(2.0, 4.0, 6.0));
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |     x /= Datum::new(0, 2.0);
[INFO] [stdout]     |          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     x /= Datum::new(rrtk::Time(0), 2.0);
[INFO] [stdout]     |                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:221:16
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Ok(self.time)
[INFO] [stdout]     |             -- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] help: the type constructed contains `i64` due to the type of the argument passed
[INFO] [stdout]    --> tests/streams.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Ok(self.time)
[INFO] [stdout]     |             ^^^---------^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/result.rs:532:5
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Ok(rrtk::Time(self.time))
[INFO] [stdout]     |                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:208:30
[INFO] [stdout]     |
[INFO] [stdout] 208 |     assert_eq!(x, Datum::new(1, State::new(1.0, 2.0, 3.0)));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 208 |     assert_eq!(x, Datum::new(rrtk::Time(1), State::new(1.0, 2.0, 3.0)));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:211:20
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Datum::new(0, State::new(2.0, 4.0, 6.0)) / 2.0,
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Datum::new(rrtk::Time(0), State::new(2.0, 4.0, 6.0)) / 2.0,
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:212:20
[INFO] [stdout]     |
[INFO] [stdout] 212 |         Datum::new(0, State::new(1.0, 2.0, 3.0))
[INFO] [stdout]     |         ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 212 |         Datum::new(rrtk::Time(0), State::new(1.0, 2.0, 3.0))
[INFO] [stdout]     |                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:215:28
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let mut x = Datum::new(0, State::new(2.0, 4.0, 6.0));
[INFO] [stdout]     |                 ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let mut x = Datum::new(rrtk::Time(0), State::new(2.0, 4.0, 6.0));
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:217:30
[INFO] [stdout]     |
[INFO] [stdout] 217 |     assert_eq!(x, Datum::new(0, State::new(1.0, 2.0, 3.0)));
[INFO] [stdout]     |                   ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     assert_eq!(x, Datum::new(rrtk::Time(0), State::new(1.0, 2.0, 3.0)));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:311:24
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Datum::new(3, State::new(1.5, 2.0, 1.0))
[INFO] [stdout]     |             ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Datum::new(rrtk::Time(3), State::new(1.5, 2.0, 1.0))
[INFO] [stdout]     |                        +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/tests.rs:255:26
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |         0.1,
[INFO] [stdout]     |         --- expected `Quantity`, found floating-point number
[INFO] [stdout] 259 |         0.01,
[INFO] [stdout]     |         ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:283:32
[INFO] [stdout]     |
[INFO] [stdout] 283 |             Ok(Some(Datum::new(self.time, 1.0)))
[INFO] [stdout]     |                     ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 283 |             Ok(Some(Datum::new(rrtk::Time(self.time), 1.0)))
[INFO] [stdout]     |                                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:351:24
[INFO] [stdout]     |
[INFO] [stdout] 351 |             Datum::new(2, State::new(1.5, 2.0, 1.0))
[INFO] [stdout]     |             ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 351 |             Datum::new(rrtk::Time(2), State::new(1.5, 2.0, 1.0))
[INFO] [stdout]     |                        +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:327:32
[INFO] [stdout]     |
[INFO] [stdout] 327 |             Ok(Some(Datum::new(self.time, self.time as f32)))
[INFO] [stdout]     |                     ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 327 |             Ok(Some(Datum::new(rrtk::Time(self.time), self.time as f32)))
[INFO] [stdout]     |                                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:395:24
[INFO] [stdout]     |
[INFO] [stdout] 395 |             Datum::new(3, State::new(3.0, 1.0, 0.0))
[INFO] [stdout]     |             ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 395 |             Datum::new(rrtk::Time(3), State::new(3.0, 1.0, 0.0))
[INFO] [stdout]     |                        +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:367:32
[INFO] [stdout]     |
[INFO] [stdout] 367 |             Ok(Some(Datum::new(self.time, self.time as f32)))
[INFO] [stdout]     |                     ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 367 |             Ok(Some(Datum::new(rrtk::Time(self.time), self.time as f32)))
[INFO] [stdout]     |                                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:262:33
[INFO] [stdout]     |
[INFO] [stdout] 262 |         motion_profile.get_mode(5),
[INFO] [stdout]     |                        -------- ^ expected `Time`, found integer
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn get_mode(&self, t: Time) -> Option<PositionDerivative> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 262 |         motion_profile.get_mode(rrtk::Time(5)),
[INFO] [stdout]     |                                 +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:461:57
[INFO] [stdout]     |
[INFO] [stdout] 461 |         assert_eq!(stream.get().unwrap().unwrap().time, 1);
[INFO] [stdout]     |                                                         ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 461 |         assert_eq!(stream.get().unwrap().unwrap().time, rrtk::Time(1));
[INFO] [stdout]     |                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:464:57
[INFO] [stdout]     |
[INFO] [stdout] 464 |         assert_eq!(stream.get().unwrap().unwrap().time, 2);
[INFO] [stdout]     |                                                         ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 464 |         assert_eq!(stream.get().unwrap().unwrap().time, rrtk::Time(2));
[INFO] [stdout]     |                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:418:43
[INFO] [stdout]     |
[INFO] [stdout] 418 |                 return Ok(Some(Datum::new(2, 1.0)));
[INFO] [stdout]     |                                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 418 |                 return Ok(Some(Datum::new(rrtk::Time(2), 1.0)));
[INFO] [stdout]     |                                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:266:33
[INFO] [stdout]     |
[INFO] [stdout] 266 |         motion_profile.get_mode(25),
[INFO] [stdout]     |                        -------- ^^ expected `Time`, found integer
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn get_mode(&self, t: Time) -> Option<PositionDerivative> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 266 |         motion_profile.get_mode(rrtk::Time(25)),
[INFO] [stdout]     |                                 +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:436:32
[INFO] [stdout]     |
[INFO] [stdout] 436 |             Ok(Some(Datum::new(1, 1.0)))
[INFO] [stdout]     |                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 436 |             Ok(Some(Datum::new(rrtk::Time(1), 1.0)))
[INFO] [stdout]     |                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:620:36
[INFO] [stdout]     |
[INFO] [stdout] 620 |                 assert_eq!(x.time, 1);
[INFO] [stdout]     |                                    ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 620 |                 assert_eq!(x.time, rrtk::Time(1));
[INFO] [stdout]     |                                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:270:33
[INFO] [stdout]     |
[INFO] [stdout] 270 |         motion_profile.get_mode(35),
[INFO] [stdout]     |                        -------- ^^ expected `Time`, found integer
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn get_mode(&self, t: Time) -> Option<PositionDerivative> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 270 |         motion_profile.get_mode(rrtk::Time(35)),
[INFO] [stdout]     |                                 +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:635:36
[INFO] [stdout]     |
[INFO] [stdout] 635 |                 assert_eq!(x.time, 2);
[INFO] [stdout]     |                                    ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 635 |                 assert_eq!(x.time, rrtk::Time(2));
[INFO] [stdout]     |                                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/tests.rs:276:26
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |         0.1,
[INFO] [stdout]     |         --- expected `Quantity`, found floating-point number
[INFO] [stdout] 280 |         0.01,
[INFO] [stdout]     |         ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:509:39
[INFO] [stdout]     |
[INFO] [stdout] 509 |             return Ok(Some(Datum::new(1, 10.0)));
[INFO] [stdout]     |                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 509 |             return Ok(Some(Datum::new(rrtk::Time(1), 10.0)));
[INFO] [stdout]     |                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:533:39
[INFO] [stdout]     |
[INFO] [stdout] 533 |             return Ok(Some(Datum::new(2, 3.0)));
[INFO] [stdout]     |                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 533 |             return Ok(Some(Datum::new(rrtk::Time(2), 3.0)));
[INFO] [stdout]     |                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:709:57
[INFO] [stdout]     |
[INFO] [stdout] 709 |         assert_eq!(stream.get().unwrap().unwrap().time, 1);
[INFO] [stdout]     |                                                         ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 709 |         assert_eq!(stream.get().unwrap().unwrap().time, rrtk::Time(1));
[INFO] [stdout]     |                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:712:57
[INFO] [stdout]     |
[INFO] [stdout] 712 |         assert_eq!(stream.get().unwrap().unwrap().time, 2);
[INFO] [stdout]     |                                                         ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 712 |         assert_eq!(stream.get().unwrap().unwrap().time, rrtk::Time(2));
[INFO] [stdout]     |                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:666:43
[INFO] [stdout]     |
[INFO] [stdout] 666 |                 return Ok(Some(Datum::new(2, 3.0)));
[INFO] [stdout]     |                                ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 666 |                 return Ok(Some(Datum::new(rrtk::Time(2), 3.0)));
[INFO] [stdout]     |                                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:684:32
[INFO] [stdout]     |
[INFO] [stdout] 684 |             Ok(Some(Datum::new(1, 5.0)))
[INFO] [stdout]     |                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 684 |             Ok(Some(Datum::new(rrtk::Time(1), 5.0)))
[INFO] [stdout]     |                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:282:48
[INFO] [stdout]     |
[INFO] [stdout] 282 |     assert_eq!(motion_profile.get_acceleration(-1), None);
[INFO] [stdout]     |                               ---------------- ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn get_acceleration(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 282 |     assert_eq!(motion_profile.get_acceleration(rrtk::Time(-1)), None);
[INFO] [stdout]     |                                                +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:868:36
[INFO] [stdout]     |
[INFO] [stdout] 868 |                 assert_eq!(x.time, 1);
[INFO] [stdout]     |                                    ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 868 |                 assert_eq!(x.time, rrtk::Time(1));
[INFO] [stdout]     |                                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:883:36
[INFO] [stdout]     |
[INFO] [stdout] 883 |                 assert_eq!(x.time, 2);
[INFO] [stdout]     |                                    ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 883 |                 assert_eq!(x.time, rrtk::Time(2));
[INFO] [stdout]     |                                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:757:39
[INFO] [stdout]     |
[INFO] [stdout] 757 |             return Ok(Some(Datum::new(1, 12.0)));
[INFO] [stdout]     |                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 757 |             return Ok(Some(Datum::new(rrtk::Time(1), 12.0)));
[INFO] [stdout]     |                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:781:39
[INFO] [stdout]     |
[INFO] [stdout] 781 |             return Ok(Some(Datum::new(2, 3.0)));
[INFO] [stdout]     |                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 781 |             return Ok(Some(Datum::new(rrtk::Time(2), 3.0)));
[INFO] [stdout]     |                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:283:48
[INFO] [stdout]     |
[INFO] [stdout] 283 |     assert_eq!(motion_profile.get_acceleration(5), Some(0.01));
[INFO] [stdout]     |                               ---------------- ^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn get_acceleration(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 283 |     assert_eq!(motion_profile.get_acceleration(rrtk::Time(5)), Some(0.01));
[INFO] [stdout]     |                                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:283:52
[INFO] [stdout]     |
[INFO] [stdout] 283 |     assert_eq!(motion_profile.get_acceleration(5), Some(0.01));
[INFO] [stdout]     |                                                    ^^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1026:36
[INFO] [stdout]      |
[INFO] [stdout] 1026 |                 assert_eq!(x.time, 1);
[INFO] [stdout]      |                                    ^ expected `Time`, found integer
[INFO] [stdout]      |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1026 |                 assert_eq!(x.time, rrtk::Time(1));
[INFO] [stdout]      |                                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1041:36
[INFO] [stdout]      |
[INFO] [stdout] 1041 |                 assert_eq!(x.time, 2);
[INFO] [stdout]      |                                    ^ expected `Time`, found integer
[INFO] [stdout]      |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1041 |                 assert_eq!(x.time, rrtk::Time(2));
[INFO] [stdout]      |                                    +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:915:39
[INFO] [stdout]     |
[INFO] [stdout] 915 |             return Ok(Some(Datum::new(1, 5.0)));
[INFO] [stdout]     |                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 915 |             return Ok(Some(Datum::new(rrtk::Time(1), 5.0)));
[INFO] [stdout]     |                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/streams.rs:939:39
[INFO] [stdout]     |
[INFO] [stdout] 939 |             return Ok(Some(Datum::new(2, 3.0)));
[INFO] [stdout]     |                            ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 939 |             return Ok(Some(Datum::new(rrtk::Time(2), 3.0)));
[INFO] [stdout]     |                                       +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1084:57
[INFO] [stdout]      |
[INFO] [stdout] 1084 |         assert_eq!(stream.get().unwrap().unwrap().time, 8);
[INFO] [stdout]      |                                                         ^ expected `Time`, found integer
[INFO] [stdout]      |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1084 |         assert_eq!(stream.get().unwrap().unwrap().time, rrtk::Time(8));
[INFO] [stdout]      |                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1067:32
[INFO] [stdout]      |
[INFO] [stdout] 1067 |             Ok(Some(Datum::new(self.time * 2, (self.time * 3) as f32)))
[INFO] [stdout]      |                     ---------- ^^^^^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1067 |             Ok(Some(Datum::new(rrtk::Time(self.time * 2), (self.time * 3) as f32)))
[INFO] [stdout]      |                                +++++++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:284:48
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_eq!(motion_profile.get_acceleration(25), Some(0.0));
[INFO] [stdout]     |                               ---------------- ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn get_acceleration(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_eq!(motion_profile.get_acceleration(rrtk::Time(25)), Some(0.0));
[INFO] [stdout]     |                                                +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1119:57
[INFO] [stdout]      |
[INFO] [stdout] 1119 |         assert_eq!(stream.get().unwrap().unwrap().time, 2);
[INFO] [stdout]      |                                                         ^ expected `Time`, found integer
[INFO] [stdout]      |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1119 |         assert_eq!(stream.get().unwrap().unwrap().time, rrtk::Time(2));
[INFO] [stdout]      |                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:284:53
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_eq!(motion_profile.get_acceleration(25), Some(0.0));
[INFO] [stdout]     |                                                     ^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1102:32
[INFO] [stdout]      |
[INFO] [stdout] 1102 |             Ok(Some(Datum::new(self.time, 1.0)))
[INFO] [stdout]      |                     ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1102 |             Ok(Some(Datum::new(rrtk::Time(self.time), 1.0)))
[INFO] [stdout]      |                                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1152:57
[INFO] [stdout]      |
[INFO] [stdout] 1152 |         assert_eq!(stream.get().unwrap().unwrap().time, 0);
[INFO] [stdout]      |                                                         ^ expected `Time`, found integer
[INFO] [stdout]      |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1152 |         assert_eq!(stream.get().unwrap().unwrap().time, rrtk::Time(0));
[INFO] [stdout]      |                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1156:57
[INFO] [stdout]      |
[INFO] [stdout] 1156 |         assert_eq!(stream.get().unwrap().unwrap().time, 2);
[INFO] [stdout]      |                                                         ^ expected `Time`, found integer
[INFO] [stdout]      |
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1156 |         assert_eq!(stream.get().unwrap().unwrap().time, rrtk::Time(2));
[INFO] [stdout]      |                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1137:32
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             Ok(Some(Datum::new(self.time, (self.time / 2) as f32)))
[INFO] [stdout]      |                     ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             Ok(Some(Datum::new(rrtk::Time(self.time), (self.time / 2) as f32)))
[INFO] [stdout]      |                                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:285:48
[INFO] [stdout]     |
[INFO] [stdout] 285 |     assert_eq!(motion_profile.get_acceleration(35), Some(-0.01));
[INFO] [stdout]     |                               ---------------- ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn get_acceleration(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     assert_eq!(motion_profile.get_acceleration(rrtk::Time(35)), Some(-0.01));
[INFO] [stdout]     |                                                +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:285:53
[INFO] [stdout]     |
[INFO] [stdout] 285 |     assert_eq!(motion_profile.get_acceleration(35), Some(-0.01));
[INFO] [stdout]     |                                                     ^^^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1185:32
[INFO] [stdout]      |
[INFO] [stdout] 1185 |             Ok(Some(Datum::new(self.time, value)))
[INFO] [stdout]      |                     ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1185 |             Ok(Some(Datum::new(rrtk::Time(self.time), value)))
[INFO] [stdout]      |                                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1264:66
[INFO] [stdout]      |
[INFO] [stdout] 1264 |         let mut stream = MovingAverageStream::new(input.clone(), 5);
[INFO] [stdout]      |                          ------------------------                ^ expected `Time`, found integer
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/streams/control.rs:349:18
[INFO] [stdout]      |
[INFO] [stdout] 349  |     pub const fn new(input: Reference<G>, window: Time) -> Self {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1264 |         let mut stream = MovingAverageStream::new(input.clone(), rrtk::Time(5));
[INFO] [stdout]      |                                                                  +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1252:32
[INFO] [stdout]      |
[INFO] [stdout] 1252 |             Ok(Some(Datum::new(self.time, value)))
[INFO] [stdout]      |                     ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1252 |             Ok(Some(Datum::new(rrtk::Time(self.time), value)))
[INFO] [stdout]      |                                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:286:48
[INFO] [stdout]     |
[INFO] [stdout] 286 |     assert_eq!(motion_profile.get_acceleration(500), Some(0.0));
[INFO] [stdout]     |                               ---------------- ^^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn get_acceleration(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 286 |     assert_eq!(motion_profile.get_acceleration(rrtk::Time(500)), Some(0.0));
[INFO] [stdout]     |                                                +++++++++++   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1359:53
[INFO] [stdout]      |
[INFO] [stdout] 1359 |         assert_eq!(latest.get(), Ok(Some(Datum::new(1, 1))));
[INFO] [stdout]      |                                          ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1359 |         assert_eq!(latest.get(), Ok(Some(Datum::new(rrtk::Time(1), 1))));
[INFO] [stdout]      |                                                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:286:54
[INFO] [stdout]     |
[INFO] [stdout] 286 |     assert_eq!(motion_profile.get_acceleration(500), Some(0.0));
[INFO] [stdout]     |                                                      ^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/tests.rs:290:26
[INFO] [stdout]     |
[INFO] [stdout] 290 |     let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |         0.1,
[INFO] [stdout]     |         --- expected `Quantity`, found floating-point number
[INFO] [stdout] 294 |         0.01,
[INFO] [stdout]     |         ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1362:53
[INFO] [stdout]      |
[INFO] [stdout] 1362 |         assert_eq!(latest.get(), Ok(Some(Datum::new(1, 2))));
[INFO] [stdout]      |                                          ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1362 |         assert_eq!(latest.get(), Ok(Some(Datum::new(rrtk::Time(1), 2))));
[INFO] [stdout]      |                                                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1365:53
[INFO] [stdout]      |
[INFO] [stdout] 1365 |         assert_eq!(latest.get(), Ok(Some(Datum::new(0, 1))));
[INFO] [stdout]      |                                          ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1365 |         assert_eq!(latest.get(), Ok(Some(Datum::new(rrtk::Time(0), 1))));
[INFO] [stdout]      |                                                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1368:53
[INFO] [stdout]      |
[INFO] [stdout] 1368 |         assert_eq!(latest.get(), Ok(Some(Datum::new(0, 1))));
[INFO] [stdout]      |                                          ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1368 |         assert_eq!(latest.get(), Ok(Some(Datum::new(rrtk::Time(0), 1))));
[INFO] [stdout]      |                                                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:296:44
[INFO] [stdout]     |
[INFO] [stdout] 296 |     assert_eq!(motion_profile.get_velocity(-1), None);
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 296 |     assert_eq!(motion_profile.get_velocity(rrtk::Time(-1)), None);
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1304:41
[INFO] [stdout]      |
[INFO] [stdout] 1304 |                 0 => Ok(Some(Datum::new(1, 1))), //Some, Some
[INFO] [stdout]      |                              ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1304 |                 0 => Ok(Some(Datum::new(rrtk::Time(1), 1))), //Some, Some
[INFO] [stdout]      |                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1305:41
[INFO] [stdout]      |
[INFO] [stdout] 1305 |                 1 => Ok(Some(Datum::new(0, 0))), //Some, Some
[INFO] [stdout]      |                              ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1305 |                 1 => Ok(Some(Datum::new(rrtk::Time(0), 0))), //Some, Some
[INFO] [stdout]      |                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1306:41
[INFO] [stdout]      |
[INFO] [stdout] 1306 |                 2 => Ok(Some(Datum::new(0, 1))), //Some, None
[INFO] [stdout]      |                              ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1306 |                 2 => Ok(Some(Datum::new(rrtk::Time(0), 1))), //Some, None
[INFO] [stdout]      |                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1307:41
[INFO] [stdout]      |
[INFO] [stdout] 1307 |                 3 => Ok(Some(Datum::new(0, 1))), //Some, Err
[INFO] [stdout]      |                              ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1307 |                 3 => Ok(Some(Datum::new(rrtk::Time(0), 1))), //Some, Err
[INFO] [stdout]      |                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1332:41
[INFO] [stdout]      |
[INFO] [stdout] 1332 |                 0 => Ok(Some(Datum::new(0, 0))), //Some, Some
[INFO] [stdout]      |                              ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1332 |                 0 => Ok(Some(Datum::new(rrtk::Time(0), 0))), //Some, Some
[INFO] [stdout]      |                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1333:41
[INFO] [stdout]      |
[INFO] [stdout] 1333 |                 1 => Ok(Some(Datum::new(1, 2))), //Some, Some
[INFO] [stdout]      |                              ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1333 |                 1 => Ok(Some(Datum::new(rrtk::Time(1), 2))), //Some, Some
[INFO] [stdout]      |                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:297:43
[INFO] [stdout]     |
[INFO] [stdout] 297 |     let gv5 = motion_profile.get_velocity(5).unwrap();
[INFO] [stdout]     |                              ------------ ^ expected `Time`, found integer
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 297 |     let gv5 = motion_profile.get_velocity(rrtk::Time(5)).unwrap();
[INFO] [stdout]     |                                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1398:38
[INFO] [stdout]      |
[INFO] [stdout] 1398 |                 0 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1398 |                 0 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1400:38
[INFO] [stdout]      |
[INFO] [stdout] 1400 |                 2 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1400 |                 2 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1401:38
[INFO] [stdout]      |
[INFO] [stdout] 1401 |                 3 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1401 |                 3 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1403:38
[INFO] [stdout]      |
[INFO] [stdout] 1403 |                 5 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1403 |                 5 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `{float}` with `Quantity`
[INFO] [stdout]    --> tests/tests.rs:298:19
[INFO] [stdout]     |
[INFO] [stdout] 298 |     assert!(0.049 < gv5 && gv5 < 0.051);
[INFO] [stdout]     |                   ^ no implementation for `{float} < Quantity` and `{float} > Quantity`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialOrd<Quantity>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `PartialOrd<Rhs>`:
[INFO] [stdout]               f128
[INFO] [stdout]               f16
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]             and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1404:38
[INFO] [stdout]      |
[INFO] [stdout] 1404 |                 6 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1404 |                 6 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:298:34
[INFO] [stdout]     |
[INFO] [stdout] 298 |     assert!(0.049 < gv5 && gv5 < 0.051);
[INFO] [stdout]     |                            ---   ^^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            expected because this is `Quantity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1406:38
[INFO] [stdout]      |
[INFO] [stdout] 1406 |                 8 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1406 |                 8 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1428:42
[INFO] [stdout]      |
[INFO] [stdout] 1428 |                 0..=2 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                               ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1428 |                 0..=2 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                          +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1430:42
[INFO] [stdout]      |
[INFO] [stdout] 1430 |                 6..=8 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                               ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1430 |                 6..=8 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                          +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:299:44
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let gv25 = motion_profile.get_velocity(25).unwrap();
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let gv25 = motion_profile.get_velocity(rrtk::Time(25)).unwrap();
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `{float}` with `Quantity`
[INFO] [stdout]    --> tests/tests.rs:300:19
[INFO] [stdout]     |
[INFO] [stdout] 300 |     assert!(0.099 < gv25 && gv25 < 0.101);
[INFO] [stdout]     |                   ^ no implementation for `{float} < Quantity` and `{float} > Quantity`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialOrd<Quantity>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `PartialOrd<Rhs>`:
[INFO] [stdout]               f128
[INFO] [stdout]               f16
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]             and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:300:36
[INFO] [stdout]     |
[INFO] [stdout] 300 |     assert!(0.099 < gv25 && gv25 < 0.101);
[INFO] [stdout]     |                             ----   ^^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             expected because this is `Quantity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1498:38
[INFO] [stdout]      |
[INFO] [stdout] 1498 |                 0 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1498 |                 0 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1500:38
[INFO] [stdout]      |
[INFO] [stdout] 1500 |                 2 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1500 |                 2 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1501:38
[INFO] [stdout]      |
[INFO] [stdout] 1501 |                 3 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1501 |                 3 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1503:38
[INFO] [stdout]      |
[INFO] [stdout] 1503 |                 5 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1503 |                 5 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1504:38
[INFO] [stdout]      |
[INFO] [stdout] 1504 |                 6 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1504 |                 6 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1506:38
[INFO] [stdout]      |
[INFO] [stdout] 1506 |                 8 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1506 |                 8 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1528:42
[INFO] [stdout]      |
[INFO] [stdout] 1528 |                 0..=2 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                               ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1528 |                 0..=2 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                          +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1530:42
[INFO] [stdout]      |
[INFO] [stdout] 1530 |                 6..=8 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                               ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1530 |                 6..=8 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                          +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:301:44
[INFO] [stdout]     |
[INFO] [stdout] 301 |     let gv35 = motion_profile.get_velocity(35).unwrap();
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 301 |     let gv35 = motion_profile.get_velocity(rrtk::Time(35)).unwrap();
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1598:38
[INFO] [stdout]      |
[INFO] [stdout] 1598 |                 0 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1598 |                 0 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1600:38
[INFO] [stdout]      |
[INFO] [stdout] 1600 |                 2 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1600 |                 2 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `{float}` with `Quantity`
[INFO] [stdout]    --> tests/tests.rs:302:19
[INFO] [stdout]     |
[INFO] [stdout] 302 |     assert!(0.049 < gv35 && gv35 < 0.051);
[INFO] [stdout]     |                   ^ no implementation for `{float} < Quantity` and `{float} > Quantity`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialOrd<Quantity>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `PartialOrd<Rhs>`:
[INFO] [stdout]               f128
[INFO] [stdout]               f16
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]             and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:302:36
[INFO] [stdout]     |
[INFO] [stdout] 302 |     assert!(0.049 < gv35 && gv35 < 0.051);
[INFO] [stdout]     |                             ----   ^^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             expected because this is `Quantity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1632:38
[INFO] [stdout]      |
[INFO] [stdout] 1632 |                 0 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1632 |                 0 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1634:38
[INFO] [stdout]      |
[INFO] [stdout] 1634 |                 2 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1634 |                 2 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1648:32
[INFO] [stdout]      |
[INFO] [stdout] 1648 |             Ok(Some(Datum::new(0, 0)))
[INFO] [stdout]      |                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1648 |             Ok(Some(Datum::new(rrtk::Time(0), 0)))
[INFO] [stdout]      |                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1679:38
[INFO] [stdout]      |
[INFO] [stdout] 1679 |                 0 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1679 |                 0 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1681:38
[INFO] [stdout]      |
[INFO] [stdout] 1681 |                 2 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                           ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1681 |                 2 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                      +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:303:44
[INFO] [stdout]     |
[INFO] [stdout] 303 |     assert_eq!(motion_profile.get_velocity(500), Some(0.0));
[INFO] [stdout]     |                               ------------ ^^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 303 |     assert_eq!(motion_profile.get_velocity(rrtk::Time(500)), Some(0.0));
[INFO] [stdout]     |                                            +++++++++++   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1695:32
[INFO] [stdout]      |
[INFO] [stdout] 1695 |             Ok(Some(Datum::new(0, 1)))
[INFO] [stdout]      |                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1695 |             Ok(Some(Datum::new(rrtk::Time(0), 1)))
[INFO] [stdout]      |                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:303:50
[INFO] [stdout]     |
[INFO] [stdout] 303 |     assert_eq!(motion_profile.get_velocity(500), Some(0.0));
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1706:32
[INFO] [stdout]      |
[INFO] [stdout] 1706 |             Ok(Some(Datum::new(0, 2)))
[INFO] [stdout]      |                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1706 |             Ok(Some(Datum::new(rrtk::Time(0), 2)))
[INFO] [stdout]      |                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/tests.rs:307:26
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |         0.1,
[INFO] [stdout]     |         --- expected `Quantity`, found floating-point number
[INFO] [stdout] 311 |         0.01,
[INFO] [stdout]     |         ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1739:42
[INFO] [stdout]      |
[INFO] [stdout] 1739 |                 0..=1 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                               ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1739 |                 0..=1 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                          +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:313:43
[INFO] [stdout]     |
[INFO] [stdout] 313 |     let gv5 = motion_profile.get_velocity(5).unwrap();
[INFO] [stdout]     |                              ------------ ^ expected `Time`, found integer
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 313 |     let gv5 = motion_profile.get_velocity(rrtk::Time(5)).unwrap();
[INFO] [stdout]     |                                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1740:42
[INFO] [stdout]      |
[INFO] [stdout] 1740 |                 2..=3 => Some(Datum::new(0, true)),
[INFO] [stdout]      |                               ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1740 |                 2..=3 => Some(Datum::new(rrtk::Time(0), true)),
[INFO] [stdout]      |                                          +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `{float}` with `Quantity`
[INFO] [stdout]    --> tests/tests.rs:314:19
[INFO] [stdout]     |
[INFO] [stdout] 314 |     assert!(0.049 < gv5 && gv5 < 0.051);
[INFO] [stdout]     |                   ^ no implementation for `{float} < Quantity` and `{float} > Quantity`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialOrd<Quantity>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `PartialOrd<Rhs>`:
[INFO] [stdout]               f128
[INFO] [stdout]               f16
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]             and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1741:42
[INFO] [stdout]      |
[INFO] [stdout] 1741 |                 4..=5 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                               ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1741 |                 4..=5 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                          +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:314:34
[INFO] [stdout]     |
[INFO] [stdout] 314 |     assert!(0.049 < gv5 && gv5 < 0.051);
[INFO] [stdout]     |                            ---   ^^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            expected because this is `Quantity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1743:42
[INFO] [stdout]      |
[INFO] [stdout] 1743 |                 8..=9 => Some(Datum::new(0, false)),
[INFO] [stdout]      |                               ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1743 |                 8..=9 => Some(Datum::new(rrtk::Time(0), false)),
[INFO] [stdout]      |                                          +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1759:32
[INFO] [stdout]      |
[INFO] [stdout] 1759 |             Ok(Some(Datum::new(0, self.time)))
[INFO] [stdout]      |                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1759 |             Ok(Some(Datum::new(rrtk::Time(0), self.time)))
[INFO] [stdout]      |                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:315:44
[INFO] [stdout]     |
[INFO] [stdout] 315 |     let gv25 = motion_profile.get_velocity(25).unwrap();
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 315 |     let gv25 = motion_profile.get_velocity(rrtk::Time(25)).unwrap();
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `{float}` with `Quantity`
[INFO] [stdout]    --> tests/tests.rs:316:19
[INFO] [stdout]     |
[INFO] [stdout] 316 |     assert!(0.099 < gv25 && gv25 < 0.101);
[INFO] [stdout]     |                   ^ no implementation for `{float} < Quantity` and `{float} > Quantity`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialOrd<Quantity>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `PartialOrd<Rhs>`:
[INFO] [stdout]               f128
[INFO] [stdout]               f16
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]             and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:316:36
[INFO] [stdout]     |
[INFO] [stdout] 316 |     assert!(0.099 < gv25 && gv25 < 0.101);
[INFO] [stdout]     |                             ----   ^^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             expected because this is `Quantity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> tests/streams.rs:1821:32
[INFO] [stdout]      |
[INFO] [stdout] 1821 |             Ok(Some(Datum::new(self.time, State::default())))
[INFO] [stdout]      |                     ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]      |
[INFO] [stdout] 14   |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]      |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]      |
[INFO] [stdout] 1821 |             Ok(Some(Datum::new(rrtk::Time(self.time), State::default())))
[INFO] [stdout]      |                                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:317:44
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let gv35 = motion_profile.get_velocity(35).unwrap();
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let gv35 = motion_profile.get_velocity(rrtk::Time(35)).unwrap();
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `{float}` with `Quantity`
[INFO] [stdout]    --> tests/tests.rs:318:19
[INFO] [stdout]     |
[INFO] [stdout] 318 |     assert!(0.049 < gv35 && gv35 < 0.051);
[INFO] [stdout]     |                   ^ no implementation for `{float} < Quantity` and `{float} > Quantity`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialOrd<Quantity>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `PartialOrd<Rhs>`:
[INFO] [stdout]               f128
[INFO] [stdout]               f16
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]             and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:318:36
[INFO] [stdout]     |
[INFO] [stdout] 318 |     assert!(0.049 < gv35 && gv35 < 0.051);
[INFO] [stdout]     |                             ----   ^^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             expected because this is `Quantity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/tests.rs:322:26
[INFO] [stdout]     |
[INFO] [stdout] 322 |     let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |         0.2,
[INFO] [stdout]     |         --- expected `Quantity`, found floating-point number
[INFO] [stdout] 326 |         0.01,
[INFO] [stdout]     |         ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:328:44
[INFO] [stdout]     |
[INFO] [stdout] 328 |     assert_eq!(motion_profile.get_velocity(5), Some(0.15));
[INFO] [stdout]     |                               ------------ ^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 328 |     assert_eq!(motion_profile.get_velocity(rrtk::Time(5)), Some(0.15));
[INFO] [stdout]     |                                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:328:48
[INFO] [stdout]     |
[INFO] [stdout] 328 |     assert_eq!(motion_profile.get_velocity(5), Some(0.15));
[INFO] [stdout]     |                                                ^^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:329:44
[INFO] [stdout]     |
[INFO] [stdout] 329 |     let gv15 = motion_profile.get_velocity(15).unwrap();
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 329 |     let gv15 = motion_profile.get_velocity(rrtk::Time(15)).unwrap();
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `{float}` with `Quantity`
[INFO] [stdout]    --> tests/tests.rs:330:19
[INFO] [stdout]     |
[INFO] [stdout] 330 |     assert!(0.199 < gv15 && gv15 < 0.201);
[INFO] [stdout]     |                   ^ no implementation for `{float} < Quantity` and `{float} > Quantity`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialOrd<Quantity>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `PartialOrd<Rhs>`:
[INFO] [stdout]               f128
[INFO] [stdout]               f16
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]             and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:330:36
[INFO] [stdout]     |
[INFO] [stdout] 330 |     assert!(0.199 < gv15 && gv15 < 0.201);
[INFO] [stdout]     |                             ----   ^^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             expected because this is `Quantity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:331:44
[INFO] [stdout]     |
[INFO] [stdout] 331 |     assert_eq!(motion_profile.get_velocity(25), Some(0.15));
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn get_velocity(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 331 |     assert_eq!(motion_profile.get_velocity(rrtk::Time(25)), Some(0.15));
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:331:49
[INFO] [stdout]     |
[INFO] [stdout] 331 |     assert_eq!(motion_profile.get_velocity(25), Some(0.15));
[INFO] [stdout]     |                                                 ^^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/tests.rs:335:26
[INFO] [stdout]     |
[INFO] [stdout] 335 |     let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |         0.1,
[INFO] [stdout]     |         --- expected `Quantity`, found floating-point number
[INFO] [stdout] 339 |         0.01,
[INFO] [stdout]     |         ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:341:44
[INFO] [stdout]     |
[INFO] [stdout] 341 |     assert_eq!(motion_profile.get_position(-1), None);
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 341 |     assert_eq!(motion_profile.get_position(rrtk::Time(-1)), None);
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:342:43
[INFO] [stdout]     |
[INFO] [stdout] 342 |     let gp5 = motion_profile.get_position(5).unwrap();
[INFO] [stdout]     |                              ------------ ^ expected `Time`, found integer
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 342 |     let gp5 = motion_profile.get_position(rrtk::Time(5)).unwrap();
[INFO] [stdout]     |                                           +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `{float}` with `Quantity`
[INFO] [stdout]    --> tests/tests.rs:343:19
[INFO] [stdout]     |
[INFO] [stdout] 343 |     assert!(0.124 < gp5 && gp5 < 0.126);
[INFO] [stdout]     |                   ^ no implementation for `{float} < Quantity` and `{float} > Quantity`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialOrd<Quantity>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `PartialOrd<Rhs>`:
[INFO] [stdout]               f128
[INFO] [stdout]               f16
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]             and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:343:34
[INFO] [stdout]     |
[INFO] [stdout] 343 |     assert!(0.124 < gp5 && gp5 < 0.126);
[INFO] [stdout]     |                            ---   ^^^^^ expected `Quantity`, found floating-point number
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            expected because this is `Quantity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:344:44
[INFO] [stdout]     |
[INFO] [stdout] 344 |     assert_eq!(motion_profile.get_position(25), Some(2.0));
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 344 |     assert_eq!(motion_profile.get_position(rrtk::Time(25)), Some(2.0));
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:344:49
[INFO] [stdout]     |
[INFO] [stdout] 344 |     assert_eq!(motion_profile.get_position(25), Some(2.0));
[INFO] [stdout]     |                                                 ^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rrtk` (test "streams") due to 89 previous errors
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:345:44
[INFO] [stdout]     |
[INFO] [stdout] 345 |     assert_eq!(motion_profile.get_position(35), Some(2.875));
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 345 |     assert_eq!(motion_profile.get_position(rrtk::Time(35)), Some(2.875));
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:345:49
[INFO] [stdout]     |
[INFO] [stdout] 345 |     assert_eq!(motion_profile.get_position(35), Some(2.875));
[INFO] [stdout]     |                                                 ^^^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:346:44
[INFO] [stdout]     |
[INFO] [stdout] 346 |     assert_eq!(motion_profile.get_position(500), Some(3.0));
[INFO] [stdout]     |                               ------------ ^^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 346 |     assert_eq!(motion_profile.get_position(rrtk::Time(500)), Some(3.0));
[INFO] [stdout]     |                                            +++++++++++   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:346:50
[INFO] [stdout]     |
[INFO] [stdout] 346 |     assert_eq!(motion_profile.get_position(500), Some(3.0));
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/tests.rs:350:26
[INFO] [stdout]     |
[INFO] [stdout] 350 |     let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |         0.1,
[INFO] [stdout]     |         --- expected `Quantity`, found floating-point number
[INFO] [stdout] 354 |         0.01,
[INFO] [stdout]     |         ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:356:44
[INFO] [stdout]     |
[INFO] [stdout] 356 |     assert_eq!(motion_profile.get_position(5), Some(1.125));
[INFO] [stdout]     |                               ------------ ^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 356 |     assert_eq!(motion_profile.get_position(rrtk::Time(5)), Some(1.125));
[INFO] [stdout]     |                                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:356:48
[INFO] [stdout]     |
[INFO] [stdout] 356 |     assert_eq!(motion_profile.get_position(5), Some(1.125));
[INFO] [stdout]     |                                                ^^^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:357:44
[INFO] [stdout]     |
[INFO] [stdout] 357 |     assert_eq!(motion_profile.get_position(25), Some(3.0));
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 357 |     assert_eq!(motion_profile.get_position(rrtk::Time(25)), Some(3.0));
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:357:49
[INFO] [stdout]     |
[INFO] [stdout] 357 |     assert_eq!(motion_profile.get_position(25), Some(3.0));
[INFO] [stdout]     |                                                 ^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:358:44
[INFO] [stdout]     |
[INFO] [stdout] 358 |     assert_eq!(motion_profile.get_position(35), Some(3.875));
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 358 |     assert_eq!(motion_profile.get_position(rrtk::Time(35)), Some(3.875));
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:358:49
[INFO] [stdout]     |
[INFO] [stdout] 358 |     assert_eq!(motion_profile.get_position(35), Some(3.875));
[INFO] [stdout]     |                                                 ^^^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/tests.rs:362:26
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |         0.2,
[INFO] [stdout]     |         --- expected `Quantity`, found floating-point number
[INFO] [stdout] 366 |         0.01,
[INFO] [stdout]     |         ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:368:44
[INFO] [stdout]     |
[INFO] [stdout] 368 |     assert_eq!(motion_profile.get_position(5), Some(1.625));
[INFO] [stdout]     |                               ------------ ^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 368 |     assert_eq!(motion_profile.get_position(rrtk::Time(5)), Some(1.625));
[INFO] [stdout]     |                                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:368:48
[INFO] [stdout]     |
[INFO] [stdout] 368 |     assert_eq!(motion_profile.get_position(5), Some(1.625));
[INFO] [stdout]     |                                                ^^^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:369:44
[INFO] [stdout]     |
[INFO] [stdout] 369 |     assert_eq!(motion_profile.get_position(15), Some(3.5));
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 369 |     assert_eq!(motion_profile.get_position(rrtk::Time(15)), Some(3.5));
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:369:49
[INFO] [stdout]     |
[INFO] [stdout] 369 |     assert_eq!(motion_profile.get_position(15), Some(3.5));
[INFO] [stdout]     |                                                 ^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:370:44
[INFO] [stdout]     |
[INFO] [stdout] 370 |     assert_eq!(motion_profile.get_position(25), Some(5.375));
[INFO] [stdout]     |                               ------------ ^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_position(&self, t: Time) -> Option<Quantity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 370 |     assert_eq!(motion_profile.get_position(rrtk::Time(25)), Some(5.375));
[INFO] [stdout]     |                                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:370:49
[INFO] [stdout]     |
[INFO] [stdout] 370 |     assert_eq!(motion_profile.get_position(25), Some(5.375));
[INFO] [stdout]     |                                                 ^^^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/tests.rs:374:26
[INFO] [stdout]     |
[INFO] [stdout] 374 |     let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |         0.1,
[INFO] [stdout]     |         --- expected `Quantity`, found floating-point number
[INFO] [stdout] 378 |         0.01,
[INFO] [stdout]     |         ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:382:35
[INFO] [stdout]     |
[INFO] [stdout] 382 |     assert_eq!(motion_profile.get(-20), None);
[INFO] [stdout]     |                               --- ^^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn get(&self, time: Time) -> Option<Datum<T>>;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 382 |     assert_eq!(motion_profile.get(rrtk::Time(-20)), None);
[INFO] [stdout]     |                                   +++++++++++   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:384:28
[INFO] [stdout]     |
[INFO] [stdout] 384 |         motion_profile.get(5).unwrap().value,
[INFO] [stdout]     |                        --- ^ expected `Time`, found integer
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn get(&self, time: Time) -> Option<Datum<T>>;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 384 |         motion_profile.get(rrtk::Time(5)).unwrap().value,
[INFO] [stdout]     |                            +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:387:34
[INFO] [stdout]     |
[INFO] [stdout] 387 |     let g25 = motion_profile.get(25).unwrap().value;
[INFO] [stdout]     |                              --- ^^ expected `Time`, found integer
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn get(&self, time: Time) -> Option<Datum<T>>;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 387 |     let g25 = motion_profile.get(rrtk::Time(25)).unwrap().value;
[INFO] [stdout]     |                                  +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `position_derivative` on type `rrtk::Command`
[INFO] [stdout]    --> tests/tests.rs:388:20
[INFO] [stdout]     |
[INFO] [stdout] 388 |     assert_eq!(g25.position_derivative, PositionDerivative::Velocity);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `value` on type `rrtk::Command`
[INFO] [stdout]    --> tests/tests.rs:389:25
[INFO] [stdout]     |
[INFO] [stdout] 389 |     assert!(0.099 < g25.value && g25.value < 0.101);
[INFO] [stdout]     |                         ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `value` on type `rrtk::Command`
[INFO] [stdout]    --> tests/tests.rs:389:38
[INFO] [stdout]     |
[INFO] [stdout] 389 |     assert!(0.099 < g25.value && g25.value < 0.101);
[INFO] [stdout]     |                                      ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:391:28
[INFO] [stdout]     |
[INFO] [stdout] 391 |         motion_profile.get(35).unwrap().value,
[INFO] [stdout]     |                        --- ^^ expected `Time`, found integer
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn get(&self, time: Time) -> Option<Datum<T>>;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 391 |         motion_profile.get(rrtk::Time(35)).unwrap().value,
[INFO] [stdout]     |                            +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:395:28
[INFO] [stdout]     |
[INFO] [stdout] 395 |         motion_profile.get(99999).unwrap().value,
[INFO] [stdout]     |                        --- ^^^^^ expected `Time`, found integer
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn get(&self, time: Time) -> Option<Datum<T>>;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 395 |         motion_profile.get(rrtk::Time(99999)).unwrap().value,
[INFO] [stdout]     |                            +++++++++++     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/tests.rs:401:26
[INFO] [stdout]     |
[INFO] [stdout] 401 |     let motion_profile = MotionProfile::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |         0.1,
[INFO] [stdout]     |         --- expected `Quantity`, found floating-point number
[INFO] [stdout] 405 |         0.01,
[INFO] [stdout]     |         ---- expected `Quantity`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 58  |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:408:34
[INFO] [stdout]     |
[INFO] [stdout] 408 |         motion_profile.get_piece(-20),
[INFO] [stdout]     |                        --------- ^^^ expected `Time`, found integer
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn get_piece(&self, t: Time) -> MotionProfilePiece {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 408 |         motion_profile.get_piece(rrtk::Time(-20)),
[INFO] [stdout]     |                                  +++++++++++   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:412:34
[INFO] [stdout]     |
[INFO] [stdout] 412 |         motion_profile.get_piece(5),
[INFO] [stdout]     |                        --------- ^ expected `Time`, found integer
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn get_piece(&self, t: Time) -> MotionProfilePiece {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 412 |         motion_profile.get_piece(rrtk::Time(5)),
[INFO] [stdout]     |                                  +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:416:34
[INFO] [stdout]     |
[INFO] [stdout] 416 |         motion_profile.get_piece(25),
[INFO] [stdout]     |                        --------- ^^ expected `Time`, found integer
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn get_piece(&self, t: Time) -> MotionProfilePiece {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 416 |         motion_profile.get_piece(rrtk::Time(25)),
[INFO] [stdout]     |                                  +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:420:34
[INFO] [stdout]     |
[INFO] [stdout] 420 |         motion_profile.get_piece(35),
[INFO] [stdout]     |                        --------- ^^ expected `Time`, found integer
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn get_piece(&self, t: Time) -> MotionProfilePiece {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 420 |         motion_profile.get_piece(rrtk::Time(35)),
[INFO] [stdout]     |                                  +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:423:41
[INFO] [stdout]     |
[INFO] [stdout] 423 |     assert_eq!(motion_profile.get_piece(500), MotionProfilePiece::Complete);
[INFO] [stdout]     |                               --------- ^^^ expected `Time`, found integer
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/motion_profile.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn get_piece(&self, t: Time) -> MotionProfilePiece {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 423 |     assert_eq!(motion_profile.get_piece(rrtk::Time(500)), MotionProfilePiece::Complete);
[INFO] [stdout]     |                                         +++++++++++   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:428:40
[INFO] [stdout]     |
[INFO] [stdout] 428 |     assert_eq!(command.get_position(), Some(5.0));
[INFO] [stdout]     |                                        ^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:429:40
[INFO] [stdout]     |
[INFO] [stdout] 429 |     assert_eq!(command.get_velocity(), Some(0.0));
[INFO] [stdout]     |                                        ^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:430:44
[INFO] [stdout]     |
[INFO] [stdout] 430 |     assert_eq!(command.get_acceleration(), 0.0);
[INFO] [stdout]     |                                            ^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:433:40
[INFO] [stdout]     |
[INFO] [stdout] 433 |     assert_eq!(command.get_velocity(), Some(5.0));
[INFO] [stdout]     |                                        ^^^^^^^^^ expected `Option<Quantity>`, found `Option<{float}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Quantity>`
[INFO] [stdout]                found enum `Option<{float}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:434:44
[INFO] [stdout]     |
[INFO] [stdout] 434 |     assert_eq!(command.get_acceleration(), 0.0);
[INFO] [stdout]     |                                            ^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:438:44
[INFO] [stdout]     |
[INFO] [stdout] 438 |     assert_eq!(command.get_acceleration(), 5.0);
[INFO] [stdout]     |                                            ^^^ expected `Quantity`, found floating-point number
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:480:39
[INFO] [stdout]     |
[INFO] [stdout] 480 |         assert_eq!(time_getter.get(), Ok(0));
[INFO] [stdout]     |                                       ^^^^^ expected `Result<Time, Error<()>>`, found `Result<{integer}, _>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Result<Time, rrtk::Error<()>>`
[INFO] [stdout]                found enum `Result<{integer}, _>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:462:41
[INFO] [stdout]     |
[INFO] [stdout] 462 |                 0 => Ok(Some(Datum::new(self.time, ()))),
[INFO] [stdout]     |                              ---------- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 462 |                 0 => Ok(Some(Datum::new(rrtk::Time(self.time), ()))),
[INFO] [stdout]     |                                         +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:506:32
[INFO] [stdout]     |
[INFO] [stdout] 506 |             Ok(Some(Datum::new(0, self.value)))
[INFO] [stdout]     |                     ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 506 |             Ok(Some(Datum::new(rrtk::Time(0), self.value)))
[INFO] [stdout]     |                                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:639:69
[INFO] [stdout]     |
[INFO] [stdout] 639 |             assert_eq!(no_delta.get().unwrap().unwrap(), Datum::new(5, 5));
[INFO] [stdout]     |                                                          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 639 |             assert_eq!(no_delta.get().unwrap().unwrap(), Datum::new(rrtk::Time(5), 5));
[INFO] [stdout]     |                                                                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:641:69
[INFO] [stdout]     |
[INFO] [stdout] 641 |             assert_eq!(no_delta.get().unwrap().unwrap(), Datum::new(6, 6));
[INFO] [stdout]     |                                                          ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 641 |             assert_eq!(no_delta.get().unwrap().unwrap(), Datum::new(rrtk::Time(6), 6));
[INFO] [stdout]     |                                                                     +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:648:74
[INFO] [stdout]     |
[INFO] [stdout] 648 |             assert_eq!(start_at_zero.get().unwrap().unwrap(), Datum::new(6, 0));
[INFO] [stdout]     |                                                               ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 648 |             assert_eq!(start_at_zero.get().unwrap().unwrap(), Datum::new(rrtk::Time(6), 0));
[INFO] [stdout]     |                                                                          +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:650:74
[INFO] [stdout]     |
[INFO] [stdout] 650 |             assert_eq!(start_at_zero.get().unwrap().unwrap(), Datum::new(7, 1));
[INFO] [stdout]     |                                                               ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 650 |             assert_eq!(start_at_zero.get().unwrap().unwrap(), Datum::new(rrtk::Time(7), 1));
[INFO] [stdout]     |                                                                          +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:655:94
[INFO] [stdout]     |
[INFO] [stdout] 655 |                 GetterFromHistory::new_custom_start(&mut my_history, my_time_getter.clone(), 10)
[INFO] [stdout]     |                 ----------------------------------- arguments to this function are incorrect ^^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout] 438 |     pub fn new_custom_start(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 655 |                 GetterFromHistory::new_custom_start(&mut my_history, my_time_getter.clone(), rrtk::Time(10))
[INFO] [stdout]     |                                                                                              +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:657:73
[INFO] [stdout]     |
[INFO] [stdout] 657 |             assert_eq!(custom_start.get().unwrap().unwrap(), Datum::new(7, 10));
[INFO] [stdout]     |                                                              ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 657 |             assert_eq!(custom_start.get().unwrap().unwrap(), Datum::new(rrtk::Time(7), 10));
[INFO] [stdout]     |                                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:659:73
[INFO] [stdout]     |
[INFO] [stdout] 659 |             assert_eq!(custom_start.get().unwrap().unwrap(), Datum::new(8, 11));
[INFO] [stdout]     |                                                              ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 659 |             assert_eq!(custom_start.get().unwrap().unwrap(), Datum::new(rrtk::Time(8), 11));
[INFO] [stdout]     |                                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:664:94
[INFO] [stdout]     |
[INFO] [stdout] 664 |                 GetterFromHistory::new_custom_delta(&mut my_history, my_time_getter.clone(), 5);
[INFO] [stdout]     |                 ----------------------------------- arguments to this function are incorrect ^ expected `Time`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:451:12
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub fn new_custom_delta(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 664 |                 GetterFromHistory::new_custom_delta(&mut my_history, my_time_getter.clone(), rrtk::Time(5));
[INFO] [stdout]     |                                                                                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:665:73
[INFO] [stdout]     |
[INFO] [stdout] 665 |             assert_eq!(custom_delta.get().unwrap().unwrap(), Datum::new(8, 13));
[INFO] [stdout]     |                                                              ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 665 |             assert_eq!(custom_delta.get().unwrap().unwrap(), Datum::new(rrtk::Time(8), 13));
[INFO] [stdout]     |                                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:667:73
[INFO] [stdout]     |
[INFO] [stdout] 667 |             assert_eq!(custom_delta.get().unwrap().unwrap(), Datum::new(9, 14));
[INFO] [stdout]     |                                                              ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 667 |             assert_eq!(custom_delta.get().unwrap().unwrap(), Datum::new(rrtk::Time(9), 14));
[INFO] [stdout]     |                                                                         +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:673:67
[INFO] [stdout]     |
[INFO] [stdout] 673 |             assert_eq!(getter.get().unwrap().unwrap(), Datum::new(9, 9));
[INFO] [stdout]     |                                                        ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 673 |             assert_eq!(getter.get().unwrap().unwrap(), Datum::new(rrtk::Time(9), 9));
[INFO] [stdout]     |                                                                   +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:674:30
[INFO] [stdout]     |
[INFO] [stdout] 674 |             getter.set_delta(5);
[INFO] [stdout]     |                    --------- ^ expected `Time`, found integer
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:463:12
[INFO] [stdout]     |
[INFO] [stdout] 463 |     pub fn set_delta(&mut self, time_delta: Time) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 674 |             getter.set_delta(rrtk::Time(5));
[INFO] [stdout]     |                              +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:675:67
[INFO] [stdout]     |
[INFO] [stdout] 675 |             assert_eq!(getter.get().unwrap().unwrap(), Datum::new(9, 14));
[INFO] [stdout]     |                                                        ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 675 |             assert_eq!(getter.get().unwrap().unwrap(), Datum::new(rrtk::Time(9), 14));
[INFO] [stdout]     |                                                                   +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:676:29
[INFO] [stdout]     |
[INFO] [stdout] 676 |             getter.set_time(20).unwrap();
[INFO] [stdout]     |                    -------- ^^ expected `Time`, found integer
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:468:12
[INFO] [stdout]     |
[INFO] [stdout] 468 |     pub fn set_time(&mut self, time: Time) -> NothingOrError<E> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 676 |             getter.set_time(rrtk::Time(20)).unwrap();
[INFO] [stdout]     |                             +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:677:67
[INFO] [stdout]     |
[INFO] [stdout] 677 |             assert_eq!(getter.get().unwrap().unwrap(), Datum::new(9, 20));
[INFO] [stdout]     |                                                        ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 677 |             assert_eq!(getter.get().unwrap().unwrap(), Datum::new(rrtk::Time(9), 20));
[INFO] [stdout]     |                                                                   +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:684:67
[INFO] [stdout]     |
[INFO] [stdout] 684 |             assert_eq!(getter.get().unwrap().unwrap(), Datum::new(9, 9));
[INFO] [stdout]     |                                                        ---------- ^ expected `Time`, found integer
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 684 |             assert_eq!(getter.get().unwrap().unwrap(), Datum::new(rrtk::Time(9), 9));
[INFO] [stdout]     |                                                                   +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:686:67
[INFO] [stdout]     |
[INFO] [stdout] 686 |             assert_eq!(getter.get().unwrap().unwrap(), Datum::new(10, 30));
[INFO] [stdout]     |                                                        ---------- ^^ expected `Time`, found integer
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 686 |             assert_eq!(getter.get().unwrap().unwrap(), Datum::new(rrtk::Time(10), 30));
[INFO] [stdout]     |                                                                   +++++++++++  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:596:37
[INFO] [stdout]     |
[INFO] [stdout] 596 |                     Some(Datum::new(time, time))
[INFO] [stdout]     |                          ---------- ^^^^ expected `Time`, found `i64`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 596 |                     Some(Datum::new(rrtk::Time(time), time))
[INFO] [stdout]     |                                     +++++++++++    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:598:61
[INFO] [stdout]     |
[INFO] [stdout] 598 |                 UpdateTestState::Updated => Some(Datum::new(time, 30)),
[INFO] [stdout]     |                                                  ---------- ^^^^ expected `Time`, found `i64`
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/datum.rs:14:18
[INFO] [stdout]     |
[INFO] [stdout] 14  |     pub const fn new(time: Time, value: T) -> Datum<T> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 598 |                 UpdateTestState::Updated => Some(Datum::new(rrtk::Time(time), 30)),
[INFO] [stdout]     |                                                             +++++++++++    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:622:16
[INFO] [stdout]     |
[INFO] [stdout] 622 |             Ok(self.time)
[INFO] [stdout]     |             -- ^^^^^^^^^ expected `Time`, found `i64`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] help: the type constructed contains `i64` due to the type of the argument passed
[INFO] [stdout]    --> tests/tests.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |             Ok(self.time)
[INFO] [stdout]     |             ^^^---------^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/result.rs:532:5
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 622 |             Ok(rrtk::Time(self.time))
[INFO] [stdout]     |                +++++++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/tests.rs:701:16
[INFO] [stdout]     |
[INFO] [stdout] 701 |             Ok(0)
[INFO] [stdout]     |             -- ^ expected `Time`, found integer
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] help: the type constructed contains `{integer}` due to the type of the argument passed
[INFO] [stdout]    --> tests/tests.rs:701:13
[INFO] [stdout]     |
[INFO] [stdout] 701 |             Ok(0)
[INFO] [stdout]     |             ^^^-^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/result.rs:532:5
[INFO] [stdout] help: try wrapping the expression in `rrtk::Time`
[INFO] [stdout]     |
[INFO] [stdout] 701 |             Ok(rrtk::Time(0))
[INFO] [stdout]     |                +++++++++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0053, E0277, E0308, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0053`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rrtk` (test "tests") due to 228 previous errors
[INFO] running `Command { std: "docker" "inspect" "8b6052e2fa448afea379ddc1f9e443e4a52d9d0f9d37c558ea3376bb790d2237", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b6052e2fa448afea379ddc1f9e443e4a52d9d0f9d37c558ea3376bb790d2237", kill_on_drop: false }`
[INFO] [stdout] 8b6052e2fa448afea379ddc1f9e443e4a52d9d0f9d37c558ea3376bb790d2237
