[INFO] cloning repository https://github.com/jacobmischka/corkboard-backend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jacobmischka/corkboard-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjacobmischka%2Fcorkboard-backend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjacobmischka%2Fcorkboard-backend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 99d9e368662477147189945242963c1b4488c230
[INFO] testing jacobmischka/corkboard-backend against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjacobmischka%2Fcorkboard-backend" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/jacobmischka/corkboard-backend on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/jacobmischka/corkboard-backend
[INFO] finished tweaking git repo https://github.com/jacobmischka/corkboard-backend
[INFO] tweaked toml for git repo https://github.com/jacobmischka/corkboard-backend written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/jacobmischka/corkboard-backend already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 41e416fdc95259c8b455ee6eede6d9aa28265604bc7680fe23817c7b123cc734
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "41e416fdc95259c8b455ee6eede6d9aa28265604bc7680fe23817c7b123cc734", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "41e416fdc95259c8b455ee6eede6d9aa28265604bc7680fe23817c7b123cc734", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "41e416fdc95259c8b455ee6eede6d9aa28265604bc7680fe23817c7b123cc734", kill_on_drop: false }`
[INFO] [stdout] 41e416fdc95259c8b455ee6eede6d9aa28265604bc7680fe23817c7b123cc734
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] a7dc1af04f3d9cbd49346ad811197b5056497da1f1feb338e2861dcbf3dea890
[INFO] running `Command { std: "docker" "start" "-a" "a7dc1af04f3d9cbd49346ad811197b5056497da1f1feb338e2861dcbf3dea890", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.25
[INFO] [stderr]    Compiling lazycell v1.2.0
[INFO] [stderr]    Compiling failure_derive v0.1.3
[INFO] [stderr]    Compiling serde v1.0.80
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]    Compiling num-bigint v0.2.1
[INFO] [stderr]    Compiling regex v1.0.5
[INFO] [stderr]    Compiling arc-swap v0.3.4
[INFO] [stderr]    Compiling clamp v0.1.0
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling tokio-executor v0.1.5
[INFO] [stderr]    Compiling net2 v0.2.33
[INFO] [stderr]    Compiling socket2 v0.3.8
[INFO] [stderr]    Compiling unicase v2.2.0
[INFO] [stderr]    Compiling proc-macro2 v0.3.8
[INFO] [stderr]    Compiling actix-web v0.7.13
[INFO] [stderr]    Compiling tower-service v0.1.0
[INFO] [stderr]    Compiling uuid v0.6.5
[INFO] [stderr]    Compiling humantime v1.1.1
[INFO] [stderr]    Compiling regex-syntax v0.6.2
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling bytes v0.4.10
[INFO] [stderr]    Compiling futures-cpupool v0.1.8
[INFO] [stderr]    Compiling lock_api v0.1.4
[INFO] [stderr]    Compiling signal-hook v0.1.5
[INFO] [stderr]    Compiling tokio-timer v0.2.7
[INFO] [stderr]    Compiling tokio-current-thread v0.1.3
[INFO] [stderr]    Compiling mio v0.6.16
[INFO] [stderr]    Compiling quote v0.5.2
[INFO] [stderr]    Compiling uuid v0.7.1
[INFO] [stderr]    Compiling approx v0.3.0
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling quote v0.6.9
[INFO] [stderr]    Compiling memchr v2.1.1
[INFO] [stderr]    Compiling uom v0.20.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.5.2
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.6.0
[INFO] [stderr]    Compiling num-iter v0.1.37
[INFO] [stderr]    Compiling chrono v0.4.6
[INFO] [stderr]    Compiling syn v0.13.11
[INFO] [stderr]    Compiling phf_shared v0.7.23
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]    Compiling tokio-io v0.1.10
[INFO] [stderr]    Compiling http v0.1.13
[INFO] [stderr]    Compiling syn v0.15.18
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]    Compiling mio-uds v0.6.7
[INFO] [stderr]    Compiling aho-corasick v0.6.9
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling crossbeam-deque v0.6.1
[INFO] [stderr]    Compiling phf_generator v0.7.23
[INFO] [stderr]    Compiling phf v0.7.23
[INFO] [stderr]    Compiling mime v0.3.12
[INFO] [stderr]    Compiling alga v0.7.2
[INFO] [stderr]    Compiling backtrace-sys v0.1.24
[INFO] [stderr]    Compiling miniz-sys v0.1.11
[INFO] [stderr]    Compiling ring v0.13.2
[INFO] [stderr]    Compiling brotli-sys v0.3.2
[INFO] [stderr]    Compiling tokio-codec v0.1.1
[INFO] [stderr]    Compiling tokio-threadpool v0.1.8
[INFO] [stderr]    Compiling parking_lot v0.6.4
[INFO] [stderr]    Compiling phf_codegen v0.7.23
[INFO] [stderr]    Compiling nalgebra v0.16.8
[INFO] [stdout] error[E0277]: the trait bound `<<D as si::Dimension>::L as std::ops::Neg>::Output: Integer` is not satisfied
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs:716:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |           pub struct Quantity<D, U, V>
[INFO] [stdout]     |                      -------- required by a bound in this
[INFO] [stdout] 231 |           where
[INFO] [stdout] 232 |               D: Dimension + ?Sized,
[INFO] [stdout]     |                  --------- required by this bound in `si::Quantity`
[INFO] [stdout] ...
[INFO] [stdout] 716 |               ) -> Quantity<$quantities<$($crate::typenum::Negate<D::$symbol>),+>, U, V>
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Integer` is not implemented for `<<D as si::Dimension>::L as std::ops::Neg>::Output`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/si/mod.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout] 10  | / system! {
[INFO] [stdout] 11  | |     /// [International System of Quantities](http://jcgm.bipm.org/vim/en/1.6.html) (ISQ).
[INFO] [stdout] 12  | |     quantities: ISQ {
[INFO] [stdout] 13  | |         length: meter, L;
[INFO] [stdout] ...   |
[INFO] [stdout] 55  | |     }
[INFO] [stdout] 56  | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `system` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<<D as si::Dimension>::M as std::ops::Neg>::Output: Integer` is not satisfied
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs:716:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |           pub struct Quantity<D, U, V>
[INFO] [stdout]     |                      -------- required by a bound in this
[INFO] [stdout] 231 |           where
[INFO] [stdout] 232 |               D: Dimension + ?Sized,
[INFO] [stdout]     |                  --------- required by this bound in `si::Quantity`
[INFO] [stdout] ...
[INFO] [stdout] 716 |               ) -> Quantity<$quantities<$($crate::typenum::Negate<D::$symbol>),+>, U, V>
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Integer` is not implemented for `<<D as si::Dimension>::M as std::ops::Neg>::Output`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/si/mod.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout] 10  | / system! {
[INFO] [stdout] 11  | |     /// [International System of Quantities](http://jcgm.bipm.org/vim/en/1.6.html) (ISQ).
[INFO] [stdout] 12  | |     quantities: ISQ {
[INFO] [stdout] 13  | |         length: meter, L;
[INFO] [stdout] ...   |
[INFO] [stdout] 55  | |     }
[INFO] [stdout] 56  | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `system` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<<D as si::Dimension>::T as std::ops::Neg>::Output: Integer` is not satisfied
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs:716:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |           pub struct Quantity<D, U, V>
[INFO] [stdout]     |                      -------- required by a bound in this
[INFO] [stdout] 231 |           where
[INFO] [stdout] 232 |               D: Dimension + ?Sized,
[INFO] [stdout]     |                  --------- required by this bound in `si::Quantity`
[INFO] [stdout] ...
[INFO] [stdout] 716 |               ) -> Quantity<$quantities<$($crate::typenum::Negate<D::$symbol>),+>, U, V>
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Integer` is not implemented for `<<D as si::Dimension>::T as std::ops::Neg>::Output`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/si/mod.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout] 10  | / system! {
[INFO] [stdout] 11  | |     /// [International System of Quantities](http://jcgm.bipm.org/vim/en/1.6.html) (ISQ).
[INFO] [stdout] 12  | |     quantities: ISQ {
[INFO] [stdout] 13  | |         length: meter, L;
[INFO] [stdout] ...   |
[INFO] [stdout] 55  | |     }
[INFO] [stdout] 56  | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `system` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<<D as si::Dimension>::I as std::ops::Neg>::Output: Integer` is not satisfied
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs:716:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |           pub struct Quantity<D, U, V>
[INFO] [stdout]     |                      -------- required by a bound in this
[INFO] [stdout] 231 |           where
[INFO] [stdout] 232 |               D: Dimension + ?Sized,
[INFO] [stdout]     |                  --------- required by this bound in `si::Quantity`
[INFO] [stdout] ...
[INFO] [stdout] 716 |               ) -> Quantity<$quantities<$($crate::typenum::Negate<D::$symbol>),+>, U, V>
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Integer` is not implemented for `<<D as si::Dimension>::I as std::ops::Neg>::Output`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/si/mod.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout] 10  | / system! {
[INFO] [stdout] 11  | |     /// [International System of Quantities](http://jcgm.bipm.org/vim/en/1.6.html) (ISQ).
[INFO] [stdout] 12  | |     quantities: ISQ {
[INFO] [stdout] 13  | |         length: meter, L;
[INFO] [stdout] ...   |
[INFO] [stdout] 55  | |     }
[INFO] [stdout] 56  | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `system` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<<D as si::Dimension>::Th as std::ops::Neg>::Output: Integer` is not satisfied
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs:716:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |           pub struct Quantity<D, U, V>
[INFO] [stdout]     |                      -------- required by a bound in this
[INFO] [stdout] 231 |           where
[INFO] [stdout] 232 |               D: Dimension + ?Sized,
[INFO] [stdout]     |                  --------- required by this bound in `si::Quantity`
[INFO] [stdout] ...
[INFO] [stdout] 716 |               ) -> Quantity<$quantities<$($crate::typenum::Negate<D::$symbol>),+>, U, V>
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Integer` is not implemented for `<<D as si::Dimension>::Th as std::ops::Neg>::Output`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/si/mod.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout] 10  | / system! {
[INFO] [stdout] 11  | |     /// [International System of Quantities](http://jcgm.bipm.org/vim/en/1.6.html) (ISQ).
[INFO] [stdout] 12  | |     quantities: ISQ {
[INFO] [stdout] 13  | |         length: meter, L;
[INFO] [stdout] ...   |
[INFO] [stdout] 55  | |     }
[INFO] [stdout] 56  | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `system` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<<D as si::Dimension>::N as std::ops::Neg>::Output: Integer` is not satisfied
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs:716:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |           pub struct Quantity<D, U, V>
[INFO] [stdout]     |                      -------- required by a bound in this
[INFO] [stdout] 231 |           where
[INFO] [stdout] 232 |               D: Dimension + ?Sized,
[INFO] [stdout]     |                  --------- required by this bound in `si::Quantity`
[INFO] [stdout] ...
[INFO] [stdout] 716 |               ) -> Quantity<$quantities<$($crate::typenum::Negate<D::$symbol>),+>, U, V>
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Integer` is not implemented for `<<D as si::Dimension>::N as std::ops::Neg>::Output`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/si/mod.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout] 10  | / system! {
[INFO] [stdout] 11  | |     /// [International System of Quantities](http://jcgm.bipm.org/vim/en/1.6.html) (ISQ).
[INFO] [stdout] 12  | |     quantities: ISQ {
[INFO] [stdout] 13  | |         length: meter, L;
[INFO] [stdout] ...   |
[INFO] [stdout] 55  | |     }
[INFO] [stdout] 56  | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `system` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<<D as si::Dimension>::J as std::ops::Neg>::Output: Integer` is not satisfied
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs:716:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |           pub struct Quantity<D, U, V>
[INFO] [stdout]     |                      -------- required by a bound in this
[INFO] [stdout] 231 |           where
[INFO] [stdout] 232 |               D: Dimension + ?Sized,
[INFO] [stdout]     |                  --------- required by this bound in `si::Quantity`
[INFO] [stdout] ...
[INFO] [stdout] 716 |               ) -> Quantity<$quantities<$($crate::typenum::Negate<D::$symbol>),+>, U, V>
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Integer` is not implemented for `<<D as si::Dimension>::J as std::ops::Neg>::Output`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/si/mod.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout] 10  | / system! {
[INFO] [stdout] 11  | |     /// [International System of Quantities](http://jcgm.bipm.org/vim/en/1.6.html) (ISQ).
[INFO] [stdout] 12  | |     quantities: ISQ {
[INFO] [stdout] 13  | |         length: meter, L;
[INFO] [stdout] ...   |
[INFO] [stdout] 55  | |     }
[INFO] [stdout] 56  | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `system` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] {"message":"the trait bound `<<D as si::Dimension>::M as std::ops::Mul<E>>::Output: Integer` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n    fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n    foo.bar();\n}\n\nfn main() {\n    // we now call the method with the i32 type, which doesn't implement\n    // the Foo trait\n    some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n    fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n    fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n    foo.bar(); // we can now use this method since i32 implements the\n               // Foo trait\n}\n\nfn main() {\n    some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n    println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n                           //        implemented for the type `T`\n}\n\nfn main() {\n    // We now call the method with the i32 type,\n    // which *does* implement the Debug trait.\n    some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n    println!(\"{:?}\", foo);\n}\n\nfn main() {\n    // Calling the method is still fine, as i32 implements Debug.\n    some_func(5i32);\n\n    // This would fail to compile now:\n    // struct WithoutDebug;\n    // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"/opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs","byte_start":31870,"byte_end":31940,"line_start":740,"line_end":740,"column_start":18,"column_end":88,"is_primary":true,"text":[{"text":"            ) -> Quantity<$quantities<$($crate::typenum::Prod<D::$symbol, E>),+>, U, V>","highlight_start":18,"highlight_end":88}],"label":"the trait `Integer` is not implemented for `<<D as si::Dimension>::M as std::ops::Mul<E>>::Output`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs","byte_start":3729,"byte_end":4005,"line_start":97,"line_end":106,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":"        system! {","highlight_start":9,"highlight_end":18},{"text":"            $(#[$quantities_attr])*","highlight_start":1,"highlight_end":36},{"text":"            quantities: $quantities {","highlight_start":1,"highlight_end":38},{"text":"                $($name: $unit, $symbol;)+","highlight_start":1,"highlight_end":43},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"            $(#[$units_attr])*","highlight_start":1,"highlight_end":31},{"text":"            units: $units {","highlight_start":1,"highlight_end":28},{"text":"                $(mod $module::$quantity,)+","highlight_start":1,"highlight_end":44},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"        }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/si/mod.rs","byte_start":254,"byte_end":1859,"line_start":10,"line_end":56,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"system! {","highlight_start":1,"highlight_end":10},{"text":"    /// [International System of Quantities](http://jcgm.bipm.org/vim/en/1.6.html) (ISQ).","highlight_start":1,"highlight_end":90},{"text":"    quantities: ISQ {","highlight_start":1,"highlight_end":22},{"text":"        length: meter, L;","highlight_start":1,"highlight_end":26},{"text":"        mass: kilogram, M;","highlight_start":1,"highlight_end":27},{"text":"        time: second, T;","highlight_start":1,"highlight_end":25},{"text":"        electric_current: ampere, I;","highlight_start":1,"highlight_end":37},{"text":"        thermodynamic_temperature: kelvin, Th;","highlight_start":1,"highlight_end":47},{"text":"        amount_of_substance: mole, N;","highlight_start":1,"highlight_end":38},{"text":"        luminous_intensity: candela, J;","highlight_start":1,"highlight_end":40},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    /// [International System of Units](http://jcgm.bipm.org/vim/en/1.16.html) (SI).","highlight_start":1,"highlight_end":85},{"text":"    units: SI {","highlight_start":1,"highlight_end":16},{"text":"        acceleration::Acceleration,","highlight_start":1,"highlight_end":36},{"text":"        amount_of_substance::AmountOfSubstance,","highlight_start":1,"highlight_end":48},{"text":"        area::Area,","highlight_start":1,"highlight_end":20},{"text":"        available_energy::AvailableEnergy,","highlight_start":1,"highlight_end":43},{"text":"        capacitance::Capacitance,","highlight_start":1,"highlight_end":34},{"text":"        density::Density,","highlight_start":1,"highlight_end":26},{"text":"        electrical_resistance::ElectricalResistance,","highlight_start":1,"highlight_end":53},{"text":"        electrical_conductance::ElectricalConductance,","highlight_start":1,"highlight_end":55},{"text":"        electric_charge::ElectricCharge,","highlight_start":1,"highlight_end":41},{"text":"        electric_current::ElectricCurrent,","highlight_start":1,"highlight_end":43},{"text":"        electric_potential::ElectricPotential,","highlight_start":1,"highlight_end":47},{"text":"        energy::Energy,","highlight_start":1,"highlight_end":24},{"text":"        force::Force,","highlight_start":1,"highlight_end":22},{"text":"        frequency::Frequency,","highlight_start":1,"highlight_end":30},{"text":"        inductance::Inductance,","highlight_start":1,"highlight_end":32},{"text":"        length::Length,","highlight_start":1,"highlight_end":24},{"text":"        luminance::Luminance,","highlight_start":1,"highlight_end":30},{"text":"        luminous_intensity::LuminousIntensity,","highlight_start":1,"highlight_end":47},{"text":"        magnetic_flux::MagneticFlux,","highlight_start":1,"highlight_end":37},{"text":"        magnetic_flux_density::MagneticFluxDensity,","highlight_start":1,"highlight_end":52},{"text":"        mass::Mass,","highlight_start":1,"highlight_end":20},{"text":"        mass_rate::MassRate,","highlight_start":1,"highlight_end":29},{"text":"        power::Power,","highlight_start":1,"highlight_end":22},{"text":"        pressure::Pressure,","highlight_start":1,"highlight_end":28},{"text":"        ratio::Ratio,","highlight_start":1,"highlight_end":22},{"text":"        temperature_interval::TemperatureInterval,","highlight_start":1,"highlight_end":51},{"text":"        thermodynamic_temperature::ThermodynamicTemperature,","highlight_start":1,"highlight_end":61},{"text":"        time::Time,","highlight_start":1,"highlight_end":20},{"text":"        velocity::Velocity,","highlight_start":1,"highlight_end":28},{"text":"        volume::Volume,","highlight_start":1,"highlight_end":24},{"text":"        volume_rate::VolumeRate,","highlight_start":1,"highlight_end":33},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"system!","def_site_span":{"file_name":"/opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs","byte_start":3371,"byte_end":55447,"line_start":85,"line_end":1356,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! system {","highlight_start":1,"highlight_end":22},{"text":"    (","highlight_start":1,"highlight_end":6},{"text":"        $(#[$quantities_attr:meta])* quantities: $quantities:ident {","highlight_start":1,"highlight_end":69},{"text":"            $($name:ident: $unit:ident, $symbol:ident;)+","highlight_start":1,"highlight_end":57},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"        $(#[$units_attr:meta])* units: $units:ident {","highlight_start":1,"highlight_end":54},{"text":"            $($module:ident::$quantity:ident,)+","highlight_start":1,"highlight_end":48},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"    ) => {","highlight_start":1,"highlight_end":11},{"text":"        $(#[macro_use]","highlight_start":1,"highlight_end":23},{"text":"        pub mod $module;)+","highlight_start":1,"highlight_end":27},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        system! {","highlight_start":1,"highlight_end":18},{"text":"            $(#[$quantities_attr])*","highlight_start":1,"highlight_end":36},{"text":"            quantities: $quantities {","highlight_start":1,"highlight_end":38},{"text":"                $($name: $unit, $symbol;)+","highlight_start":1,"highlight_end":43},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"            $(#[$units_attr])*","highlight_start":1,"highlight_end":31},{"text":"            units: $units {","highlight_start":1,"highlight_end":28},{"text":"                $(mod $module::$quantity,)+","highlight_start":1,"highlight_end":44},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"    };","highlight_start":1,"highlight_end":7},{"text":"    (","highlight_start":1,"highlight_end":6},{"text":"        $(#[$quantities_attr:meta])* quantities: $quantities:ident {","highlight_start":1,"highlight_end":69},{"text":"            $($name:ident: $unit:ident, $symbol:ident;)+","highlight_start":1,"highlight_end":57},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"        $(#[$units_attr:meta])* units: $units:ident {","highlight_start":1,"highlight_end":54},{"text":"            $(mod $module:ident::$quantity:ident,)+","highlight_start":1,"highlight_end":52},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"    ) => {","highlight_start":1,"highlight_end":11},{"text":"        /// Marker trait to express the dependence of a [quantity][quantity] on the","highlight_start":1,"highlight_end":84},{"text":"        /// [base quantities][base] of a [system of quantities][quantities] as a product of powers","highlight_start":1,"highlight_end":99},{"text":"        /// of factors corresponding to the base quantities, omitting any numerical factor.","highlight_start":1,"highlight_end":92},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        /// * <http://jcgm.bipm.org/vim/en/1.7.html>","highlight_start":1,"highlight_end":53},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        /// [quantity]: http://jcgm.bipm.org/vim/en/1.1.html","highlight_start":1,"highlight_end":61},{"text":"        /// [base]: http://jcgm.bipm.org/vim/en/1.4.html","highlight_start":1,"highlight_end":57},{"text":"        /// [quantities]: http://jcgm.bipm.org/vim/en/1.3.html","highlight_start":1,"highlight_end":63},{"text":"        pub trait Dimension: Send + Sync {","highlight_start":1,"highlight_end":43},{"text":"            $(/// Quantity dimension.","highlight_start":1,"highlight_end":38},{"text":"            type $symbol: $crate::typenum::Integer;)+","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// [Kind][kind] of the quantity. Quantities of the same dimension but differing kinds","highlight_start":1,"highlight_end":99},{"text":"            /// are not comparable.","highlight_start":1,"highlight_end":36},{"text":"            ///","highlight_start":1,"highlight_end":16},{"text":"            /// [kind]: https://jcgm.bipm.org/vim/en/1.2.html","highlight_start":1,"highlight_end":62},{"text":"            type Kind: ?Sized;","highlight_start":1,"highlight_end":31},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        /// Marker trait to identify a [system of units][units] based on a set of [base units][base]","highlight_start":1,"highlight_end":101},{"text":"        /// of a [system of quantities][quantities].","highlight_start":1,"highlight_end":53},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        /// [units]: http://jcgm.bipm.org/vim/en/1.13.html","highlight_start":1,"highlight_end":59},{"text":"        /// [base]: http://jcgm.bipm.org/vim/en/1.10.html","highlight_start":1,"highlight_end":58},{"text":"        /// [quantities]: http://jcgm.bipm.org/vim/en/1.3.html","highlight_start":1,"highlight_end":63},{"text":"        pub trait Units<V>: Send + Sync","highlight_start":1,"highlight_end":40},{"text":"        where","highlight_start":1,"highlight_end":14},{"text":"            V: $crate::Conversion<V>,","highlight_start":1,"highlight_end":38},{"text":"        {","highlight_start":1,"highlight_end":10},{"text":"            $(/// Base unit.","highlight_start":1,"highlight_end":29},{"text":"            type $name: Unit + $crate::Conversion<V, T = V::T>;)+","highlight_start":1,"highlight_end":66},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        /// Trait to identify [measurement units][measurement] of individual","highlight_start":1,"highlight_end":77},{"text":"        /// [quantities][quantity].","highlight_start":1,"highlight_end":36},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        /// [measurement]: http://jcgm.bipm.org/vim/en/1.9.html","highlight_start":1,"highlight_end":64},{"text":"        /// [quantity]: http://jcgm.bipm.org/vim/en/1.1.html","highlight_start":1,"highlight_end":61},{"text":"        pub trait Unit: Copy {","highlight_start":1,"highlight_end":31},{"text":"            /// Unit abbreviation.","highlight_start":1,"highlight_end":35},{"text":"            fn abbreviation() -> &'static str;","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Unit singular description.","highlight_start":1,"highlight_end":43},{"text":"            fn singular() -> &'static str;","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Unit plural description.","highlight_start":1,"highlight_end":41},{"text":"            fn plural() -> &'static str;","highlight_start":1,"highlight_end":41},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        /// Property of a phenomenon, body or substance, where the property has a magnitude that","highlight_start":1,"highlight_end":97},{"text":"        /// can be expressed as a number and a reference.","highlight_start":1,"highlight_end":58},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        /// The preferred method of creating a `Quantity` instance is to use the `new` constructor","highlight_start":1,"highlight_end":99},{"text":"        /// which is generic over the input unit and accepts the input value as it's only","highlight_start":1,"highlight_end":90},{"text":"        /// parameter.","highlight_start":1,"highlight_end":23},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        #[cfg_attr(all(feature = \"si\", feature = \"f32\"), doc = \" ```rust\")]","highlight_start":1,"highlight_end":76},{"text":"        #[cfg_attr(not(all(feature = \"si\", feature = \"f32\")), doc = \" ```rust,ignore\")]","highlight_start":1,"highlight_end":88},{"text":"        /// # use uom::si::f32::*;","highlight_start":1,"highlight_end":35},{"text":"        /// # use uom::si::length::meter;","highlight_start":1,"highlight_end":42},{"text":"        /// // Create a length of 1 meter.","highlight_start":1,"highlight_end":43},{"text":"        /// let L = Length::new::<meter>(1.0);","highlight_start":1,"highlight_end":47},{"text":"        /// ```","highlight_start":1,"highlight_end":16},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        /// `Quantity` fields are public to allow for the creation of `const` values and instances","highlight_start":1,"highlight_end":99},{"text":"        /// of non-named `Quantity`s. This functionality will be deprecated and subsequently removed","highlight_start":1,"highlight_end":101},{"text":"        /// once the [`const fn`](https://github.com/rust-lang/rust/issues/24111) feature is","highlight_start":1,"highlight_end":93},{"text":"        /// stabilized.","highlight_start":1,"highlight_end":24},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        #[cfg_attr(all(feature = \"si\", feature = \"f32\"), doc = \" ```rust\")]","highlight_start":1,"highlight_end":76},{"text":"        #[cfg_attr(not(all(feature = \"si\", feature = \"f32\")), doc = \" ```rust,ignore\")]","highlight_start":1,"highlight_end":88},{"text":"        /// # use uom::si::{Quantity, ISQ, SI};","highlight_start":1,"highlight_end":48},{"text":"        /// # use uom::si::f32::*;","highlight_start":1,"highlight_end":35},{"text":"        /// # use uom::lib::marker::PhantomData;","highlight_start":1,"highlight_end":49},{"text":"        /// # use uom::typenum::{P2, Z0};","highlight_start":1,"highlight_end":42},{"text":"        /// // Create a `const` length of 1 meter.","highlight_start":1,"highlight_end":51},{"text":"        /// const L: Length = Length { dimension: PhantomData, units: PhantomData, value: 1.0, };","highlight_start":1,"highlight_end":98},{"text":"        /// // Create a `const` area of 1 square meter explicitly without using the `Area` alias.","highlight_start":1,"highlight_end":98},{"text":"        /// const A: Quantity<ISQ<P2, Z0, Z0, Z0, Z0, Z0, Z0>, SI<f32>, f32> =","highlight_start":1,"highlight_end":79},{"text":"        ///     Quantity { dimension: PhantomData, units: PhantomData, value: 1.0, };","highlight_start":1,"highlight_end":86},{"text":"        /// ```","highlight_start":1,"highlight_end":16},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        /// Using units for the wrong quantity will cause a compile error:","highlight_start":1,"highlight_end":75},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        #[cfg_attr(all(feature = \"si\", feature = \"f32\", not(feature = \"1_20_0\")), doc = \" ```rust,compile_fail\")]","highlight_start":1,"highlight_end":114},{"text":"        #[cfg_attr(not(all(feature = \"si\", feature = \"f32\", not(feature = \"1_20_0\"))), doc = \" ```rust,ignore\")]","highlight_start":1,"highlight_end":113},{"text":"        /// # use uom::si::f32::*;","highlight_start":1,"highlight_end":35},{"text":"        /// # use uom::si::time::second;","highlight_start":1,"highlight_end":41},{"text":"        /// // error[E0277]: the trait bound `second: length::Unit` is not satisfied","highlight_start":1,"highlight_end":85},{"text":"        /// let l = Length::new::<second>(1.0);","highlight_start":1,"highlight_end":48},{"text":"        /// ```","highlight_start":1,"highlight_end":16},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        /// Mixing quantities will also cause a compile error:","highlight_start":1,"highlight_end":63},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        #[cfg_attr(all(feature = \"si\", feature = \"f32\", not(feature = \"1_20_0\")), doc = \" ```rust,compile_fail\")]","highlight_start":1,"highlight_end":114},{"text":"        #[cfg_attr(not(all(feature = \"si\", feature = \"f32\", not(feature = \"1_20_0\"))), doc = \" ```rust,ignore\")]","highlight_start":1,"highlight_end":113},{"text":"        /// # use uom::si::f32::*;","highlight_start":1,"highlight_end":35},{"text":"        /// # use uom::si::length::meter;","highlight_start":1,"highlight_end":42},{"text":"        /// # use uom::si::time::second;","highlight_start":1,"highlight_end":41},{"text":"        /// // error[E0308]: mismatched types","highlight_start":1,"highlight_end":46},{"text":"        /// let r = Length::new::<meter>(1.0) + Time::new::<second>(1.0);","highlight_start":1,"highlight_end":74},{"text":"        /// ```","highlight_start":1,"highlight_end":16},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        #[cfg_attr(all(feature = \"si\", feature = \"f32\", not(feature = \"1_20_0\")), doc = \" ```rust,compile_fail\")]","highlight_start":1,"highlight_end":114},{"text":"        #[cfg_attr(not(all(feature = \"si\", feature = \"f32\", not(feature = \"1_20_0\"))), doc = \" ```rust,ignore\")]","highlight_start":1,"highlight_end":113},{"text":"        /// # use uom::si::f32::*;","highlight_start":1,"highlight_end":35},{"text":"        /// # use uom::si::length::meter;","highlight_start":1,"highlight_end":42},{"text":"        /// # use uom::si::time::second;","highlight_start":1,"highlight_end":41},{"text":"        /// // error[E0308]: mismatched types","highlight_start":1,"highlight_end":46},{"text":"        /// let v: Velocity = Length::new::<meter>(1.0) * Time::new::<second>(1.0);","highlight_start":1,"highlight_end":84},{"text":"        /// ```","highlight_start":1,"highlight_end":16},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        /// * <http://jcgm.bipm.org/vim/en/1.1.html>","highlight_start":1,"highlight_end":53},{"text":"        pub struct Quantity<D, U, V>","highlight_start":1,"highlight_end":37},{"text":"        where","highlight_start":1,"highlight_end":14},{"text":"            D: Dimension + ?Sized,","highlight_start":1,"highlight_end":35},{"text":"            U: Units<V> + ?Sized,","highlight_start":1,"highlight_end":34},{"text":"            V: $crate::num::Num + $crate::Conversion<V>,","highlight_start":1,"highlight_end":57},{"text":"        {","highlight_start":1,"highlight_end":10},{"text":"            /// Quantity dimension. See [`Dimension`](./trait.Dimension.html).","highlight_start":1,"highlight_end":79},{"text":"            pub dimension: $crate::lib::marker::PhantomData<D>,","highlight_start":1,"highlight_end":64},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Quantity base units. See [`Units`](./trait.Units.html).","highlight_start":1,"highlight_end":72},{"text":"            pub units: $crate::lib::marker::PhantomData<U>,","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Quantity value stored in the base units for the quantity.","highlight_start":1,"highlight_end":74},{"text":"            pub value: V,","highlight_start":1,"highlight_end":26},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        // Type alias for dimensions where all exponents of the factors are the given value.","highlight_start":1,"highlight_end":93},{"text":"        type DN<N> = Dimension<$($symbol = system!(@replace $symbol N),)+ Kind = $crate::Kind>;","highlight_start":1,"highlight_end":96},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        /// Type alias for [dimension one][one] for which all the exponents of the factors","highlight_start":1,"highlight_end":91},{"text":"        /// corresponding to the [base quantities][base] are zero.","highlight_start":1,"highlight_end":67},{"text":"        ///","highlight_start":1,"highlight_end":12},{"text":"        /// [one]: http://jcgm.bipm.org/vim/en/1.8.html","highlight_start":1,"highlight_end":56},{"text":"        /// [base]: http://jcgm.bipm.org/vim/en/1.4.html","highlight_start":1,"highlight_end":57},{"text":"        #[allow(dead_code)]","highlight_start":1,"highlight_end":28},{"text":"        pub type DimensionOne = DN<$crate::typenum::Z0>;","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        $(#[$quantities_attr])*","highlight_start":1,"highlight_end":32},{"text":"        pub type $quantities<$($symbol,)+ K = $crate::Kind> =","highlight_start":1,"highlight_end":62},{"text":"            Dimension<$($symbol = $symbol,)+ Kind = K>;","highlight_start":1,"highlight_end":56},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        $(#[$units_attr])*","highlight_start":1,"highlight_end":27},{"text":"        #[allow(unused_qualifications)]","highlight_start":1,"highlight_end":40},{"text":"        pub type $units<V> = Units<V, $($name = $name::$unit),+>;","highlight_start":1,"highlight_end":66},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        /// Convert a value from base units to the given unit.","highlight_start":1,"highlight_end":63},{"text":"        #[inline(always)]","highlight_start":1,"highlight_end":26},{"text":"        fn from_base<D, U, V, N>(v: &V) -> V","highlight_start":1,"highlight_end":45},{"text":"        where","highlight_start":1,"highlight_end":14},{"text":"            D: Dimension + ?Sized,","highlight_start":1,"highlight_end":35},{"text":"            U: Units<V> + ?Sized,","highlight_start":1,"highlight_end":34},{"text":"            V: $crate::Conversion<V> + $crate::lib::ops::Mul<V, Output = V>,","highlight_start":1,"highlight_end":77},{"text":"            N: $crate::Conversion<V, T = V::T>,","highlight_start":1,"highlight_end":48},{"text":"        {","highlight_start":1,"highlight_end":10},{"text":"            use $crate::typenum::Integer;","highlight_start":1,"highlight_end":42},{"text":"            use $crate::Conversion;","highlight_start":1,"highlight_end":36},{"text":"            use $crate::ConversionFactor;","highlight_start":1,"highlight_end":42},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            (v.into_conversion() $(* U::$name::coefficient().powi(D::$symbol::to_i32()))+","highlight_start":1,"highlight_end":90},{"text":"                    / N::coefficient() - N::constant())","highlight_start":1,"highlight_end":56},{"text":"                .value()","highlight_start":1,"highlight_end":25},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        /// Convert a value from the given unit to base units.","highlight_start":1,"highlight_end":63},{"text":"        #[inline(always)]","highlight_start":1,"highlight_end":26},{"text":"        fn to_base<D, U, V, N>(v: &V) -> V","highlight_start":1,"highlight_end":43},{"text":"        where","highlight_start":1,"highlight_end":14},{"text":"            D: Dimension + ?Sized,","highlight_start":1,"highlight_end":35},{"text":"            U: Units<V> + ?Sized,","highlight_start":1,"highlight_end":34},{"text":"            V: $crate::Conversion<V> + $crate::lib::ops::Mul<V, Output = V>,","highlight_start":1,"highlight_end":77},{"text":"            N: $crate::Conversion<V, T = V::T>,","highlight_start":1,"highlight_end":48},{"text":"        {","highlight_start":1,"highlight_end":10},{"text":"            use $crate::typenum::Integer;","highlight_start":1,"highlight_end":42},{"text":"            use $crate::Conversion;","highlight_start":1,"highlight_end":36},{"text":"            use $crate::ConversionFactor;","highlight_start":1,"highlight_end":42},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            ((v.into_conversion() + N::constant()) * N::coefficient()","highlight_start":1,"highlight_end":70},{"text":"                    / (V::coefficient() $(* U::$name::coefficient().powi(D::$symbol::to_i32()))+))","highlight_start":1,"highlight_end":99},{"text":"                .value()","highlight_start":1,"highlight_end":25},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        /// Convert a value from one set of base units to a second.","highlight_start":1,"highlight_end":68},{"text":"        autoconvert_test! {","highlight_start":1,"highlight_end":28},{"text":"        #[allow(dead_code)]","highlight_start":1,"highlight_end":28},{"text":"        #[inline(always)]","highlight_start":1,"highlight_end":26},{"text":"        fn change_base<D, Ul, Ur, V>(v: &V) -> V","highlight_start":1,"highlight_end":49},{"text":"        where","highlight_start":1,"highlight_end":14},{"text":"            D: Dimension + ?Sized,","highlight_start":1,"highlight_end":35},{"text":"            Ul: Units<V> + ?Sized,","highlight_start":1,"highlight_end":35},{"text":"            Ur: Units<V> + ?Sized,","highlight_start":1,"highlight_end":35},{"text":"            V: $crate::Conversion<V> + $crate::lib::ops::Mul<V, Output = V>,","highlight_start":1,"highlight_end":77},{"text":"        {","highlight_start":1,"highlight_end":10},{"text":"            use $crate::typenum::Integer;","highlight_start":1,"highlight_end":42},{"text":"            use $crate::Conversion;","highlight_start":1,"highlight_end":36},{"text":"            use $crate::ConversionFactor;","highlight_start":1,"highlight_end":42},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            (v.into_conversion() $(* Ur::$name::coefficient().powi(D::$symbol::to_i32())","highlight_start":1,"highlight_end":89},{"text":"                    / Ul::$name::coefficient().powi(D::$symbol::to_i32()))+)","highlight_start":1,"highlight_end":77},{"text":"                .value()","highlight_start":1,"highlight_end":25},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        #[doc(hidden)]","highlight_start":1,"highlight_end":23},{"text":"        macro_rules! impl_ops {","highlight_start":1,"highlight_end":32},{"text":"            (","highlight_start":1,"highlight_end":14},{"text":"                $AddSubTrait:ident, $addsub_fun:ident, $addsub_op:tt,","highlight_start":1,"highlight_end":70},{"text":"                $AddSubAssignTrait:ident, $addsubassign_fun:ident, $addsubassign_op:tt,","highlight_start":1,"highlight_end":88},{"text":"                $AddSubAlias:ident,","highlight_start":1,"highlight_end":36},{"text":"                $MulDivTrait:ident, $muldiv_fun:ident, $muldiv_op:tt,","highlight_start":1,"highlight_end":70},{"text":"                $MulDivAssignTrait:ident, $muldivassign_fun:ident, $muldivassign_op:tt,","highlight_start":1,"highlight_end":88},{"text":"                $Mod:ident","highlight_start":1,"highlight_end":27},{"text":"            ) => {","highlight_start":1,"highlight_end":19},{"text":"                autoconvert! {","highlight_start":1,"highlight_end":31},{"text":"                impl<D, Ul, Ur, V> $crate::lib::ops::$AddSubTrait<Quantity<D, Ur, V>>","highlight_start":1,"highlight_end":86},{"text":"                    for Quantity<D, Ul, V>","highlight_start":1,"highlight_end":43},{"text":"                where","highlight_start":1,"highlight_end":22},{"text":"                    D: Dimension + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    D::Kind: $crate::marker::$AddSubTrait,","highlight_start":1,"highlight_end":59},{"text":"                    Ul: Units<V> + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    Ur: Units<V> + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    V: $crate::num::Num + $crate::Conversion<V>,","highlight_start":1,"highlight_end":65},{"text":"                {","highlight_start":1,"highlight_end":18},{"text":"                    type Output = Quantity<D, Ul, V>;","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                    #[inline(always)]","highlight_start":1,"highlight_end":38},{"text":"                    fn $addsub_fun(self, rhs: Quantity<D, Ur, V>) -> Self::Output {","highlight_start":1,"highlight_end":84},{"text":"                        Quantity {","highlight_start":1,"highlight_end":35},{"text":"                            dimension: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":73},{"text":"                            units: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":69},{"text":"                            value: self.value $addsub_op change_base::<D, Ul, Ur, V>(&rhs.value),","highlight_start":1,"highlight_end":98},{"text":"                        }","highlight_start":1,"highlight_end":26},{"text":"                    }","highlight_start":1,"highlight_end":22},{"text":"                }}","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                not_autoconvert! {","highlight_start":1,"highlight_end":35},{"text":"                impl<D, U, V> $crate::lib::ops::$AddSubTrait for Quantity<D, U, V>","highlight_start":1,"highlight_end":83},{"text":"                where","highlight_start":1,"highlight_end":22},{"text":"                    D: Dimension + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    D::Kind: $crate::marker::$AddSubTrait,","highlight_start":1,"highlight_end":59},{"text":"                    U: Units<V> + ?Sized,","highlight_start":1,"highlight_end":42},{"text":"                    V: $crate::num::Num + $crate::Conversion<V>,","highlight_start":1,"highlight_end":65},{"text":"                {","highlight_start":1,"highlight_end":18},{"text":"                    type Output = Self;","highlight_start":1,"highlight_end":40},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                    #[inline(always)]","highlight_start":1,"highlight_end":38},{"text":"                    fn $addsub_fun(self, rhs: Self) -> Self::Output {","highlight_start":1,"highlight_end":70},{"text":"                        Quantity {","highlight_start":1,"highlight_end":35},{"text":"                            dimension: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":73},{"text":"                            units: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":69},{"text":"                            value: self.value $addsub_op rhs.value,","highlight_start":1,"highlight_end":68},{"text":"                        }","highlight_start":1,"highlight_end":26},{"text":"                    }","highlight_start":1,"highlight_end":22},{"text":"                }}","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                autoconvert! {","highlight_start":1,"highlight_end":31},{"text":"                impl<D, Ul, Ur, V> $crate::lib::ops::$AddSubAssignTrait<Quantity<D, Ur, V>>","highlight_start":1,"highlight_end":92},{"text":"                    for Quantity<D, Ul, V>","highlight_start":1,"highlight_end":43},{"text":"                where","highlight_start":1,"highlight_end":22},{"text":"                    D: Dimension + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    D::Kind: $crate::marker::$AddSubAssignTrait,","highlight_start":1,"highlight_end":65},{"text":"                    Ul: Units<V> + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    Ur: Units<V> + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    V: $crate::num::Num + $crate::Conversion<V>","highlight_start":1,"highlight_end":64},{"text":"                        + $crate::lib::ops::$AddSubAssignTrait<V>,","highlight_start":1,"highlight_end":67},{"text":"                {","highlight_start":1,"highlight_end":18},{"text":"                    #[inline(always)]","highlight_start":1,"highlight_end":38},{"text":"                    fn $addsubassign_fun(&mut self, rhs: Quantity<D, Ur, V>) {","highlight_start":1,"highlight_end":79},{"text":"                        self.value $addsubassign_op change_base::<D, Ul, Ur, V>(&rhs.value);","highlight_start":1,"highlight_end":93},{"text":"                    }","highlight_start":1,"highlight_end":22},{"text":"                }}","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                not_autoconvert! {","highlight_start":1,"highlight_end":35},{"text":"                impl<D, U, V> $crate::lib::ops::$AddSubAssignTrait for Quantity<D, U, V>","highlight_start":1,"highlight_end":89},{"text":"                where","highlight_start":1,"highlight_end":22},{"text":"                    D: Dimension + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    D::Kind: $crate::marker::$AddSubAssignTrait,","highlight_start":1,"highlight_end":65},{"text":"                    U: Units<V> + ?Sized,","highlight_start":1,"highlight_end":42},{"text":"                    V: $crate::num::Num + $crate::Conversion<V>","highlight_start":1,"highlight_end":64},{"text":"                        + $crate::lib::ops::$AddSubAssignTrait<V>,","highlight_start":1,"highlight_end":67},{"text":"                {","highlight_start":1,"highlight_end":18},{"text":"                    #[inline(always)]","highlight_start":1,"highlight_end":38},{"text":"                    fn $addsubassign_fun(&mut self, rhs: Self) {","highlight_start":1,"highlight_end":65},{"text":"                        self.value $addsubassign_op rhs.value;","highlight_start":1,"highlight_end":63},{"text":"                    }","highlight_start":1,"highlight_end":22},{"text":"                }}","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                autoconvert! {","highlight_start":1,"highlight_end":31},{"text":"                impl<Dl, Dr, Ul, Ur, V> $crate::lib::ops::$MulDivTrait<Quantity<Dr, Ur, V>>","highlight_start":1,"highlight_end":92},{"text":"                    for Quantity<Dl, Ul, V>","highlight_start":1,"highlight_end":44},{"text":"                where","highlight_start":1,"highlight_end":22},{"text":"                    Dl: Dimension + ?Sized,","highlight_start":1,"highlight_end":44},{"text":"                    $(Dl::$symbol: $crate::lib::ops::$AddSubTrait<Dr::$symbol>,)+","highlight_start":1,"highlight_end":82},{"text":"                    Dl::Kind: $crate::marker::$MulDivTrait,","highlight_start":1,"highlight_end":60},{"text":"                    Dr: Dimension + ?Sized,","highlight_start":1,"highlight_end":44},{"text":"                    Dr::Kind: $crate::marker::$MulDivTrait,","highlight_start":1,"highlight_end":60},{"text":"                    Ul: Units<V> + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    Ur: Units<V> + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    V: $crate::num::Num + $crate::Conversion<V> + $crate::lib::ops::$MulDivTrait<V>,","highlight_start":1,"highlight_end":101},{"text":"                {","highlight_start":1,"highlight_end":18},{"text":"                    type Output = Quantity<","highlight_start":1,"highlight_end":44},{"text":"                        $quantities<$($crate::typenum::$AddSubAlias<Dl::$symbol, Dr::$symbol>,)+>,","highlight_start":1,"highlight_end":99},{"text":"                        Ul, V>;","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                    #[inline(always)]","highlight_start":1,"highlight_end":38},{"text":"                    fn $muldiv_fun(self, rhs: Quantity<Dr, Ur, V>) -> Self::Output {","highlight_start":1,"highlight_end":85},{"text":"                        Quantity {","highlight_start":1,"highlight_end":35},{"text":"                            dimension: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":73},{"text":"                            units: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":69},{"text":"                            value: self.value $muldiv_op change_base::<Dr, Ul, Ur, V>(&rhs.value),","highlight_start":1,"highlight_end":99},{"text":"                        }","highlight_start":1,"highlight_end":26},{"text":"                    }","highlight_start":1,"highlight_end":22},{"text":"                }}","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                not_autoconvert! {","highlight_start":1,"highlight_end":35},{"text":"                impl<Dl, Dr, U, V> $crate::lib::ops::$MulDivTrait<Quantity<Dr, U, V>>","highlight_start":1,"highlight_end":86},{"text":"                    for Quantity<Dl, U, V>","highlight_start":1,"highlight_end":43},{"text":"                where","highlight_start":1,"highlight_end":22},{"text":"                    Dl: Dimension + ?Sized,","highlight_start":1,"highlight_end":44},{"text":"                    $(Dl::$symbol: $crate::lib::ops::$AddSubTrait<Dr::$symbol>,)+","highlight_start":1,"highlight_end":82},{"text":"                    Dl::Kind: $crate::marker::$MulDivTrait,","highlight_start":1,"highlight_end":60},{"text":"                    Dr: Dimension + ?Sized,","highlight_start":1,"highlight_end":44},{"text":"                    Dr::Kind: $crate::marker::$MulDivTrait,","highlight_start":1,"highlight_end":60},{"text":"                    U: Units<V> + ?Sized,","highlight_start":1,"highlight_end":42},{"text":"                    V: $crate::num::Num + $crate::Conversion<V> + $crate::lib::ops::$MulDivTrait<V>,","highlight_start":1,"highlight_end":101},{"text":"                {","highlight_start":1,"highlight_end":18},{"text":"                    type Output = Quantity<","highlight_start":1,"highlight_end":44},{"text":"                        $quantities<$($crate::typenum::$AddSubAlias<Dl::$symbol, Dr::$symbol>,)+>,","highlight_start":1,"highlight_end":99},{"text":"                        U, V>;","highlight_start":1,"highlight_end":31},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                    #[inline(always)]","highlight_start":1,"highlight_end":38},{"text":"                    fn $muldiv_fun(self, rhs: Quantity<Dr, U, V>) -> Self::Output {","highlight_start":1,"highlight_end":84},{"text":"                        Quantity {","highlight_start":1,"highlight_end":35},{"text":"                            dimension: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":73},{"text":"                            units: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":69},{"text":"                            value: self.value $muldiv_op rhs.value,","highlight_start":1,"highlight_end":68},{"text":"                        }","highlight_start":1,"highlight_end":26},{"text":"                    }","highlight_start":1,"highlight_end":22},{"text":"                }}","highlight_start":1,"highlight_end":19},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                impl<D, U, V> $crate::lib::ops::$MulDivTrait<V> for Quantity<D, U, V>","highlight_start":1,"highlight_end":86},{"text":"                where","highlight_start":1,"highlight_end":22},{"text":"                    D: Dimension + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    D::Kind: $crate::marker::$MulDivTrait,","highlight_start":1,"highlight_end":59},{"text":"                    U: Units<V> + ?Sized,","highlight_start":1,"highlight_end":42},{"text":"                    V: $crate::num::Num + $crate::Conversion<V>,","highlight_start":1,"highlight_end":65},{"text":"                {","highlight_start":1,"highlight_end":18},{"text":"                    type Output = Quantity<D, U, V>;","highlight_start":1,"highlight_end":53},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                    #[inline(always)]","highlight_start":1,"highlight_end":38},{"text":"                    fn $muldiv_fun(self, rhs: V) -> Self::Output {","highlight_start":1,"highlight_end":67},{"text":"                        Quantity {","highlight_start":1,"highlight_end":35},{"text":"                            dimension: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":73},{"text":"                            units: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":69},{"text":"                            value: self.value $muldiv_op rhs,","highlight_start":1,"highlight_end":62},{"text":"                        }","highlight_start":1,"highlight_end":26},{"text":"                    }","highlight_start":1,"highlight_end":22},{"text":"                }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                impl<D, U, V> $crate::lib::ops::$MulDivAssignTrait<V> for Quantity<D, U, V>","highlight_start":1,"highlight_end":92},{"text":"                where","highlight_start":1,"highlight_end":22},{"text":"                    D: Dimension + ?Sized,","highlight_start":1,"highlight_end":43},{"text":"                    D::Kind: $crate::marker::$MulDivAssignTrait,","highlight_start":1,"highlight_end":65},{"text":"                    U: Units<V> + ?Sized,","highlight_start":1,"highlight_end":42},{"text":"                    V: $crate::num::Num + $crate::Conversion<V>","highlight_start":1,"highlight_end":64},{"text":"                        + $crate::lib::ops::$MulDivAssignTrait<V>,","highlight_start":1,"highlight_end":67},{"text":"                {","highlight_start":1,"highlight_end":18},{"text":"                    #[inline(always)]","highlight_start":1,"highlight_end":38},{"text":"                    fn $muldivassign_fun(&mut self, rhs: V) {","highlight_start":1,"highlight_end":62},{"text":"                        self.value $muldivassign_op rhs;","highlight_start":1,"highlight_end":57},{"text":"                    }","highlight_start":1,"highlight_end":22},{"text":"                }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                #[doc(hidden)]","highlight_start":1,"highlight_end":31},{"text":"                mod $Mod {","highlight_start":1,"highlight_end":27},{"text":"                    storage_types! {","highlight_start":1,"highlight_end":37},{"text":"                        use super::super::*;","highlight_start":1,"highlight_end":45},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                        impl<D, U> $crate::lib::ops::$MulDivTrait<Quantity<D, U, V>> for V","highlight_start":1,"highlight_end":91},{"text":"                        where","highlight_start":1,"highlight_end":30},{"text":"                            D: Dimension + ?Sized,","highlight_start":1,"highlight_end":51},{"text":"                            D::Kind: $crate::marker::$MulDivTrait,","highlight_start":1,"highlight_end":67},{"text":"                            U: Units<V> + ?Sized,","highlight_start":1,"highlight_end":50},{"text":"                            $($crate::typenum::Z0: $crate::lib::ops::$AddSubTrait<D::$symbol>,)+","highlight_start":1,"highlight_end":97},{"text":"                        {","highlight_start":1,"highlight_end":26},{"text":"                            type Output = Quantity<","highlight_start":1,"highlight_end":52},{"text":"                                $quantities<","highlight_start":1,"highlight_end":45},{"text":"                                    $($crate::typenum::$AddSubAlias<","highlight_start":1,"highlight_end":69},{"text":"                                      $crate::typenum::Z0,","highlight_start":1,"highlight_end":59},{"text":"                                      D::$symbol>,)+>,","highlight_start":1,"highlight_end":55},{"text":"                                U, V>;","highlight_start":1,"highlight_end":39},{"text":"","highlight_start":1,"highlight_end":1},{"text":"                            #[inline(always)]","highlight_start":1,"highlight_end":46},{"text":"                            fn $muldiv_fun(self, rhs: Quantity<D, U, V>) -> Self::Output {","highlight_start":1,"highlight_end":91},{"text":"                                Quantity {","highlight_start":1,"highlight_end":43},{"text":"                                    dimension: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":81},{"text":"                                    units: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":77},{"text":"                                    value: self $muldiv_op rhs.value,","highlight_start":1,"highlight_end":70},{"text":"                                }","highlight_start":1,"highlight_end":34},{"text":"                            }","highlight_start":1,"highlight_end":30},{"text":"                        }","highlight_start":1,"highlight_end":26},{"text":"                    }","highlight_start":1,"highlight_end":22},{"text":"                }","highlight_start":1,"highlight_end":18},{"text":"            };","highlight_start":1,"highlight_end":15},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        impl_ops!(Add, add, +, AddAssign, add_assign, +=, Sum,","highlight_start":1,"highlight_end":63},{"text":"            Mul, mul, *, MulAssign, mul_assign, *=, add_mul);","highlight_start":1,"highlight_end":62},{"text":"        impl_ops!(Sub, sub, -, SubAssign, sub_assign, -=, Diff,","highlight_start":1,"highlight_end":64},{"text":"            Div, div, /, DivAssign, div_assign, /=, sub_div);","highlight_start":1,"highlight_end":62},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        impl<D, U, V> Quantity<D, U, V>","highlight_start":1,"highlight_end":40},{"text":"        where","highlight_start":1,"highlight_end":14},{"text":"            D: Dimension + ?Sized,","highlight_start":1,"highlight_end":35},{"text":"            U: Units<V> + ?Sized,","highlight_start":1,"highlight_end":34},{"text":"            V: $crate::num::Num + $crate::Conversion<V>,","highlight_start":1,"highlight_end":57},{"text":"        {","highlight_start":1,"highlight_end":10},{"text":"            /// Returns `true` if this value is `NAN` and `false` otherwise.","highlight_start":1,"highlight_end":77},{"text":"            #[cfg_attr(feature = \"cargo-clippy\", allow(wrong_self_convention))]","highlight_start":1,"highlight_end":80},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn is_nan(self) -> bool","highlight_start":1,"highlight_end":40},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                V: $crate::num::Float,","highlight_start":1,"highlight_end":39},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                self.value.is_nan()","highlight_start":1,"highlight_end":36},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Returns `true` if this value is positive infinity or negative infinity and","highlight_start":1,"highlight_end":91},{"text":"            /// `false` otherwise.","highlight_start":1,"highlight_end":35},{"text":"            #[cfg_attr(feature = \"cargo-clippy\", allow(wrong_self_convention))]","highlight_start":1,"highlight_end":80},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn is_infinite(self) -> bool","highlight_start":1,"highlight_end":45},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                V: $crate::num::Float,","highlight_start":1,"highlight_end":39},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                self.value.is_infinite()","highlight_start":1,"highlight_end":41},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Returns `true` if this number is neither infinite nor `NAN`.","highlight_start":1,"highlight_end":77},{"text":"            #[cfg_attr(feature = \"cargo-clippy\", allow(wrong_self_convention))]","highlight_start":1,"highlight_end":80},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn is_finite(self) -> bool","highlight_start":1,"highlight_end":43},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                V: $crate::num::Float,","highlight_start":1,"highlight_end":39},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                self.value.is_finite()","highlight_start":1,"highlight_end":39},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Returns `true` if the number is neither zero, infinite, subnormal, or `NAN`.","highlight_start":1,"highlight_end":93},{"text":"            #[cfg_attr(feature = \"cargo-clippy\", allow(wrong_self_convention))]","highlight_start":1,"highlight_end":80},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn is_normal(self) -> bool","highlight_start":1,"highlight_end":43},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                V: $crate::num::Float,","highlight_start":1,"highlight_end":39},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                self.value.is_normal()","highlight_start":1,"highlight_end":39},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Returns the floating point category of the number. If only one property is","highlight_start":1,"highlight_end":91},{"text":"            /// going to be tested, it is generally faster to use the specific predicate","highlight_start":1,"highlight_end":89},{"text":"            /// instead.","highlight_start":1,"highlight_end":25},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn classify(self) -> $crate::lib::num::FpCategory","highlight_start":1,"highlight_end":66},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                V: $crate::num::Float,","highlight_start":1,"highlight_end":39},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                self.value.classify()","highlight_start":1,"highlight_end":38},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            std! {","highlight_start":1,"highlight_end":19},{"text":"            /// Takes the cubic root of a number.","highlight_start":1,"highlight_end":50},{"text":"            ///","highlight_start":1,"highlight_end":16},{"text":"            #[cfg_attr(all(feature = \"si\", feature = \"f32\"), doc = \" ```rust\")]","highlight_start":1,"highlight_end":80},{"text":"            #[cfg_attr(not(all(feature = \"si\", feature = \"f32\")), doc = \" ```rust,ignore\")]","highlight_start":1,"highlight_end":92},{"text":"            /// # use uom::si::f32::*;","highlight_start":1,"highlight_end":39},{"text":"            /// # use uom::si::volume::cubic_meter;","highlight_start":1,"highlight_end":52},{"text":"            /// let l: Length = Volume::new::<cubic_meter>(8.0).cbrt();","highlight_start":1,"highlight_end":72},{"text":"            /// ```","highlight_start":1,"highlight_end":20},{"text":"            ///","highlight_start":1,"highlight_end":16},{"text":"            /// The input type must have dimensions divisible by three:","highlight_start":1,"highlight_end":72},{"text":"            ///","highlight_start":1,"highlight_end":16},{"text":"            #[cfg_attr(all(feature = \"si\", feature = \"f32\", not(feature = \"1_20_0\")), doc = \" ```rust,compile_fail\")]","highlight_start":1,"highlight_end":118},{"text":"            #[cfg_attr(not(all(feature = \"si\", feature = \"f32\", not(feature = \"1_20_0\"))), doc = \" ```rust,ignore\")]","highlight_start":1,"highlight_end":117},{"text":"            /// # use uom::si::f32::*;","highlight_start":1,"highlight_end":39},{"text":"            /// # use uom::si::area::square_meter;","highlight_start":1,"highlight_end":51},{"text":"            /// // error[E0271]: type mismatch resolving ...","highlight_start":1,"highlight_end":61},{"text":"            /// let r = Area::new::<square_meter>(8.0).cbrt();","highlight_start":1,"highlight_end":63},{"text":"            /// ```","highlight_start":1,"highlight_end":20},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn cbrt(","highlight_start":1,"highlight_end":25},{"text":"                self","highlight_start":1,"highlight_end":21},{"text":"            ) -> Quantity<","highlight_start":1,"highlight_end":27},{"text":"                $quantities<$($crate::typenum::PartialQuot<D::$symbol, $crate::typenum::P3>),+>,","highlight_start":1,"highlight_end":97},{"text":"                U, V>","highlight_start":1,"highlight_end":22},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                $(D::$symbol: $crate::lib::ops::PartialDiv<$crate::typenum::P3>,)+","highlight_start":1,"highlight_end":83},{"text":"                D::Kind: $crate::marker::Div,","highlight_start":1,"highlight_end":46},{"text":"                V: $crate::num::Float,","highlight_start":1,"highlight_end":39},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                Quantity {","highlight_start":1,"highlight_end":27},{"text":"                    dimension: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":65},{"text":"                    units: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":61},{"text":"                    value: self.value.cbrt(),","highlight_start":1,"highlight_end":46},{"text":"                }","highlight_start":1,"highlight_end":18},{"text":"            }}","highlight_start":1,"highlight_end":15},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Computes the absolute value of `self`. Returns `NAN` if the quantity is","highlight_start":1,"highlight_end":88},{"text":"            /// `NAN`.","highlight_start":1,"highlight_end":23},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn abs(self) -> Self","highlight_start":1,"highlight_end":37},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                V: $crate::num::Signed,","highlight_start":1,"highlight_end":40},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                Quantity {","highlight_start":1,"highlight_end":27},{"text":"                    dimension: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":65},{"text":"                    units: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":61},{"text":"                    value: self.value.abs(),","highlight_start":1,"highlight_end":45},{"text":"                }","highlight_start":1,"highlight_end":18},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Returns a quantity that represents the sign of `self`.","highlight_start":1,"highlight_end":71},{"text":"            ///","highlight_start":1,"highlight_end":16},{"text":"            /// * `1.0` of the base unit if the number is positive, `+0.0`, or `INFINITY`.","highlight_start":1,"highlight_end":91},{"text":"            /// * `-1.0` of the base unit if the number is negative, `-0.0`, or","highlight_start":1,"highlight_end":80},{"text":"            ///   `NEG_INFINITY`.","highlight_start":1,"highlight_end":34},{"text":"            /// * `NAN` if the number is `NAN`.","highlight_start":1,"highlight_end":48},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn signum(self) -> Self","highlight_start":1,"highlight_end":40},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                V: $crate::num::Signed,","highlight_start":1,"highlight_end":40},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                Quantity {","highlight_start":1,"highlight_end":27},{"text":"                    dimension: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":65},{"text":"                    units: $crate::lib::marker::PhantomData,","highlight_start":1,"highlight_end":61},{"text":"                    value: self.value.signum(),","highlight_start":1,"highlight_end":48},{"text":"                }","highlight_start":1,"highlight_end":18},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Returns `true` if `self`'s sign bit is positive, including `+0.0` and","highlight_start":1,"highlight_end":86},{"text":"            /// `INFINITY`.","highlight_start":1,"highlight_end":28},{"text":"            #[cfg_attr(feature = \"cargo-clippy\", allow(wrong_self_convention))]","highlight_start":1,"highlight_end":80},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn is_sign_positive(self) -> bool","highlight_start":1,"highlight_end":50},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                V: $crate::num::Float,","highlight_start":1,"highlight_end":39},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                self.value.is_sign_positive()","highlight_start":1,"highlight_end":46},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            /// Returns `true` if `self`'s sign is negative, including `-0.0` and","highlight_start":1,"highlight_end":82},{"text":"            /// `NEG_INFINITY`.","highlight_start":1,"highlight_end":32},{"text":"            #[cfg_attr(feature = \"cargo-clippy\", allow(wrong_self_convention))]","highlight_start":1,"highlight_end":80},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn is_sign_negative(self) -> bool","highlight_start":1,"highlight_end":50},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                V: $crate::num::Float,","highlight_start":1,"highlight_end":39},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                self.value.is_sign_negative()","highlight_start":1,"highlight_end":46},{"text":"            }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":"            std! {","highlight_start":1,"highlight_end":19},{"text":"            /// Fused multiply-add. Computes `(self * a) + b` with only one rounding error.","highlight_start":1,"highlight_end":92},{"text":"            /// This produces a more accurate result with better performance than a separate","highlight_start":1,"highlight_end":93},{"text":"            /// multiplication operation followed by an add.","highlight_start":1,"highlight_end":61},{"text":"            #[inline(always)]","highlight_start":1,"highlight_end":30},{"text":"            pub fn mul_add<Da, Ua, Ub>(","highlight_start":1,"highlight_end":40},{"text":"                self,","highlight_start":1,"highlight_end":22},{"text":"                a: Quantity<Da, Ua, V>,","highlight_start":1,"highlight_end":40},{"text":"                b: Quantity<$quantities<$($crate::typenum::Sum<D::$symbol, Da::$symbol>),+>, Ub, V>,","highlight_start":1,"highlight_end":101},{"text":"            ) -> Quantity<$quantities<$($crate::typenum::Sum<D::$symbol, Da::$symbol>),+>, U, V>","highlight_start":1,"highlight_end":97},{"text":"            where","highlight_start":1,"highlight_end":18},{"text":"                $(D::$symbol: $crate::lib::ops::Add<Da::$symbol>,)+","highlight_start":1,"highlight_end":68},{"text":"                D::Kind: $crate::marker::Mul,","highlight_start":1,"highlight_end":46},{"text":"                V: $crate::num::Float,","highlight_start":1,"highlight_end":39},{"text":"                Da: Dimension + ?Sized,","highlight_start":1,"highlight_end":40},{"text":"                Da::Kind: $crate::marker::Mul,","highlight_start":1,"highlight_end":47},{"text":"                Ua: Units<V> + ?Sized,","highlight_start":1,"highlight_end":39},{"text":"                Ub: Units<V> + ?Sized,","highlight_start":1,"highlight_end":39},{"text":"            {","highlight_start":1,"highlight_end":14},{"text":"                // (self * a) + b","highlight_start":1,"highlight_end":34},{"text":"                Quantity {","highlight_start":1,"highlight_end":27},{"text":"
[INFO] [stdout] error[E0277]: the trait bound `<<D as si::Dimension>::L as std::ops::Mul<E>>::Output: Integer` is not satisfied
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/system.rs:740:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |           pub struct Quantity<D, U, V>
[INFO] [stdout]     |                      -------- required by a bound in this
[INFO] [stdout] 231 |           where
[INFO] [stdout] 232 |               D: Dimension + ?Sized,
[INFO] [stdout]     |                  --------- required by this bound in `si::Quantity`
[INFO] [stdout] ...
[INFO] [stdout] 740 |               ) -> Quantity<$quantities<$($crate::typenum::Prod<D::$symbol, E>),+>, U, V>
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Integer` is not implemented for `<<D as si::Dimension>::L as std::ops::Mul<E>>::Output`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/si/mod.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout] 10  | / system! {
[INFO] [stdout] 11  | |     /// [International System of Quantities](http://jcgm.bipm.org/vim/en/1.6.html) (ISQ).
[INFO] [stdout] 12  | |     quantities: ISQ {
[INFO] [stdout] 13  | |         length: meter, L;
[INFO] [stdout] ...   |
[INFO] [stdout] 55  | |     }
[INFO] [stdout] 56  | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `system` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `uom`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `rustc --crate-name uom /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.20.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="autoconvert"' --cfg 'feature="default"' --cfg 'feature="f32"' --cfg 'feature="f64"' --cfg 'feature="si"' --cfg 'feature="std"' -C metadata=8de48886a6d5ba78 -C extra-filename=-8de48886a6d5ba78 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern num_traits=/opt/rustwide/target/debug/deps/libnum_traits-41b0918ec22bd961.rmeta --extern typenum=/opt/rustwide/target/debug/deps/libtypenum-259df64f364a781d.rmeta --cap-lints allow --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nalgebra-0.16.8/src/base/cg.rs:291:44
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 self[(j, i)] += shift[j] * self[(D::dim() - 1, i)];
[INFO] [stdout]     |                 ---------------------------^^^^-------------------
[INFO] [stdout]     |                 |                          |
[INFO] [stdout]     |                 |                          immutable borrow occurs here
[INFO] [stdout]     |                 mutable borrow occurs here
[INFO] [stdout]     |                 mutable borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0502`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "a7dc1af04f3d9cbd49346ad811197b5056497da1f1feb338e2861dcbf3dea890", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7dc1af04f3d9cbd49346ad811197b5056497da1f1feb338e2861dcbf3dea890", kill_on_drop: false }`
[INFO] [stdout] a7dc1af04f3d9cbd49346ad811197b5056497da1f1feb338e2861dcbf3dea890
