[INFO] fetching crate bijux-gnss-core 0.1.0...
[INFO] documenting bijux-gnss-core-0.1.0 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate bijux-gnss-core 0.1.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate bijux-gnss-core 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate bijux-gnss-core 0.1.0
[INFO] tweaked toml for crates.io crate bijux-gnss-core 0.1.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate bijux-gnss-core 0.1.0 on toolchain da3f5c31e5535b3dc210067de660a45784ae1e9c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate bijux-gnss-core 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4d11b406673fc2eba9773f8e63e007550c19d8f3946666c7e9e875a48dbd794c
[INFO] running `Command { std: "docker" "start" "4d11b406673fc2eba9773f8e63e007550c19d8f3946666c7e9e875a48dbd794c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d11b406673fc2eba9773f8e63e007550c19d8f3946666c7e9e875a48dbd794c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4d11b406673fc2eba9773f8e63e007550c19d8f3946666c7e9e875a48dbd794c" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d11b406673fc2eba9773f8e63e007550c19d8f3946666c7e9e875a48dbd794c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4d11b406673fc2eba9773f8e63e007550c19d8f3946666c7e9e875a48dbd794c" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling syn v3.0.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking thiserror v2.0.19
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]  Documenting bijux-gnss-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 | / pub fn convert_v1_to_v2<T>(_artifact: &T) {
[INFO] [stdout] 95 | |     // TODO: implement when V2 is defined.
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Artifact headers and versioned payloads.`
[INFO] [stdout]    = help: ends near `Migration placeholder for V1 -> V2.`
[INFO] [stdout]    = note: `#[deny(rustdoc::unportable_markdown)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 | / pub fn convert_v1_to_v2<T>(_artifact: &T) {
[INFO] [stdout] 95 | |     // TODO: implement when V2 is defined.
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Migration placeholder for V1 -> V2.`
[INFO] [stdout]    = help: ends near `Migration placeholder for V1 -> V2.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub struct ArtifactHeaderV1 {
[INFO] [stdout] 10 | |     /// Schema version for the artifact payload.
[INFO] [stdout] 11 | |     pub schema_version: u32,
[INFO] [stdout] 12 | |     /// Producer crate name.
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |     pub git_dirty: bool,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Artifact headers and versioned payloads.`
[INFO] [stdout]    = help: ends near `Artifact header metadata included with every serialized artifact.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub struct ArtifactHeaderV1 {
[INFO] [stdout] 10 | |     /// Schema version for the artifact payload.
[INFO] [stdout] 11 | |     pub schema_version: u32,
[INFO] [stdout] 12 | |     /// Producer crate name.
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |     pub git_dirty: bool,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Artifact header metadata included with every serialized artifact.`
[INFO] [stdout]    = help: ends near `Artifact header metadata included with every serialized artifact.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | / pub enum ArtifactKind {
[INFO] [stdout] 39 | |     /// Observation epochs.
[INFO] [stdout] 40 | |     Obs,
[INFO] [stdout] 41 | |     /// Tracking epochs.
[INFO] [stdout] ...  |
[INFO] [stdout] 54 | |     Nav,
[INFO] [stdout] 55 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Artifact headers and versioned payloads.`
[INFO] [stdout]    = help: ends near `Artifact kind enumeration used for validation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | / pub enum ArtifactKind {
[INFO] [stdout] 39 | |     /// Observation epochs.
[INFO] [stdout] 40 | |     Obs,
[INFO] [stdout] 41 | |     /// Tracking epochs.
[INFO] [stdout] ...  |
[INFO] [stdout] 54 | |     Nav,
[INFO] [stdout] 55 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Artifact kind enumeration used for validation.`
[INFO] [stdout]    = help: ends near `Artifact kind enumeration used for validation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | / pub trait ArtifactPayloadValidate {
[INFO] [stdout] 83 | |     /// Validate payload invariants.
[INFO] [stdout] 84 | |     fn validate_payload(&self) -> Vec<DiagnosticEvent>;
[INFO] [stdout] 85 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Artifact headers and versioned payloads.`
[INFO] [stdout]    = help: ends near `Payload validation trait for artifacts.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | / pub trait ArtifactPayloadValidate {
[INFO] [stdout] 83 | |     /// Validate payload invariants.
[INFO] [stdout] 84 | |     fn validate_payload(&self) -> Vec<DiagnosticEvent>;
[INFO] [stdout] 85 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Payload validation trait for artifacts.`
[INFO] [stdout]    = help: ends near `Payload validation trait for artifacts.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct ArtifactReadPolicy;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Artifact headers and versioned payloads.`
[INFO] [stdout]    = help: ends near `Compatibility policy for artifacts.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct ArtifactReadPolicy;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Compatibility policy for artifacts.`
[INFO] [stdout]    = help: ends near `Compatibility policy for artifacts.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | / pub struct ArtifactV1<T> {
[INFO] [stdout] 75 | |     /// Artifact header.
[INFO] [stdout] 76 | |     pub header: ArtifactHeaderV1,
[INFO] [stdout] 77 | |     /// Artifact payload.
[INFO] [stdout] 78 | |     pub payload: T,
[INFO] [stdout] 79 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Artifact headers and versioned payloads.`
[INFO] [stdout]    = help: ends near `Versioned artifact wrapper (v1).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | / pub struct ArtifactV1<T> {
[INFO] [stdout] 75 | |     /// Artifact header.
[INFO] [stdout] 76 | |     pub header: ArtifactHeaderV1,
[INFO] [stdout] 77 | |     /// Artifact payload.
[INFO] [stdout] 78 | |     pub payload: T,
[INFO] [stdout] 79 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Versioned artifact wrapper (v1).`
[INFO] [stdout]    = help: ends near `Versioned artifact wrapper (v1).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | / pub trait ArtifactValidate {
[INFO] [stdout] 89 | |     /// Validate the artifact and return diagnostics.
[INFO] [stdout] 90 | |     fn validate(&self) -> Vec<DiagnosticEvent>;
[INFO] [stdout] 91 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Artifact headers and versioned payloads.`
[INFO] [stdout]    = help: ends near `Trait for validating artifact invariants.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/artifact.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | / pub trait ArtifactValidate {
[INFO] [stdout] 89 | |     /// Validate the artifact and return diagnostics.
[INFO] [stdout] 90 | |     fn validate(&self) -> Vec<DiagnosticEvent>;
[INFO] [stdout] 91 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Trait for validating artifact invariants.`
[INFO] [stdout]    = help: ends near `Trait for validating artifact invariants.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | / pub struct BijuxGnssConfig<R, N> {
[INFO] [stdout] 28 | |     /// Schema version for compatibility and migrations.
[INFO] [stdout] 29 | |     pub schema_version: SchemaVersion,
[INFO] [stdout] 30 | |     /// Receiver configuration section.
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |     pub navigation: N,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Configuration composition and validation.`
[INFO] [stdout]    = help: ends near `Root GNSS configuration composed of receiver + navigation sections.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | / pub struct BijuxGnssConfig<R, N> {
[INFO] [stdout] 28 | |     /// Schema version for compatibility and migrations.
[INFO] [stdout] 29 | |     pub schema_version: SchemaVersion,
[INFO] [stdout] 30 | |     /// Receiver configuration section.
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |     pub navigation: N,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Root GNSS configuration composed of receiver + navigation sections.`
[INFO] [stdout]    = help: ends near `Root GNSS configuration composed of receiver + navigation sections.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]  --> src/config.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SchemaVersion(pub u32);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the way this is parsed might change in the future
[INFO] [stdout]   = help: starts near `Configuration composition and validation.`
[INFO] [stdout]   = help: ends near `Schema version for GNSS configuration files.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]  --> src/config.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SchemaVersion(pub u32);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the way this is parsed might change in the future
[INFO] [stdout]   = help: starts near `Schema version for GNSS configuration files.`
[INFO] [stdout]   = help: ends near `Schema version for GNSS configuration files.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub trait ValidateConfig {
[INFO] [stdout] 21 | |     /// Validate the configuration and return typed errors and warnings.
[INFO] [stdout] 22 | |     fn validate(&self) -> ValidationReport;
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Configuration composition and validation.`
[INFO] [stdout]    = help: ends near `Trait for validating configuration structs.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub trait ValidateConfig {
[INFO] [stdout] 21 | |     /// Validate the configuration and return typed errors and warnings.
[INFO] [stdout] 22 | |     fn validate(&self) -> ValidationReport;
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Trait for validating configuration structs.`
[INFO] [stdout]    = help: ends near `Trait for validating configuration structs.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub struct ValidationReport {
[INFO] [stdout] 13 | |     /// Hard errors that should prevent execution.
[INFO] [stdout] 14 | |     pub errors: Vec<ConfigError>,
[INFO] [stdout] 15 | |     /// Warnings that should be surfaced but do not block execution.
[INFO] [stdout] 16 | |     pub warnings: Vec<String>,
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Configuration composition and validation.`
[INFO] [stdout]    = help: ends near `Validation result for configuration structs.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/config.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub struct ValidationReport {
[INFO] [stdout] 13 | |     /// Hard errors that should prevent execution.
[INFO] [stdout] 14 | |     pub errors: Vec<ConfigError>,
[INFO] [stdout] 15 | |     /// Warnings that should be surfaced but do not block execution.
[INFO] [stdout] 16 | |     pub warnings: Vec<String>,
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Validation result for configuration structs.`
[INFO] [stdout]    = help: ends near `Validation result for configuration structs.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/conventions.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | / pub fn carrier_phase_increment(
[INFO] [stdout] 154 | |     doppler_hz: crate::api::Hertz,
[INFO] [stdout] 155 | |     dt_s: crate::api::Seconds,
[INFO] [stdout] 156 | | ) -> crate::api::Cycles {
[INFO] [stdout] 157 | |     crate::api::Cycles(doppler_hz.0 * dt_s.0)
[INFO] [stdout] 158 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Scientific conventions and sanity checks.`
[INFO] [stdout]     = help: ends near `Compute carrier phase increment (cycles) from Doppler and time step.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/conventions.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | / pub fn carrier_phase_increment(
[INFO] [stdout] 154 | |     doppler_hz: crate::api::Hertz,
[INFO] [stdout] 155 | |     dt_s: crate::api::Seconds,
[INFO] [stdout] 156 | | ) -> crate::api::Cycles {
[INFO] [stdout] 157 | |     crate::api::Cycles(doppler_hz.0 * dt_s.0)
[INFO] [stdout] 158 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute carrier phase increment (cycles) from Doppler and time step.`
[INFO] [stdout]     = help: ends near `Compute carrier phase increment (cycles) from Doppler and time step.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/conventions.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | / pub fn doppler_from_phase_increment(
[INFO] [stdout] 162 | |     delta_cycles: crate::api::Cycles,
[INFO] [stdout] 163 | |     dt_s: crate::api::Seconds,
[INFO] [stdout] 164 | | ) -> crate::api::Hertz {
[INFO] [stdout] ...   |
[INFO] [stdout] 168 | |     crate::api::Hertz(delta_cycles.0 / dt_s.0)
[INFO] [stdout] 169 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Scientific conventions and sanity checks.`
[INFO] [stdout]     = help: ends near `Compute Doppler (Hz) from carrier phase increment and time step.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/conventions.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | / pub fn doppler_from_phase_increment(
[INFO] [stdout] 162 | |     delta_cycles: crate::api::Cycles,
[INFO] [stdout] 163 | |     dt_s: crate::api::Seconds,
[INFO] [stdout] 164 | | ) -> crate::api::Hertz {
[INFO] [stdout] ...   |
[INFO] [stdout] 168 | |     crate::api::Hertz(delta_cycles.0 / dt_s.0)
[INFO] [stdout] 169 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute Doppler (Hz) from carrier phase increment and time step.`
[INFO] [stdout]     = help: ends near `Compute Doppler (Hz) from carrier phase increment and time step.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/diagnostic/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub struct DiagnosticEvent {
[INFO] [stdout] 21 | |     /// Severity of the event.
[INFO] [stdout] 22 | |     pub severity: DiagnosticSeverity,
[INFO] [stdout] 23 | |     /// Stable machine-readable code.
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | |     pub context: Vec<(String, String)>,
[INFO] [stdout] 29 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Structured diagnostics.`
[INFO] [stdout]    = help: ends near `Structured diagnostic event emitted by pipeline stages.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/diagnostic/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub struct DiagnosticEvent {
[INFO] [stdout] 21 | |     /// Severity of the event.
[INFO] [stdout] 22 | |     pub severity: DiagnosticSeverity,
[INFO] [stdout] 23 | |     /// Stable machine-readable code.
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | |     pub context: Vec<(String, String)>,
[INFO] [stdout] 29 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Structured diagnostic event emitted by pipeline stages.`
[INFO] [stdout]    = help: ends near `Structured diagnostic event emitted by pipeline stages.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/diagnostic/mod.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub enum DiagnosticSeverity {
[INFO] [stdout] 10 | |     /// Informational event.
[INFO] [stdout] 11 | |     Info,
[INFO] [stdout] 12 | |     /// Warning-level event.
[INFO] [stdout] ...  |
[INFO] [stdout] 15 | |     Error,
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Structured diagnostics.`
[INFO] [stdout]    = help: ends near `Severity of a diagnostic event.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/diagnostic/mod.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / pub enum DiagnosticSeverity {
[INFO] [stdout] 10 | |     /// Informational event.
[INFO] [stdout] 11 | |     Info,
[INFO] [stdout] 12 | |     /// Warning-level event.
[INFO] [stdout] ...  |
[INFO] [stdout] 15 | |     Error,
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Severity of a diagnostic event.`
[INFO] [stdout]    = help: ends near `Severity of a diagnostic event.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | / pub struct AcqError {
[INFO] [stdout] 48 | |     /// Human-readable error message.
[INFO] [stdout] 49 | |     pub message: String,
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Canonical error types.`
[INFO] [stdout]    = help: ends near `Acquisition error.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | / pub struct AcqError {
[INFO] [stdout] 48 | |     /// Human-readable error message.
[INFO] [stdout] 49 | |     pub message: String,
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Acquisition error.`
[INFO] [stdout]    = help: ends near `Acquisition error.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub struct ConfigError {
[INFO] [stdout] 16 | |     /// Human-readable error message.
[INFO] [stdout] 17 | |     pub message: String,
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Canonical error types.`
[INFO] [stdout]    = help: ends near `Invalid configuration or schema mismatch.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub struct ConfigError {
[INFO] [stdout] 16 | |     /// Human-readable error message.
[INFO] [stdout] 17 | |     pub message: String,
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Invalid configuration or schema mismatch.`
[INFO] [stdout]    = help: ends near `Invalid configuration or schema mismatch.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 | / pub struct InputError {
[INFO] [stdout]  8 | |     /// Human-readable error message.
[INFO] [stdout]  9 | |     pub message: String,
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Canonical error types.`
[INFO] [stdout]    = help: ends near `Invalid or missing input data.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 | / pub struct InputError {
[INFO] [stdout]  8 | |     /// Human-readable error message.
[INFO] [stdout]  9 | |     pub message: String,
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Invalid or missing input data.`
[INFO] [stdout]    = help: ends near `Invalid or missing input data.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | / pub struct InvariantError {
[INFO] [stdout] 72 | |     /// Human-readable error message.
[INFO] [stdout] 73 | |     pub message: String,
[INFO] [stdout] 74 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Canonical error types.`
[INFO] [stdout]    = help: ends near `Invariant violation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | / pub struct InvariantError {
[INFO] [stdout] 72 | |     /// Human-readable error message.
[INFO] [stdout] 73 | |     pub message: String,
[INFO] [stdout] 74 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Invariant violation.`
[INFO] [stdout]    = help: ends near `Invariant violation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / pub struct IoError {
[INFO] [stdout] 24 | |     /// Human-readable error message.
[INFO] [stdout] 25 | |     pub message: String,
[INFO] [stdout] 26 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Canonical error types.`
[INFO] [stdout]    = help: ends near `Failed I/O operation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / pub struct IoError {
[INFO] [stdout] 24 | |     /// Human-readable error message.
[INFO] [stdout] 25 | |     pub message: String,
[INFO] [stdout] 26 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Failed I/O operation.`
[INFO] [stdout]    = help: ends near `Failed I/O operation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | / pub struct NavError {
[INFO] [stdout] 64 | |     /// Human-readable error message.
[INFO] [stdout] 65 | |     pub message: String,
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Canonical error types.`
[INFO] [stdout]    = help: ends near `Navigation error.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | / pub struct NavError {
[INFO] [stdout] 64 | |     /// Human-readable error message.
[INFO] [stdout] 65 | |     pub message: String,
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Navigation error.`
[INFO] [stdout]    = help: ends near `Navigation error.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | / pub struct ParseError {
[INFO] [stdout] 32 | |     /// Human-readable error message.
[INFO] [stdout] 33 | |     pub message: String,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Canonical error types.`
[INFO] [stdout]    = help: ends near `Failed to parse an input format.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | / pub struct ParseError {
[INFO] [stdout] 32 | |     /// Human-readable error message.
[INFO] [stdout] 33 | |     pub message: String,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Failed to parse an input format.`
[INFO] [stdout]    = help: ends near `Failed to parse an input format.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | / pub struct SignalError {
[INFO] [stdout] 40 | |     /// Human-readable error message.
[INFO] [stdout] 41 | |     pub message: String,
[INFO] [stdout] 42 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Canonical error types.`
[INFO] [stdout]    = help: ends near `Signal processing error.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | / pub struct SignalError {
[INFO] [stdout] 40 | |     /// Human-readable error message.
[INFO] [stdout] 41 | |     pub message: String,
[INFO] [stdout] 42 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Signal processing error.`
[INFO] [stdout]    = help: ends near `Signal processing error.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / pub struct TrackError {
[INFO] [stdout] 56 | |     /// Human-readable error message.
[INFO] [stdout] 57 | |     pub message: String,
[INFO] [stdout] 58 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Canonical error types.`
[INFO] [stdout]    = help: ends near `Tracking error.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / pub struct TrackError {
[INFO] [stdout] 56 | |     /// Human-readable error message.
[INFO] [stdout] 57 | |     pub message: String,
[INFO] [stdout] 58 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Tracking error.`
[INFO] [stdout]    = help: ends near `Tracking error.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/geo.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | / pub fn ecef_to_enu(
[INFO] [stdout]  98 | |     x: f64,
[INFO] [stdout]  99 | |     y: f64,
[INFO] [stdout] 100 | |     z: f64,
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |     (east, north, up)
[INFO] [stdout] 119 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Geodetic utilities (WGS-84).`
[INFO] [stdout]     = help: ends near `Convert ECEF to local ENU.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/geo.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | / pub fn ecef_to_enu(
[INFO] [stdout]  98 | |     x: f64,
[INFO] [stdout]  99 | |     y: f64,
[INFO] [stdout] 100 | |     z: f64,
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |     (east, north, up)
[INFO] [stdout] 119 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Convert ECEF to local ENU.`
[INFO] [stdout]     = help: ends near `Convert ECEF to local ENU.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | / pub fn ecef_to_enu_ref(ecef: Ecef, reference: Llh) -> Enu {
[INFO] [stdout] 50 | |     let (e, n, u) = ecef_to_enu(
[INFO] [stdout] 51 | |         ecef.x_m,
[INFO] [stdout] 52 | |         ecef.y_m,
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | |     Enu { e_m: e, n_m: n, u_m: u }
[INFO] [stdout] 59 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Geodetic utilities (WGS-84).`
[INFO] [stdout]    = help: ends near `Convert ECEF to local ENU.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | / pub fn ecef_to_enu_ref(ecef: Ecef, reference: Llh) -> Enu {
[INFO] [stdout] 50 | |     let (e, n, u) = ecef_to_enu(
[INFO] [stdout] 51 | |         ecef.x_m,
[INFO] [stdout] 52 | |         ecef.y_m,
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | |     Enu { e_m: e, n_m: n, u_m: u }
[INFO] [stdout] 59 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Convert ECEF to local ENU.`
[INFO] [stdout]    = help: ends near `Convert ECEF to local ENU.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | / pub fn ecef_to_geodetic(x: f64, y: f64, z: f64) -> (f64, f64, f64) {
[INFO] [stdout] 63 | |     let a = 6378137.0;
[INFO] [stdout] 64 | |     let f = 1.0 / 298.257_223_563;
[INFO] [stdout] 65 | |     let e2 = f * (2.0 - f);
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     (lat.to_degrees(), lon.to_degrees(), alt)
[INFO] [stdout] 78 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Geodetic utilities (WGS-84).`
[INFO] [stdout]    = help: ends near `Convert ECEF to geodetic (lat, lon, alt).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | / pub fn ecef_to_geodetic(x: f64, y: f64, z: f64) -> (f64, f64, f64) {
[INFO] [stdout] 63 | |     let a = 6378137.0;
[INFO] [stdout] 64 | |     let f = 1.0 / 298.257_223_563;
[INFO] [stdout] 65 | |     let e2 = f * (2.0 - f);
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     (lat.to_degrees(), lon.to_degrees(), alt)
[INFO] [stdout] 78 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Convert ECEF to geodetic (lat, lon, alt).`
[INFO] [stdout]    = help: ends near `Convert ECEF to geodetic (lat, lon, alt).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | / pub fn ecef_to_llh(ecef: Ecef) -> Llh {
[INFO] [stdout] 38 | |     let (lat, lon, alt) = ecef_to_geodetic(ecef.x_m, ecef.y_m, ecef.z_m);
[INFO] [stdout] 39 | |     Llh { lat_deg: lat, lon_deg: lon, alt_m: alt }
[INFO] [stdout] 40 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Geodetic utilities (WGS-84).`
[INFO] [stdout]    = help: ends near `Convert ECEF to geodetic.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | / pub fn ecef_to_llh(ecef: Ecef) -> Llh {
[INFO] [stdout] 38 | |     let (lat, lon, alt) = ecef_to_geodetic(ecef.x_m, ecef.y_m, ecef.z_m);
[INFO] [stdout] 39 | |     Llh { lat_deg: lat, lon_deg: lon, alt_m: alt }
[INFO] [stdout] 40 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Convert ECEF to geodetic.`
[INFO] [stdout]    = help: ends near `Convert ECEF to geodetic.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/geo.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | / pub fn elevation_azimuth_deg(
[INFO] [stdout] 123 | |     rx_x: f64,
[INFO] [stdout] 124 | |     rx_y: f64,
[INFO] [stdout] 125 | |     rx_z: f64,
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |     (az, el)
[INFO] [stdout] 135 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Geodetic utilities (WGS-84).`
[INFO] [stdout]     = help: ends near `Compute elevation and azimuth (degrees).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/geo.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | / pub fn elevation_azimuth_deg(
[INFO] [stdout] 123 | |     rx_x: f64,
[INFO] [stdout] 124 | |     rx_y: f64,
[INFO] [stdout] 125 | |     rx_z: f64,
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |     (az, el)
[INFO] [stdout] 135 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute elevation and azimuth (degrees).`
[INFO] [stdout]     = help: ends near `Compute elevation and azimuth (degrees).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / pub fn geodetic_to_ecef(lat_deg: f64, lon_deg: f64, alt_m: f64) -> (f64, f64, f64) {
[INFO] [stdout] 82 | |     let a = 6378137.0;
[INFO] [stdout] 83 | |     let f = 1.0 / 298.257_223_563;
[INFO] [stdout] 84 | |     let e2 = f * (2.0 - f);
[INFO] [stdout] ...  |
[INFO] [stdout] 93 | |     (x, y, z)
[INFO] [stdout] 94 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Geodetic utilities (WGS-84).`
[INFO] [stdout]    = help: ends near `Convert geodetic (lat, lon, alt) to ECEF.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / pub fn geodetic_to_ecef(lat_deg: f64, lon_deg: f64, alt_m: f64) -> (f64, f64, f64) {
[INFO] [stdout] 82 | |     let a = 6378137.0;
[INFO] [stdout] 83 | |     let f = 1.0 / 298.257_223_563;
[INFO] [stdout] 84 | |     let e2 = f * (2.0 - f);
[INFO] [stdout] ...  |
[INFO] [stdout] 93 | |     (x, y, z)
[INFO] [stdout] 94 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Convert geodetic (lat, lon, alt) to ECEF.`
[INFO] [stdout]    = help: ends near `Convert geodetic (lat, lon, alt) to ECEF.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / pub fn llh_to_ecef(llh: Llh) -> Ecef {
[INFO] [stdout] 44 | |     let (x, y, z) = geodetic_to_ecef(llh.lat_deg, llh.lon_deg, llh.alt_m);
[INFO] [stdout] 45 | |     Ecef { x_m: x, y_m: y, z_m: z }
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Geodetic utilities (WGS-84).`
[INFO] [stdout]    = help: ends near `Convert geodetic to ECEF.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / pub fn llh_to_ecef(llh: Llh) -> Ecef {
[INFO] [stdout] 44 | |     let (x, y, z) = geodetic_to_ecef(llh.lat_deg, llh.lon_deg, llh.alt_m);
[INFO] [stdout] 45 | |     Ecef { x_m: x, y_m: y, z_m: z }
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Convert geodetic to ECEF.`
[INFO] [stdout]    = help: ends near `Convert geodetic to ECEF.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub struct Ecef {
[INFO] [stdout]  6 | |     /// X coordinate in meters.
[INFO] [stdout]  7 | |     pub x_m: f64,
[INFO] [stdout]  8 | |     /// Y coordinate in meters.
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | |     pub z_m: f64,
[INFO] [stdout] 12 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Geodetic utilities (WGS-84).`
[INFO] [stdout]    = help: ends near `ECEF coordinate (meters).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub struct Ecef {
[INFO] [stdout]  6 | |     /// X coordinate in meters.
[INFO] [stdout]  7 | |     pub x_m: f64,
[INFO] [stdout]  8 | |     /// Y coordinate in meters.
[INFO] [stdout] ...  |
[INFO] [stdout] 11 | |     pub z_m: f64,
[INFO] [stdout] 12 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `ECEF coordinate (meters).`
[INFO] [stdout]    = help: ends near `ECEF coordinate (meters).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | / pub struct Enu {
[INFO] [stdout] 28 | |     /// East component in meters.
[INFO] [stdout] 29 | |     pub e_m: f64,
[INFO] [stdout] 30 | |     /// North component in meters.
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |     pub u_m: f64,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Geodetic utilities (WGS-84).`
[INFO] [stdout]    = help: ends near `Local ENU coordinate (meters).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | / pub struct Enu {
[INFO] [stdout] 28 | |     /// East component in meters.
[INFO] [stdout] 29 | |     pub e_m: f64,
[INFO] [stdout] 30 | |     /// North component in meters.
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |     pub u_m: f64,
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Local ENU coordinate (meters).`
[INFO] [stdout]    = help: ends near `Local ENU coordinate (meters).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub struct Llh {
[INFO] [stdout] 17 | |     /// Latitude in degrees.
[INFO] [stdout] 18 | |     pub lat_deg: f64,
[INFO] [stdout] 19 | |     /// Longitude in degrees.
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub alt_m: f64,
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Geodetic utilities (WGS-84).`
[INFO] [stdout]    = help: ends near `Geodetic coordinate (degrees, meters).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/geo.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub struct Llh {
[INFO] [stdout] 17 | |     /// Latitude in degrees.
[INFO] [stdout] 18 | |     pub lat_deg: f64,
[INFO] [stdout] 19 | |     /// Longitude in degrees.
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     pub alt_m: f64,
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Geodetic coordinate (degrees, meters).`
[INFO] [stdout]    = help: ends near `Geodetic coordinate (degrees, meters).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub fn default_signal_band_for_constellation(constellation: Constellation) -> SignalBand {
[INFO] [stdout] 173 | |     match constellation {
[INFO] [stdout] 174 | |         Constellation::Gps => SignalBand::L1,
[INFO] [stdout] 175 | |         Constellation::Galileo => SignalBand::E1,
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]     = help: ends near `Return the default civil tracking band used for a constellation when no explicit signal is given.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub fn default_signal_band_for_constellation(constellation: Constellation) -> SignalBand {
[INFO] [stdout] 173 | |     match constellation {
[INFO] [stdout] 174 | |         Constellation::Gps => SignalBand::L1,
[INFO] [stdout] 175 | |         Constellation::Galileo => SignalBand::E1,
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Return the default civil tracking band used for a constellation when no explicit signal is given.`
[INFO] [stdout]     = help: ends near `Return the default civil tracking band used for a constellation when no explicit signal is given.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | / pub fn format_sat(sat: SatId) -> String {
[INFO] [stdout] 153 | |     format!("{:?}-{}", sat.constellation, sat.prn)
[INFO] [stdout] 154 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]     = help: ends near `Format a satellite ID as `<Constellation>-<PRN>`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | / pub fn format_sat(sat: SatId) -> String {
[INFO] [stdout] 153 | |     format!("{:?}-{}", sat.constellation, sat.prn)
[INFO] [stdout] 154 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Format a satellite ID as `<Constellation>-<PRN>`.`
[INFO] [stdout]     = help: ends near `Format a satellite ID as `<Constellation>-<PRN>`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | / pub fn glonass_slot_from_sat(sat: SatId) -> Option<GlonassSlot> {
[INFO] [stdout] 163 | |     (sat.constellation == Constellation::Glonass).then(|| GlonassSlot::new(sat.prn)).flatten()
[INFO] [stdout] 164 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]     = help: ends near `Extract a validated GLONASS slot from one satellite ID.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | / pub fn glonass_slot_from_sat(sat: SatId) -> Option<GlonassSlot> {
[INFO] [stdout] 163 | |     (sat.constellation == Constellation::Glonass).then(|| GlonassSlot::new(sat.prn)).flatten()
[INFO] [stdout] 164 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Extract a validated GLONASS slot from one satellite ID.`
[INFO] [stdout]     = help: ends near `Extract a validated GLONASS slot from one satellite ID.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:157:1
[INFO] [stdout]     |
[INFO] [stdout] 157 | / pub fn glonass_slot_sat(slot: GlonassSlot) -> SatId {
[INFO] [stdout] 158 | |     SatId { constellation: Constellation::Glonass, prn: slot.value() }
[INFO] [stdout] 159 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]     = help: ends near `Build a GLONASS satellite identifier from a validated orbital slot.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:157:1
[INFO] [stdout]     |
[INFO] [stdout] 157 | / pub fn glonass_slot_sat(slot: GlonassSlot) -> SatId {
[INFO] [stdout] 158 | |     SatId { constellation: Constellation::Glonass, prn: slot.value() }
[INFO] [stdout] 159 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Build a GLONASS satellite identifier from a validated orbital slot.`
[INFO] [stdout]     = help: ends near `Build a GLONASS satellite identifier from a validated orbital slot.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:167:1
[INFO] [stdout]     |
[INFO] [stdout] 167 | / pub fn prns_to_sats(prns: &[u8]) -> Vec<SatId> {
[INFO] [stdout] 168 | |     prns.iter().map(|&prn| SatId { constellation: Constellation::Gps, prn }).collect()
[INFO] [stdout] 169 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]     = help: ends near `Convert GPS PRNs into satellite IDs.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:167:1
[INFO] [stdout]     |
[INFO] [stdout] 167 | / pub fn prns_to_sats(prns: &[u8]) -> Vec<SatId> {
[INFO] [stdout] 168 | |     prns.iter().map(|&prn| SatId { constellation: Constellation::Gps, prn }).collect()
[INFO] [stdout] 169 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Convert GPS PRNs into satellite IDs.`
[INFO] [stdout]     = help: ends near `Convert GPS PRNs into satellite IDs.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | / pub fn sort_obs_sats(epoch: &mut crate::api::ObsEpoch) {
[INFO] [stdout] 141 | |     epoch.sats.sort_by_key(|sat| {
[INFO] [stdout] 142 | |         (
[INFO] [stdout] 143 | |             constellation_rank(sat.signal_id.sat.constellation),
[INFO] [stdout] ...   |
[INFO] [stdout] 148 | |     });
[INFO] [stdout] 149 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]     = help: ends near `Sort satellites within an observation epoch in-place.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | / pub fn sort_obs_sats(epoch: &mut crate::api::ObsEpoch) {
[INFO] [stdout] 141 | |     epoch.sats.sort_by_key(|sat| {
[INFO] [stdout] 142 | |         (
[INFO] [stdout] 143 | |             constellation_rank(sat.signal_id.sat.constellation),
[INFO] [stdout] ...   |
[INFO] [stdout] 148 | |     });
[INFO] [stdout] 149 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Sort satellites within an observation epoch in-place.`
[INFO] [stdout]     = help: ends near `Sort satellites within an observation epoch in-place.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | / pub fn sort_sat_ids(ids: &mut [SatId]) {
[INFO] [stdout] 124 | |     ids.sort_by_key(|sat| (constellation_rank(sat.constellation), sat.prn));
[INFO] [stdout] 125 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]     = help: ends near `Sort satellite IDs in-place by (constellation, prn).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | / pub fn sort_sat_ids(ids: &mut [SatId]) {
[INFO] [stdout] 124 | |     ids.sort_by_key(|sat| (constellation_rank(sat.constellation), sat.prn));
[INFO] [stdout] 125 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Sort satellite IDs in-place by (constellation, prn).`
[INFO] [stdout]     = help: ends near `Sort satellite IDs in-place by (constellation, prn).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | / pub fn sort_sig_ids(ids: &mut [SigId]) {
[INFO] [stdout] 129 | |     ids.sort_by_key(|sig| {
[INFO] [stdout] 130 | |         (
[INFO] [stdout] 131 | |             constellation_rank(sig.sat.constellation),
[INFO] [stdout] ...   |
[INFO] [stdout] 136 | |     });
[INFO] [stdout] 137 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]     = help: ends near `Sort signal IDs in-place by (constellation, prn, band, code).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/ids.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | / pub fn sort_sig_ids(ids: &mut [SigId]) {
[INFO] [stdout] 129 | |     ids.sort_by_key(|sig| {
[INFO] [stdout] 130 | |         (
[INFO] [stdout] 131 | |             constellation_rank(sig.sat.constellation),
[INFO] [stdout] ...   |
[INFO] [stdout] 136 | |     });
[INFO] [stdout] 137 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Sort signal IDs in-place by (constellation, prn, band, code).`
[INFO] [stdout]     = help: ends near `Sort signal IDs in-place by (constellation, prn, band, code).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ids.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct GlonassFrequencyChannel(i8);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]    = help: ends near `GLONASS FDMA carrier channel number.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ids.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct GlonassFrequencyChannel(i8);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `GLONASS FDMA carrier channel number.`
[INFO] [stdout]    = help: ends near `GLONASS FDMA carrier channel number.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ids.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | / pub struct GlonassL1FdmaSignal {
[INFO] [stdout] 57 | |     pub slot: GlonassSlot,
[INFO] [stdout] 58 | |     pub frequency_channel: GlonassFrequencyChannel,
[INFO] [stdout] 59 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]    = help: ends near `Concrete GLONASS L1 FDMA signal identity.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ids.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | / pub struct GlonassL1FdmaSignal {
[INFO] [stdout] 57 | |     pub slot: GlonassSlot,
[INFO] [stdout] 58 | |     pub frequency_channel: GlonassFrequencyChannel,
[INFO] [stdout] 59 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Concrete GLONASS L1 FDMA signal identity.`
[INFO] [stdout]    = help: ends near `Concrete GLONASS L1 FDMA signal identity.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ids.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct GlonassSlot(u8);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]    = help: ends near `One-based GLONASS orbital slot identifier.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ids.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct GlonassSlot(u8);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `One-based GLONASS orbital slot identifier.`
[INFO] [stdout]    = help: ends near `One-based GLONASS orbital slot identifier.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ids.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 | / pub struct SatId {
[INFO] [stdout]  8 | |     pub constellation: Constellation,
[INFO] [stdout]  9 | |     pub prn: u8,
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Identity types and signal definitions.`
[INFO] [stdout]    = help: ends near `Strict satellite identity (constellation + PRN).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/ids.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 | / pub struct SatId {
[INFO] [stdout]  8 | |     pub constellation: Constellation,
[INFO] [stdout]  9 | |     pub prn: u8,
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Strict satellite identity (constellation + PRN).`
[INFO] [stdout]    = help: ends near `Strict satellite identity (constellation + PRN).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/stats.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | / pub fn lla_to_ecef(lat_deg: f64, lon_deg: f64, alt_m: f64) -> (f64, f64, f64) {
[INFO] [stdout] 38 | |     let a = 6378137.0;
[INFO] [stdout] 39 | |     let f = 1.0 / 298.257_223_563;
[INFO] [stdout] 40 | |     let e2 = f * (2.0 - f);
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | |     (x, y, z)
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Statistical summaries.`
[INFO] [stdout]    = help: ends near `Convert LLA to ECEF (WGS-84).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/stats.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | / pub fn lla_to_ecef(lat_deg: f64, lon_deg: f64, alt_m: f64) -> (f64, f64, f64) {
[INFO] [stdout] 38 | |     let a = 6378137.0;
[INFO] [stdout] 39 | |     let f = 1.0 / 298.257_223_563;
[INFO] [stdout] 40 | |     let e2 = f * (2.0 - f);
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | |     (x, y, z)
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Convert LLA to ECEF (WGS-84).`
[INFO] [stdout]    = help: ends near `Convert LLA to ECEF (WGS-84).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/stats.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | / pub fn stats(values: &[f64]) -> StatsSummary {
[INFO] [stdout] 22 | |     if values.is_empty() {
[INFO] [stdout] 23 | |         return StatsSummary { count: 0, mean: 0.0, median: 0.0, rms: 0.0, p95: 0.0, max: 0.0 };
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |     StatsSummary { count, mean, median, rms, p95, max }
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Statistical summaries.`
[INFO] [stdout]    = help: ends near `Compute stats for a collection of values.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/stats.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | / pub fn stats(values: &[f64]) -> StatsSummary {
[INFO] [stdout] 22 | |     if values.is_empty() {
[INFO] [stdout] 23 | |         return StatsSummary { count: 0, mean: 0.0, median: 0.0, rms: 0.0, p95: 0.0, max: 0.0 };
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |     StatsSummary { count, mean, median, rms, p95, max }
[INFO] [stdout] 34 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Compute stats for a collection of values.`
[INFO] [stdout]    = help: ends near `Compute stats for a collection of values.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/stats.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub struct StatsSummary {
[INFO] [stdout]  6 | |     /// Count of values.
[INFO] [stdout]  7 | |     pub count: usize,
[INFO] [stdout]  8 | |     /// Mean value.
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     pub max: f64,
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Statistical summaries.`
[INFO] [stdout]    = help: ends near `Summary statistics for error distributions.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/stats.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub struct StatsSummary {
[INFO] [stdout]  6 | |     /// Count of values.
[INFO] [stdout]  7 | |     pub count: usize,
[INFO] [stdout]  8 | |     /// Mean value.
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     pub max: f64,
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Summary statistics for error distributions.`
[INFO] [stdout]    = help: ends near `Summary statistics for error distributions.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/time.rs:133:1
[INFO] [stdout]     |
[INFO] [stdout] 133 | / pub struct LeapSecondEntry {
[INFO] [stdout] 134 | |     pub utc_unix_s: i64,
[INFO] [stdout] 135 | |     pub offset_s: i32,
[INFO] [stdout] 136 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Time and epoch structures.`
[INFO] [stdout]     = help: ends near `Single leap second table entry.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/time.rs:133:1
[INFO] [stdout]     |
[INFO] [stdout] 133 | / pub struct LeapSecondEntry {
[INFO] [stdout] 134 | |     pub utc_unix_s: i64,
[INFO] [stdout] 135 | |     pub offset_s: i32,
[INFO] [stdout] 136 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Single leap second table entry.`
[INFO] [stdout]     = help: ends near `Single leap second table entry.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | / pub fn chips_to_seconds(chips: Chips, code_rate: Hertz) -> Seconds {
[INFO] [stdout] 72 | |     Seconds(chips.0 / code_rate.0)
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Strong units for physical quantities.`
[INFO] [stdout]    = help: ends near `Convert code chips to seconds given code rate in Hz.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | / pub fn chips_to_seconds(chips: Chips, code_rate: Hertz) -> Seconds {
[INFO] [stdout] 72 | |     Seconds(chips.0 / code_rate.0)
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Convert code chips to seconds given code rate in Hz.`
[INFO] [stdout]    = help: ends near `Convert code chips to seconds given code rate in Hz.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / pub fn cycles_to_meters(cycles: Cycles, wavelength_m: Meters) -> Meters {
[INFO] [stdout] 82 | |     Meters(cycles.0 * wavelength_m.0)
[INFO] [stdout] 83 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Strong units for physical quantities.`
[INFO] [stdout]    = help: ends near `Convert carrier cycles to meters given carrier wavelength.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / pub fn cycles_to_meters(cycles: Cycles, wavelength_m: Meters) -> Meters {
[INFO] [stdout] 82 | |     Meters(cycles.0 * wavelength_m.0)
[INFO] [stdout] 83 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Convert carrier cycles to meters given carrier wavelength.`
[INFO] [stdout]    = help: ends near `Convert carrier cycles to meters given carrier wavelength.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | / pub fn hz_to_rad_per_sec(freq: Hertz) -> f64 {
[INFO] [stdout] 92 | |     freq.0 * std::f64::consts::TAU
[INFO] [stdout] 93 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Strong units for physical quantities.`
[INFO] [stdout]    = help: ends near `Convert Hertz to radians per second.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | / pub fn hz_to_rad_per_sec(freq: Hertz) -> f64 {
[INFO] [stdout] 92 | |     freq.0 * std::f64::consts::TAU
[INFO] [stdout] 93 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Convert Hertz to radians per second.`
[INFO] [stdout]    = help: ends near `Convert Hertz to radians per second.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Chips(pub f64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Strong units for physical quantities.`
[INFO] [stdout]    = help: ends near `Chips (code).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Chips(pub f64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Chips (code).`
[INFO] [stdout]    = help: ends near `Chips (code).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Cycles(pub f64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Strong units for physical quantities.`
[INFO] [stdout]    = help: ends near `Cycles (carrier phase).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Cycles(pub f64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Cycles (carrier phase).`
[INFO] [stdout]    = help: ends near `Cycles (carrier phase).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Hertz(pub f64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Strong units for physical quantities.`
[INFO] [stdout]    = help: ends near `Hertz.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Hertz(pub f64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Hertz.`
[INFO] [stdout]    = help: ends near `Hertz.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]  --> src/units.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Meters(pub f64);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the way this is parsed might change in the future
[INFO] [stdout]   = help: starts near `Strong units for physical quantities.`
[INFO] [stdout]   = help: ends near `Meters.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]  --> src/units.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Meters(pub f64);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the way this is parsed might change in the future
[INFO] [stdout]   = help: starts near `Meters.`
[INFO] [stdout]   = help: ends near `Meters.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MetersPerSecond(pub f64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Strong units for physical quantities.`
[INFO] [stdout]    = help: ends near `Meters per second.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MetersPerSecond(pub f64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Meters per second.`
[INFO] [stdout]    = help: ends near `Meters per second.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Seconds(pub f64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Strong units for physical quantities.`
[INFO] [stdout]    = help: ends near `Seconds.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/units.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Seconds(pub f64);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Seconds.`
[INFO] [stdout]    = help: ends near `Seconds.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `bijux-gnss-core`
[INFO] running `Command { std: "docker" "inspect" "4d11b406673fc2eba9773f8e63e007550c19d8f3946666c7e9e875a48dbd794c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d11b406673fc2eba9773f8e63e007550c19d8f3946666c7e9e875a48dbd794c", kill_on_drop: false }`
[INFO] [stdout] 4d11b406673fc2eba9773f8e63e007550c19d8f3946666c7e9e875a48dbd794c
