[INFO] cloning repository https://github.com/Tresdin-commander/blockchain [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Tresdin-commander/blockchain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTresdin-commander%2Fblockchain", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTresdin-commander%2Fblockchain'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7677cc68fa141227a023afb683fcd321f2907b1b [INFO] checking Tresdin-commander/blockchain against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTresdin-commander%2Fblockchain" "/workspace/builds/worker-5/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Tresdin-commander/blockchain on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Tresdin-commander/blockchain [INFO] removed workspace from git repo https://github.com/Tresdin-commander/blockchain [INFO] removed path dependency ckb-bin from git repo https://github.com/Tresdin-commander/blockchain [INFO] removed path dependency ckb-build-info from git repo https://github.com/Tresdin-commander/blockchain [INFO] removed path dependency ckb-build-info from git repo https://github.com/Tresdin-commander/blockchain [INFO] finished tweaking git repo https://github.com/Tresdin-commander/blockchain [INFO] tweaked toml for git repo https://github.com/Tresdin-commander/blockchain written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/Tresdin-commander/blockchain already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: dependency (ckb-bin) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] warning: dependency (ckb-build-info) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] warning: dependency (ckb-build-info) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] error: the lock file /workspace/builds/worker-5/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: dependency (ckb-bin) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] warning: dependency (ckb-build-info) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] warning: dependency (ckb-build-info) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4e635bdfdf0aa25814d5ae6384be5f16746db5532155b949a226ed6ad882e592 [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" "4e635bdfdf0aa25814d5ae6384be5f16746db5532155b949a226ed6ad882e592", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4e635bdfdf0aa25814d5ae6384be5f16746db5532155b949a226ed6ad882e592", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e635bdfdf0aa25814d5ae6384be5f16746db5532155b949a226ed6ad882e592", kill_on_drop: false }` [INFO] [stdout] 4e635bdfdf0aa25814d5ae6384be5f16746db5532155b949a226ed6ad882e592 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9851eb57cd7997e99ee81f16de445aa99391d0223ceed0e870ea7539194fe367 [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" "9851eb57cd7997e99ee81f16de445aa99391d0223ceed0e870ea7539194fe367", kill_on_drop: false }` [INFO] [stderr] warning: dependency (ckb-bin) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] warning: dependency (ckb-build-info) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] warning: dependency (ckb-build-info) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.57 [INFO] [stderr] Compiling serde_derive v1.0.118 [INFO] [stderr] Compiling serde v1.0.118 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling const_fn v0.4.4 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking once_cell v1.5.2 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling adler v0.2.3 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking futures-core v0.3.8 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling proc-macro-nested v0.1.6 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Checking futures-sink v0.3.8 [INFO] [stderr] Checking gimli v0.23.0 [INFO] [stderr] Compiling heapsize v0.4.2 [INFO] [stderr] Compiling object v0.22.0 [INFO] [stderr] Compiling rustc-demangle v0.1.18 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking futures-io v0.3.8 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Compiling faster-hex v0.4.1 [INFO] [stderr] Compiling serde_json v1.0.61 [INFO] [stderr] Checking regex-syntax v0.6.21 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Checking ahash v0.4.7 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling httparse v1.3.4 [INFO] [stderr] Checking pin-project-lite v0.1.11 [INFO] [stderr] Checking try-lock v0.2.3 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling faster-hex v0.3.1 [INFO] [stderr] Checking bit-vec v0.5.1 [INFO] [stderr] Compiling openssl v0.10.32 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking dtoa v0.4.7 [INFO] [stderr] Compiling native-tls v0.2.7 [INFO] [stderr] Checking httpdate v0.3.2 [INFO] [stderr] Checking openssl-probe v0.1.2 [INFO] [stderr] Compiling encoding_rs v0.8.26 [INFO] [stderr] Checking eaglesong v0.1.0 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Checking termcolor v1.1.2 [INFO] [stderr] Checking unsigned-varint v0.3.3 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking bs58 v0.3.1 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Compiling tentacle-secio v0.4.0 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking path-clean v0.1.0 [INFO] [stderr] Checking ckb-build-info v0.38.0 [INFO] [stderr] Compiling glob v0.2.11 [INFO] [stderr] Compiling nix v0.17.0 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking metrics-core v0.5.2 [INFO] [stderr] Compiling heim-common v0.0.10 [INFO] [stderr] Checking plain v0.2.3 [INFO] [stderr] Checking ckb-vm-definitions v0.19.3 [INFO] [stderr] Compiling metrics v0.12.1 [INFO] [stderr] Compiling ckb-script v0.38.0 [INFO] [stderr] Checking arc-swap v0.4.8 [INFO] [stderr] Checking number_prefix v0.3.0 [INFO] [stderr] Checking smallvec v1.6.0 [INFO] [stderr] Compiling pin-project-internal v0.4.27 [INFO] [stderr] Checking pin-project-lite v0.2.0 [INFO] [stderr] Compiling fs_extra v1.2.0 [INFO] [stderr] Compiling snap v1.0.3 [INFO] [stderr] Compiling heim-host v0.0.10 [INFO] [stderr] Checking hex v0.4.0 [INFO] [stderr] Checking macaddr v1.0.1 [INFO] [stderr] Checking platforms v0.2.1 [INFO] [stderr] Checking is_sorted v0.1.1 [INFO] [stderr] Checking lazycell v1.3.0 [INFO] [stderr] Checking hashbrown v0.5.0 [INFO] [stderr] Checking tower-service v0.3.0 [INFO] [stderr] Checking atomic-shim v0.1.0 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Checking nonzero_ext v0.1.5 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking merkle-cbt v0.3.0 [INFO] [stderr] Checking try_from v0.3.2 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Checking tracing-core v0.1.17 [INFO] [stderr] Checking tokio-service v0.1.0 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking futures-task v0.3.8 [INFO] [stderr] Checking futures-channel v0.3.8 [INFO] [stderr] Compiling crossbeam-utils v0.8.1 [INFO] [stderr] Compiling memoffset v0.6.1 [INFO] [stderr] Compiling rayon v1.5.0 [INFO] [stderr] Compiling miniz_oxide v0.4.3 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling indexmap v1.6.1 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking tinyvec v1.1.0 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling im v15.0.0 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Compiling walkdir v2.3.1 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking form_urlencoded v1.0.0 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking owning_ref v0.4.1 [INFO] [stderr] Checking yaml-rust v0.4.4 [INFO] [stderr] Checking ckb-rust-unstable-port v0.38.0 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling ckb v0.16.0-pre (/opt/rustwide/workdir) [INFO] [stderr] Checking addr2line v0.14.1 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Compiling phf v0.7.24 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Checking rand_pcg v0.1.2 [INFO] [stderr] Checking rand_chacha v0.1.1 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Checking lock_api v0.1.5 [INFO] [stderr] Checking xml-rs v0.7.0 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Checking bstr v0.2.14 [INFO] [stderr] Checking lru v0.6.3 [INFO] [stderr] Checking unicode-normalization v0.1.16 [INFO] [stderr] Checking ckb-channel v0.38.0 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling hyper v0.12.35 [INFO] [stderr] Compiling im v12.3.4 [INFO] [stderr] Compiling parking_lot_core v0.4.0 [INFO] [stderr] Compiling sentry v0.17.0 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Checking ckb-metrics v0.38.0 [INFO] [stderr] Checking evmap v6.0.1 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking hostname v0.1.5 [INFO] [stderr] Checking uname v0.1.1 [INFO] [stderr] Checking terminal_size v0.1.15 [INFO] [stderr] Checking mapr v0.8.0 [INFO] [stderr] Checking parking_lot_core v0.7.2 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking socket2 v0.3.19 [INFO] [stderr] Checking clicolors-control v1.0.1 [INFO] [stderr] Checking quanta v0.3.2 [INFO] [stderr] Checking termios v0.3.3 [INFO] [stderr] Checking crossbeam-epoch v0.9.1 [INFO] [stderr] Checking crossbeam-channel v0.5.0 [INFO] [stderr] Checking xmltree v0.8.0 [INFO] [stderr] Checking generic-array v0.12.3 [INFO] [stderr] Checking sized-chunks v0.1.3 [INFO] [stderr] Checking bitmaps v2.1.0 [INFO] [stderr] Checking backtrace v0.3.55 [INFO] [stderr] Checking flate2 v1.0.19 [INFO] [stderr] Checking regex v1.4.2 [INFO] [stderr] Compiling paste-impl v0.1.18 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking parking_lot v0.10.2 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking digest v0.8.1 [INFO] [stderr] Checking hdrhistogram v6.3.4 [INFO] [stderr] Checking ordered-float v1.0.2 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking includedir v0.5.0 [INFO] [stderr] Compiling enum-display-derive v0.1.0 [INFO] [stderr] Checking tokio-timer v0.2.13 [INFO] [stderr] Checking tokio-current-thread v0.1.7 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking http v0.1.21 [INFO] [stderr] Checking tokio-buf v0.1.1 [INFO] [stderr] Checking string v0.2.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand_xoshiro v0.4.0 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking rayon-core v1.9.0 [INFO] [stderr] Checking sha2 v0.8.2 [INFO] [stderr] Checking sha-1 v0.8.2 [INFO] [stderr] Checking url v2.2.0 [INFO] [stderr] Checking console v0.14.0 [INFO] [stderr] Checking console v0.13.0 [INFO] [stderr] Checking console v0.8.0 [INFO] [stderr] Checking paste v0.1.18 [INFO] [stderr] Checking bloom-filters v0.1.1 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking ratelimit_meter v5.0.0 [INFO] [stderr] Checking sized-chunks v0.6.2 [INFO] [stderr] Checking cookie v0.12.0 [INFO] [stderr] Checking indicatif v0.15.0 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Checking publicsuffix v1.5.4 [INFO] [stderr] Checking uom v0.27.0 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Checking ckb-util v0.38.0 [INFO] [stderr] Compiling includedir_codegen v0.5.0 [INFO] [stderr] Checking ctrlc v3.1.7 [INFO] [stderr] Checking http-body v0.1.0 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Checking faketime v0.2.1 [INFO] [stderr] Compiling synstructure v0.12.4 [INFO] [stderr] Compiling cc v1.0.41 [INFO] [stderr] Compiling blake2b-rs v0.1.5 [INFO] [stderr] Compiling openssl-sys v0.9.60 [INFO] [stderr] Compiling secp256k1-sys v0.1.2 [INFO] [stderr] Compiling ring v0.16.12 [INFO] [stderr] Compiling ckb-librocksdb-sys v6.7.4 [INFO] [stderr] Compiling ckb-vm v0.19.3 [INFO] [stderr] Compiling raw-cpuid v7.0.4 [INFO] [stderr] Compiling jemalloc-sys v0.3.2 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling thiserror-impl v1.0.23 [INFO] [stderr] Compiling pin-project-internal v1.0.2 [INFO] [stderr] Compiling futures-macro v0.3.8 [INFO] [stderr] Compiling numext-constructor v0.1.6 [INFO] [stderr] Compiling tokio-macros v0.2.6 [INFO] [stderr] Compiling scroll_derive v0.10.4 [INFO] [stderr] Compiling derive_more v0.99.11 [INFO] [stdout] error[E0277]: the trait bound `L: Integer` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/si/mod.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | for Quantity< [INFO] [stdout] | _____________________^ [INFO] [stdout] 186 | | dyn Dimension, [INFO] [stdout] 187 | | Ul, [INFO] [stdout] 188 | | V, [INFO] [stdout] 189 | | > [INFO] [stdout] | |_________________^ the trait `Integer` is not implemented for `L` [INFO] [stdout] ... [INFO] [stdout] 300 | impl_from!(AngleKind, Kind); [INFO] [stdout] | ---------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/system.rs:243:20 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Quantity [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] 244 | where [INFO] [stdout] 245 | D: Dimension + ?Sized, [INFO] [stdout] | --------- required by this bound in `si::Quantity` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `L` [INFO] [stdout] | [INFO] [stdout] 193 | V: ::num_traits::Num + ::Conversion, L: Integer [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `M: Integer` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/si/mod.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | for Quantity< [INFO] [stdout] | _____________________^ [INFO] [stdout] 186 | | dyn Dimension, [INFO] [stdout] 187 | | Ul, [INFO] [stdout] 188 | | V, [INFO] [stdout] 189 | | > [INFO] [stdout] | |_________________^ the trait `Integer` is not implemented for `M` [INFO] [stdout] ... [INFO] [stdout] 300 | impl_from!(AngleKind, Kind); [INFO] [stdout] | ---------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/system.rs:243:20 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Quantity [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] 244 | where [INFO] [stdout] 245 | D: Dimension + ?Sized, [INFO] [stdout] | --------- required by this bound in `si::Quantity` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `M` [INFO] [stdout] | [INFO] [stdout] 193 | V: ::num_traits::Num + ::Conversion, M: Integer [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `T: Integer` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/si/mod.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | for Quantity< [INFO] [stdout] | _____________________^ [INFO] [stdout] 186 | | dyn Dimension, [INFO] [stdout] 187 | | Ul, [INFO] [stdout] 188 | | V, [INFO] [stdout] 189 | | > [INFO] [stdout] | |_________________^ the trait `Integer` is not implemented for `T` [INFO] [stdout] ... [INFO] [stdout] 300 | impl_from!(AngleKind, Kind); [INFO] [stdout] | ---------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/system.rs:243:20 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Quantity [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] 244 | where [INFO] [stdout] 245 | D: Dimension + ?Sized, [INFO] [stdout] | --------- required by this bound in `si::Quantity` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` [INFO] [stdout] | [INFO] [stdout] 193 | V: ::num_traits::Num + ::Conversion, T: Integer [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `I: Integer` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/si/mod.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | for Quantity< [INFO] [stdout] | _____________________^ [INFO] [stdout] 186 | | dyn Dimension, [INFO] [stdout] 187 | | Ul, [INFO] [stdout] 188 | | V, [INFO] [stdout] 189 | | > [INFO] [stdout] | |_________________^ the trait `Integer` is not implemented for `I` [INFO] [stdout] ... [INFO] [stdout] 300 | impl_from!(AngleKind, Kind); [INFO] [stdout] | ---------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/system.rs:243:20 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Quantity [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] 244 | where [INFO] [stdout] 245 | D: Dimension + ?Sized, [INFO] [stdout] | --------- required by this bound in `si::Quantity` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `I` [INFO] [stdout] | [INFO] [stdout] 193 | V: ::num_traits::Num + ::Conversion, I: Integer [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Th: Integer` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/si/mod.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | for Quantity< [INFO] [stdout] | _____________________^ [INFO] [stdout] 186 | | dyn Dimension, [INFO] [stdout] 187 | | Ul, [INFO] [stdout] 188 | | V, [INFO] [stdout] 189 | | > [INFO] [stdout] | |_________________^ the trait `Integer` is not implemented for `Th` [INFO] [stdout] ... [INFO] [stdout] 300 | impl_from!(AngleKind, Kind); [INFO] [stdout] | ---------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/system.rs:243:20 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Quantity [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] 244 | where [INFO] [stdout] 245 | D: Dimension + ?Sized, [INFO] [stdout] | --------- required by this bound in `si::Quantity` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `Th` [INFO] [stdout] | [INFO] [stdout] 193 | V: ::num_traits::Num + ::Conversion, Th: Integer [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `N: Integer` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/si/mod.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | for Quantity< [INFO] [stdout] | _____________________^ [INFO] [stdout] 186 | | dyn Dimension, [INFO] [stdout] 187 | | Ul, [INFO] [stdout] 188 | | V, [INFO] [stdout] 189 | | > [INFO] [stdout] | |_________________^ the trait `Integer` is not implemented for `N` [INFO] [stdout] ... [INFO] [stdout] 300 | impl_from!(AngleKind, Kind); [INFO] [stdout] | ---------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/system.rs:243:20 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Quantity [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] 244 | where [INFO] [stdout] 245 | D: Dimension + ?Sized, [INFO] [stdout] | --------- required by this bound in `si::Quantity` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `N` [INFO] [stdout] | [INFO] [stdout] 193 | V: ::num_traits::Num + ::Conversion, N: Integer [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `futures-macro` [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `rustc --crate-name futures_macro --edition=2018 /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/futures-macro-0.3.8/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debuginfo=2 -C metadata=a31708d2ec367483 -C extra-filename=-a31708d2ec367483 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern proc_macro_hack=/opt/rustwide/target/debug/deps/libproc_macro_hack-6ca8f3550192c248.so --extern proc_macro2=/opt/rustwide/target/debug/deps/libproc_macro2-8a8bb825df9136cb.rlib --extern quote=/opt/rustwide/target/debug/deps/libquote-e6e45b372c4ec1ec.rlib --extern syn=/opt/rustwide/target/debug/deps/libsyn-031bdef34b8a6332.rlib --extern proc_macro --cap-lints allow --cap-lints=forbid` (signal: 9, SIGKILL: kill) [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0277]: the trait bound `J: Integer` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/si/mod.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | for Quantity< [INFO] [stdout] | _____________________^ [INFO] [stdout] 186 | | dyn Dimension, [INFO] [stdout] 187 | | Ul, [INFO] [stdout] 188 | | V, [INFO] [stdout] 189 | | > [INFO] [stdout] | |_________________^ the trait `Integer` is not implemented for `J` [INFO] [stdout] ... [INFO] [stdout] 300 | impl_from!(AngleKind, Kind); [INFO] [stdout] | ---------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/system.rs:243:20 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Quantity [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] 244 | where [INFO] [stdout] 245 | D: Dimension + ?Sized, [INFO] [stdout] | --------- required by this bound in `si::Quantity` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `J` [INFO] [stdout] | [INFO] [stdout] 193 | V: ::num_traits::Num + ::Conversion, J: Integer [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] {"message":"the trait bound `L: 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(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\nfn some_func(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\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(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(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.27.0/src/si/mod.rs","byte_start":7258,"byte_end":7437,"line_start":185,"line_end":189,"column_start":21,"column_end":18,"is_primary":true,"text":[{"text":" for Quantity<","highlight_start":21,"highlight_end":30},{"text":" dyn Dimension,","highlight_start":1,"highlight_end":101},{"text":" Ul,","highlight_start":1,"highlight_end":24},{"text":" V,","highlight_start":1,"highlight_end":23},{"text":" >","highlight_start":1,"highlight_end":18}],"label":"the trait `Integer` is not implemented for `L`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/si/mod.rs","byte_start":11273,"byte_end":11301,"line_start":301,"line_end":301,"column_start":5,"column_end":33,"is_primary":false,"text":[{"text":" impl_from!(Kind, AngleKind);","highlight_start":5,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"impl_from!","def_site_span":{"file_name":"/opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/si/mod.rs","byte_start":6606,"byte_end":9147,"line_start":166,"line_end":237,"column_start":5,"column_end":6,"is_primary":false,"text":[{"text":" macro_rules! impl_from {","highlight_start":5,"highlight_end":29},{"text":" ($a:ident, $b:ident) => {","highlight_start":1,"highlight_end":34},{"text":" impl","highlight_start":1,"highlight_end":50},{"text":" From<","highlight_start":1,"highlight_end":22},{"text":" Quantity<","highlight_start":1,"highlight_end":30},{"text":" dyn Dimension<","highlight_start":1,"highlight_end":39},{"text":" L = L,","highlight_start":1,"highlight_end":35},{"text":" M = M,","highlight_start":1,"highlight_end":35},{"text":" T = T,","highlight_start":1,"highlight_end":35},{"text":" I = I,","highlight_start":1,"highlight_end":35},{"text":" Th = Th,","highlight_start":1,"highlight_end":37},{"text":" N = N,","highlight_start":1,"highlight_end":35},{"text":" J = J,","highlight_start":1,"highlight_end":35},{"text":" Kind = dyn $a,","highlight_start":1,"highlight_end":43},{"text":" >,","highlight_start":1,"highlight_end":27},{"text":" Ur,","highlight_start":1,"highlight_end":28},{"text":" V,","highlight_start":1,"highlight_end":27},{"text":" >,","highlight_start":1,"highlight_end":23},{"text":" >","highlight_start":1,"highlight_end":18},{"text":" for Quantity<","highlight_start":1,"highlight_end":30},{"text":" dyn Dimension,","highlight_start":1,"highlight_end":101},{"text":" Ul,","highlight_start":1,"highlight_end":24},{"text":" V,","highlight_start":1,"highlight_end":23},{"text":" >","highlight_start":1,"highlight_end":18},{"text":" where","highlight_start":1,"highlight_end":18},{"text":" Ul: Units + ?Sized,","highlight_start":1,"highlight_end":39},{"text":" Ur: Units + ?Sized,","highlight_start":1,"highlight_end":39},{"text":" V: ::num_traits::Num + ::Conversion,","highlight_start":1,"highlight_end":56},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" fn from(","highlight_start":1,"highlight_end":25},{"text":" val: Quantity<","highlight_start":1,"highlight_end":35},{"text":" dyn Dimension<","highlight_start":1,"highlight_end":39},{"text":" L = L,","highlight_start":1,"highlight_end":35},{"text":" M = M,","highlight_start":1,"highlight_end":35},{"text":" T = T,","highlight_start":1,"highlight_end":35},{"text":" I = I,","highlight_start":1,"highlight_end":35},{"text":" Th = Th,","highlight_start":1,"highlight_end":37},{"text":" N = N,","highlight_start":1,"highlight_end":35},{"text":" J = J,","highlight_start":1,"highlight_end":35},{"text":" Kind = dyn $a,","highlight_start":1,"highlight_end":43},{"text":" >,","highlight_start":1,"highlight_end":27},{"text":" Ur,","highlight_start":1,"highlight_end":28},{"text":" V,","highlight_start":1,"highlight_end":27},{"text":" >,","highlight_start":1,"highlight_end":23},{"text":" ) -> Quantity<","highlight_start":1,"highlight_end":31},{"text":" dyn Dimension,","highlight_start":1,"highlight_end":101},{"text":" Ul,","highlight_start":1,"highlight_end":24},{"text":" V,","highlight_start":1,"highlight_end":23},{"text":" > {","highlight_start":1,"highlight_end":20},{"text":" Self {","highlight_start":1,"highlight_end":27},{"text":" dimension: ::lib::marker::PhantomData,","highlight_start":1,"highlight_end":63},{"text":" units: ::lib::marker::PhantomData,","highlight_start":1,"highlight_end":59},{"text":" value: super::change_base::<","highlight_start":1,"highlight_end":53},{"text":" dyn Dimension<","highlight_start":1,"highlight_end":43},{"text":" L = L,","highlight_start":1,"highlight_end":39},{"text":" M = M,","highlight_start":1,"highlight_end":39},{"text":" T = T,","highlight_start":1,"highlight_end":39},{"text":" I = I,","highlight_start":1,"highlight_end":39},{"text":" Th = Th,","highlight_start":1,"highlight_end":41},{"text":" N = N,","highlight_start":1,"highlight_end":39},{"text":" J = J,","highlight_start":1,"highlight_end":39},{"text":" Kind = dyn $b,","highlight_start":1,"highlight_end":47},{"text":" >,","highlight_start":1,"highlight_end":31},{"text":" Ul,","highlight_start":1,"highlight_end":32},{"text":" Ur,","highlight_start":1,"highlight_end":32},{"text":" V,","highlight_start":1,"highlight_end":31},{"text":" >(&val.value),","highlight_start":1,"highlight_end":39},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":" };","highlight_start":1,"highlight_end":11},{"text":" }","highlight_start":1,"highlight_end":6}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"/opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/system.rs","byte_start":10400,"byte_end":10408,"line_start":243,"line_end":243,"column_start":20,"column_end":28,"is_primary":false,"text":[{"text":" pub struct Quantity","highlight_start":20,"highlight_end":28}],"label":"required by a bound in this","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/uom-0.27.0/src/system.rs","byte_start":3795,"byte_end":4089,"line_start":99,"line_end":108,"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_attr])* $name: $unit, $symbol;)+","highlight_start":1,"highlight_end":61},{"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.27.0/src/si/mod.rs","byte_start":254,"byte_end":4190,"line_start":10,"line_end":101,"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":" ///","highlight_start":1,"highlight_end":8},{"text":" /// ## Generic Parameters","highlight_start":1,"highlight_end":30},{"text":" /// * `L`: Length dimension.","highlight_start":1,"highlight_end":33},{"text":" /// * `M`: Mass dimension.","highlight_start":1,"highlight_end":31},{"text":" /// * `T`: Time dimension.","highlight_start":1,"highlight_end":31},{"text":" /// * `I`: Electric current dimension.","highlight_start":1,"highlight_end":43},{"text":" /// * `Th`: Thermodynamic temperature dimension.","highlight_start":1,"highlight_end":53},{"text":" /// * `N`: Amount of substance dimension.","highlight_start":1,"highlight_end":46},{"text":" /// * `J`: Luminous intensity dimension.","highlight_start":1,"highlight_end":45},{"text":" /// * `K`: Kind.","highlight_start":1,"highlight_end":21},{"text":" quantities: ISQ {","highlight_start":1,"highlight_end":22},{"text":" /// Length, one of the base quantities in the ISQ, denoted by the symbol L. The base unit","highlight_start":1,"highlight_end":98},{"text":" /// for length is meter in the SI.","highlight_start":1,"highlight_end":43},{"text":" length: meter, L;","highlight_start":1,"highlight_end":26},{"text":" /// Mass, one of the base quantities in the ISQ, denoted by the symbol M. The base unit","highlight_start":1,"highlight_end":96},{"text":" /// for mass is kilogram in the SI.","highlight_start":1,"highlight_end":44},{"text":" mass: kilogram, M;","highlight_start":1,"highlight_end":27},{"text":" /// Time, one of the base quantities in the ISQ, denoted by the symbol T. The base unit","highlight_start":1,"highlight_end":96},{"text":" /// for time is second in the SI.","highlight_start":1,"highlight_end":42},{"text":" time: second, T;","highlight_start":1,"highlight_end":25},{"text":" /// Electric current, one of the base quantities in the ISQ, denoted by the symbol I. The","highlight_start":1,"highlight_end":98},{"text":" /// base unit for electric current is ampere in the SI.","highlight_start":1,"highlight_end":64},{"text":" electric_current: ampere, I;","highlight_start":1,"highlight_end":37},{"text":" /// Thermodynamic temperature, one of the base quantities in the ISQ, denoted by the symbol","highlight_start":1,"highlight_end":100},{"text":" /// Th (Θ). The base unit for thermodynamic temperature is kelvin in the SI.","highlight_start":1,"highlight_end":85},{"text":" thermodynamic_temperature: kelvin, Th;","highlight_start":1,"highlight_end":47},{"text":" /// Amount of substance, one of the base quantities in the ISQ, denoted by the symbol N.","highlight_start":1,"highlight_end":97},{"text":" /// The base unit for amount of substance is mole in the SI.","highlight_start":1,"highlight_end":69},{"text":" amount_of_substance: mole, N;","highlight_start":1,"highlight_end":38},{"text":" /// Luminous intensity, one of the base quantities in the ISQ, denoted by the symbol J. The","highlight_start":1,"highlight_end":100},{"text":" /// base unit for luminous intensity is candela in the SI.","highlight_start":1,"highlight_end":67},{"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":" angle::Angle,","highlight_start":1,"highlight_end":22},{"text":" angular_acceleration::AngularAcceleration,","highlight_start":1,"highlight_end":51},{"text":" angular_jerk::AngularJerk,","highlight_start":1,"highlight_end":35},{"text":" angular_velocity::AngularVelocity,","highlight_start":1,"highlight_end":43},{"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":" catalytic_activity::CatalyticActivity,","highlight_start":1,"highlight_end":47},{"text":" catalytic_activity_concentration::CatalyticActivityConcentration,","highlight_start":1,"highlight_end":74},{"text":" curvature::Curvature,","highlight_start":1,"highlight_end":30},{"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":" electrical_conductance::ElectricalConductance,","highlight_start":1,"highlight_end":55},{"text":" electrical_resistance::ElectricalResistance,","highlight_start":1,"highlight_end":53},{"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":" heat_capacity::HeatCapacity,","highlight_start":1,"highlight_end":37},{"text":" heat_flux_density::HeatFluxDensity,","highlight_start":1,"highlight_end":44},{"text":" heat_transfer::HeatTransfer,","highlight_start":1,"highlight_end":37},{"text":" inductance::Inductance,","highlight_start":1,"highlight_end":32},{"text":" information::Information,","highlight_start":1,"highlight_end":34},{"text":" information_rate::InformationRate,","highlight_start":1,"highlight_end":43},{"text":" jerk::Jerk,","highlight_start":1,"highlight_end":20},{"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_concentration::MassConcentration,","highlight_start":1,"highlight_end":47},{"text":" mass_density::MassDensity,","highlight_start":1,"highlight_end":35},{"text":" mass_rate::MassRate,","highlight_start":1,"highlight_end":29},{"text":" molar_concentration::MolarConcentration,","highlight_start":1,"highlight_end":49},{"text":" molar_energy::MolarEnergy,","highlight_start":1,"highlight_end":35},{"text":" molar_mass::MolarMass,","highlight_start":1,"highlight_end":31},{"text":" momentum::Momentum,","highlight_start":1,"highlight_end":28},{"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":" specific_heat_capacity::SpecificHeatCapacity,","highlight_start":1,"highlight_end":54},{"text":" temperature_interval::TemperatureInterval,","highlight_start":1,"highlight_end":51},{"text":" thermal_conductivity::ThermalConductivity,","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":" torque::Torque,","highlight_start":1,"highlight_end":24},{"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.27.0/src/system.rs","byte_start":3414,"byte_end":63666,"line_start":87,"line_end":1568,"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_attr:meta])* $name:ident: $unit:ident, $symbol:ident;)+","highlight_start":1,"highlight_end":80},{"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_attr])* $name: $unit, $symbol;)+","highlight_start":1,"highlight_end":61},{"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_attr:meta])* $name:ident: $unit:ident, $symbol:ident;)+","highlight_start":1,"highlight_end":80},{"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":" /// * ","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":" $($(#[$name_attr])*","highlight_start":1,"highlight_end":32},{"text":" ///","highlight_start":1,"highlight_end":16},{"text":" /// Quantity dimension.","highlight_start":1,"highlight_end":36},{"text":" type $symbol: $crate::typenum::Integer;)+","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" /// [Kind](https://jcgm.bipm.org/vim/en/1.2.html) of the quantity. Quantities of the","highlight_start":1,"highlight_end":97},{"text":" /// same dimension but differing kinds are not comparable.","highlight_start":1,"highlight_end":71},{"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":" /// ## Generic Parameters","highlight_start":1,"highlight_end":34},{"text":" /// * `V`: Underlying storage type trait is implemented for.","highlight_start":1,"highlight_end":69},{"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: Send + Sync","highlight_start":1,"highlight_end":40},{"text":" where","highlight_start":1,"highlight_end":14},{"text":" V: $crate::Conversion,","highlight_start":1,"highlight_end":38},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" $($(#[$name_attr])*","highlight_start":1,"highlight_end":32},{"text":" ///","highlight_start":1,"highlight_end":16},{"text":" /// Base unit.","highlight_start":1,"highlight_end":27},{"text":" type $name: Unit + $crate::Conversion;)+","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::(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, SI, 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\"), doc = \" ```rust,compile_fail\")]","highlight_start":1,"highlight_end":89},{"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::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::(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\"), doc = \" ```rust,compile_fail\")]","highlight_start":1,"highlight_end":89},{"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":" /// # 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::(1.0) + Time::new::(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\"), doc = \" ```rust,compile_fail\")]","highlight_start":1,"highlight_end":89},{"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":" /// # 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::(1.0) * Time::new::(1.0);","highlight_start":1,"highlight_end":84},{"text":" /// ```","highlight_start":1,"highlight_end":16},{"text":" ///","highlight_start":1,"highlight_end":12},{"text":" /// * ","highlight_start":1,"highlight_end":53},{"text":" ///","highlight_start":1,"highlight_end":12},{"text":" /// ## Generic Parameters","highlight_start":1,"highlight_end":34},{"text":" /// * `D`: Quantity dimension. See [`Dimension`](./trait.Dimension.html).","highlight_start":1,"highlight_end":82},{"text":" /// * `U`: Quantity base units. See [`Units`](./trait.Units.html).","highlight_start":1,"highlight_end":75},{"text":" /// * `V`: Quantity value underlying storage type.","highlight_start":1,"highlight_end":59},{"text":" #[repr(transparent)]","highlight_start":1,"highlight_end":29},{"text":" pub struct Quantity","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 + ?Sized,","highlight_start":1,"highlight_end":34},{"text":" V: $crate::num::Num + $crate::Conversion,","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,","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,","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 = dyn Dimension<$($symbol = system!(@replace $symbol N),)+","highlight_start":1,"highlight_end":78},{"text":" Kind = dyn $crate::Kind>;","highlight_start":1,"highlight_end":38},{"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 = dyn $crate::Kind> =","highlight_start":1,"highlight_end":66},{"text":" dyn Dimension<$($symbol = $symbol,)+ Kind = K>;","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" $(#[$units_attr])*","highlight_start":1,"highlight_end":27},{"text":" ///","highlight_start":1,"highlight_end":12},{"text":" /// ## Generic Parameters","highlight_start":1,"highlight_end":34},{"text":" /// * `V`: Underlying storage type.","highlight_start":1,"highlight_end":44},{"text":" #[allow(unused_qualifications)]","highlight_start":1,"highlight_end":40},{"text":" pub type $units = dyn Units;","highlight_start":1,"highlight_end":70},{"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":" ///","highlight_start":1,"highlight_end":12},{"text":" /// ## Generic Parameters","highlight_start":1,"highlight_end":34},{"text":" /// * `D`: Dimension.","highlight_start":1,"highlight_end":30},{"text":" /// * `U`: Base units.","highlight_start":1,"highlight_end":31},{"text":" /// * `V`: Value underlying storage type.","highlight_start":1,"highlight_end":50},{"text":" /// * `N`: Unit.","highlight_start":1,"highlight_end":25},{"text":" #[inline(always)]","highlight_start":1,"highlight_end":26},{"text":" fn from_base(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 + ?Sized,","highlight_start":1,"highlight_end":34},{"text":" V: $crate::Conversion + $crate::lib::ops::Mul,","highlight_start":1,"highlight_end":77},{"text":" N: $crate::Conversion,","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($crate::ConstantOp::Sub))","highlight_start":1,"highlight_end":79},{"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":" ///","highlight_start":1,"highlight_end":12},{"text":" /// ## Generic Parameters","highlight_start":1,"highlight_end":34},{"text":" /// * `D`: Dimension.","highlight_start":1,"highlight_end":30},{"text":" /// * `U`: Base units.","highlight_start":1,"highlight_end":31},{"text":" /// * `V`: Value underlying storage type.","highlight_start":1,"highlight_end":50},{"text":" /// * `N`: Unit.","highlight_start":1,"highlight_end":25},{"text":" #[inline(always)]","highlight_start":1,"highlight_end":26},{"text":" fn to_base(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 + ?Sized,","highlight_start":1,"highlight_end":34},{"text":" V: $crate::Conversion + $crate::lib::ops::Mul,","highlight_start":1,"highlight_end":77},{"text":" N: $crate::Conversion,","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($crate::ConstantOp::Add)) * N::coefficient()","highlight_start":1,"highlight_end":93},{"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":" ///","highlight_start":1,"highlight_end":12},{"text":" /// ## Generic Parameters","highlight_start":1,"highlight_end":34},{"text":" /// * `D`: Dimension.","highlight_start":1,"highlight_end":30},{"text":" /// * `Ul`: Base units for left quantity.","highlight_start":1,"highlight_end":50},{"text":" /// * `Ur`: Base units for right quantity.","highlight_start":1,"highlight_end":51},{"text":" /// * `V`: Value underlying storage type.","highlight_start":1,"highlight_end":50},{"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(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 + ?Sized,","highlight_start":1,"highlight_end":35},{"text":" Ur: Units + ?Sized,","highlight_start":1,"highlight_end":35},{"text":" V: $crate::Conversion + $crate::lib::ops::Mul,","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 $crate::lib::ops::$AddSubTrait>","highlight_start":1,"highlight_end":86},{"text":" for Quantity","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 + ?Sized,","highlight_start":1,"highlight_end":43},{"text":" Ur: Units + ?Sized,","highlight_start":1,"highlight_end":43},{"text":" V: $crate::num::Num + $crate::Conversion,","highlight_start":1,"highlight_end":65},{"text":" {","highlight_start":1,"highlight_end":18},{"text":" type Output = Quantity;","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) -> 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::(&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 $crate::lib::ops::$AddSubTrait for Quantity","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 + ?Sized,","highlight_start":1,"highlight_end":42},{"text":" V: $crate::num::Num + $crate::Conversion,","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 $crate::lib::ops::$AddSubAssignTrait>","highlight_start":1,"highlight_end":92},{"text":" for Quantity","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 + ?Sized,","highlight_start":1,"highlight_end":43},{"text":" Ur: Units + ?Sized,","highlight_start":1,"highlight_end":43},{"text":" V: $crate::num::Num + $crate::Conversion","highlight_start":1,"highlight_end":64},{"text":" + $crate::lib::ops::$AddSubAssignTrait,","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) {","highlight_start":1,"highlight_end":79},{"text":" self.value $addsubassign_op change_base::(&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 $crate::lib::ops::$AddSubAssignTrait for Quantity","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 + ?Sized,","highlight_start":1,"highlight_end":42},{"text":" V: $crate::num::Num + $crate::Conversion","highlight_start":1,"highlight_end":64},{"text":" + $crate::lib::ops::$AddSubAssignTrait,","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 $crate::lib::ops::$MulDivTrait>","highlight_start":1,"highlight_end":92},{"text":" for Quantity","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,)+","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 + ?Sized,","highlight_start":1,"highlight_end":43},{"text":" Ur: Units + ?Sized,","highlight_start":1,"highlight_end":43},{"text":" V: $crate::num::Num + $crate::Conversion + $crate::lib::ops::$MulDivTrait,","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,)+>,","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) -> 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::(&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 $crate::lib::ops::$MulDivTrait>","highlight_start":1,"highlight_end":86},{"text":" for Quantity","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,)+","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 + ?Sized,","highlight_start":1,"highlight_end":42},{"text":" V: $crate::num::Num + $crate::Conversion + $crate::lib::ops::$MulDivTrait,","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,)+>,","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) -> 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 $crate::lib::ops::$MulDivTrait for Quantity","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 + ?Sized,","highlight_start":1,"highlight_end":42},{"text":" V: $crate::num::Num + $crate::Conversion,","highlight_start":1,"highlight_end":65},{"text":" {","highlight_start":1,"highlight_end":18},{"text":" type Output = Quantity;","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 $crate::lib::ops::$MulDivAssignTrait for Quantity","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 + ?Sized,","highlight_start":1,"highlight_end":42},{"text":" V: $crate::num::Num + $crate::Conversion","highlight_start":1,"highlight_end":64},{"text":" + $crate::lib::ops::$MulDivAssignTrait,","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 $crate::lib::ops::$MulDivTrait> 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 + ?Sized,","highlight_start":1,"highlight_end":50},{"text":" $($crate::typenum::Z0: $crate::lib::ops::$AddSubTrait,)+","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":53},{"text":" D::Kind>,","highlight_start":1,"highlight_end":48},{"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) -> 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 Quantity","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 + ?Sized,","highlight_start":1,"highlight_end":34},{"text":" V: $crate::num::Num + $crate::Conversion,","highlight_start":1,"highlight_end":57},{"text":" {", [INFO] [stderr] The following warnings were emitted during compilation: [INFO] [stderr] [INFO] [stderr] warning: c++: fatal error: Killed signal terminated program cc1plus [INFO] [stderr] warning: compilation terminated. [INFO] [stderr] warning: c++: fatal error: Killed signal terminated program cc1plus [INFO] [stderr] warning: compilation terminated. [INFO] [stderr] warning: c++: fatal error: Killed signal terminated program cc1plus [INFO] [stderr] warning: compilation terminated. [INFO] [stderr] warning: c++: fatal error: Killed signal terminated program cc1plus [INFO] [stderr] warning: compilation terminated. [INFO] [stderr] warning: c++: fatal error: Killed signal terminated program cc1plus [INFO] [stderr] warning: compilation terminated. [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "9851eb57cd7997e99ee81f16de445aa99391d0223ceed0e870ea7539194fe367", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9851eb57cd7997e99ee81f16de445aa99391d0223ceed0e870ea7539194fe367", kill_on_drop: false }` [INFO] [stdout] 9851eb57cd7997e99ee81f16de445aa99391d0223ceed0e870ea7539194fe367