[INFO] fetching crate rust-hdl 0.46.0...
[INFO] checking rust-hdl-0.46.0 against try#94382f34384023f3d2062a34ccf0bb6b4d44a75a for mutual-coercion
[INFO] extracting crate rust-hdl 0.46.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate rust-hdl 0.46.0
[INFO] finished tweaking crates.io crate rust-hdl 0.46.0
[INFO] tweaked toml for crates.io crate rust-hdl 0.46.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rust-hdl 0.46.0 on toolchain 94382f34384023f3d2062a34ccf0bb6b4d44a75a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+94382f34384023f3d2062a34ccf0bb6b4d44a75a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+94382f34384023f3d2062a34ccf0bb6b4d44a75a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 50 packages to latest compatible versions
[INFO] [stderr]       Adding evalexpr v6.6.0 (available: v13.1.0)
[INFO] [stderr]       Adding petgraph v0.6.5 (available: v0.8.3)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] [stderr]       Adding svg v0.10.0 (available: v0.18.0)
[INFO] [stderr]       Adding vcd v0.6.1 (available: v0.7.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+94382f34384023f3d2062a34ccf0bb6b4d44a75a" "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/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+94382f34384023f3d2062a34ccf0bb6b4d44a75a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d60258eb46b1dbe2313995bc9597f79ec78790a553f56d6cf52f30495341542d
[INFO] running `Command { std: "docker" "start" "-a" "d60258eb46b1dbe2313995bc9597f79ec78790a553f56d6cf52f30495341542d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d60258eb46b1dbe2313995bc9597f79ec78790a553f56d6cf52f30495341542d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d60258eb46b1dbe2313995bc9597f79ec78790a553f56d6cf52f30495341542d", kill_on_drop: false }`
[INFO] [stdout] d60258eb46b1dbe2313995bc9597f79ec78790a553f56d6cf52f30495341542d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+94382f34384023f3d2062a34ccf0bb6b4d44a75a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 864ab2e20639ed7c3a911a604b9328c0dfe0c4e9584fbf7659cf092420f4e1d6
[INFO] running `Command { std: "docker" "start" "-a" "864ab2e20639ed7c3a911a604b9328c0dfe0c4e9584fbf7659cf092420f4e1d6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling substring v1.4.5
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking vcd v0.6.1
[INFO] [stderr]     Checking array-init v2.1.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking svg v0.10.0
[INFO] [stderr]     Checking evalexpr v6.6.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling embed-doc-image v0.1.4
[INFO] [stderr]    Compiling rust-hdl-macros v0.46.0
[INFO] [stderr]     Checking rust-hdl-core v0.46.0
[INFO] [stderr]     Checking rust-hdl-widgets v0.46.0
[INFO] [stderr]     Checking rust-hdl-sim v0.46.0
[INFO] [stderr]     Checking rust-hdl-hls v0.46.0
[INFO] [stderr]     Checking rust-hdl v0.46.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `ok`
[INFO] [stdout]     --> src/lib.rs:1989:7
[INFO] [stdout]      |
[INFO] [stdout] 1989 | #[cfg(feature = "ok")]
[INFO] [stdout]      |       ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `fpga`
[INFO] [stdout]      = help: consider adding `ok` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `ok`
[INFO] [stdout]     --> src/lib.rs:1991:7
[INFO] [stdout]      |
[INFO] [stdout] 1991 | #[cfg(feature = "ok")]
[INFO] [stdout]      |       ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `fpga`
[INFO] [stdout]      = help: consider adding `ok` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::docs::vcd2svg::vcd_to_svg`
[INFO] [stdout]  --> src/docs/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::docs::vcd2svg::vcd_to_svg;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::docs::vcd2svg::renderable::Renderable`
[INFO] [stdout]  --> src/docs/vcd2svg/display_metrics.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::docs::vcd2svg::renderable::Renderable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::docs::vcd2svg::symbols`
[INFO] [stdout]  --> src/docs/vcd2svg/text_frame.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::docs::vcd2svg::symbols;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `ok`
[INFO] [stdout]     --> src/lib.rs:1989:7
[INFO] [stdout]      |
[INFO] [stdout] 1989 | #[cfg(feature = "ok")]
[INFO] [stdout]      |       ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `fpga`
[INFO] [stdout]      = help: consider adding `ok` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]      = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `ok`
[INFO] [stdout]     --> src/lib.rs:1991:7
[INFO] [stdout]      |
[INFO] [stdout] 1991 | #[cfg(feature = "ok")]
[INFO] [stdout]      |       ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected values for `feature` are: `fpga`
[INFO] [stdout]      = help: consider adding `ok` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::docs::vcd2svg::vcd_to_svg`
[INFO] [stdout]  --> src/docs/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::docs::vcd2svg::vcd_to_svg;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::docs::vcd2svg::renderable::Renderable`
[INFO] [stdout]  --> src/docs/vcd2svg/display_metrics.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::docs::vcd2svg::renderable::Renderable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::docs::vcd2svg::renderable::Renderable`
[INFO] [stdout]  --> src/docs/vcd2svg/time_view.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::docs::vcd2svg::renderable::Renderable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::docs::vcd2svg::renderable::Renderable`
[INFO] [stdout]  --> src/docs/vcd2svg/time_view.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::docs::vcd2svg::renderable::Renderable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut bin = &mut bins[ndx];
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut bin = &mut bins[ndx];
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `major_tick_distance` is never used
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl DisplayMetrics {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn major_tick_distance(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bin_edges` is never used
[INFO] [stdout]   --> src/docs/vcd2svg/trace_collection.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn bin_edges(first_time: u64, last_time: u64, num_bins: usize) -> Vec<(u64, u64)> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]     --> src/docs/mod.rs:73:1
[INFO] [stdout]      |
[INFO] [stdout]   73 | pub mod vcd2svg;
[INFO] [stdout]      | ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]     --> src/lib.rs:1974:9
[INFO] [stdout]      |
[INFO] [stdout] 1974 | #![warn(missing_docs)]
[INFO] [stdout]      |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/docs/vcd2svg/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod display_metrics;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/docs/vcd2svg/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod symbols;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/docs/vcd2svg/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod text_frame;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/docs/vcd2svg/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod trace_collection;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/docs/vcd2svg/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub mod vcd_style;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/docs/vcd2svg/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub fn vcd_to_svg(
[INFO] [stdout] 17 | |     vcd_filename: &str,
[INFO] [stdout] 18 | |     svg_filename: &str,
[INFO] [stdout] 19 | |     signal_names: &[&str],
[INFO] [stdout] 20 | |     min_time_in_ps: u64,
[INFO] [stdout] 21 | |     max_time_in_ps: u64,
[INFO] [stdout] 22 | | ) -> anyhow::Result<()> {
[INFO] [stdout]    | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/docs/vcd2svg/mod.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / pub fn vcd_to_txt(
[INFO] [stdout] 35 | |     vcd_filename: &str,
[INFO] [stdout] 36 | |     signal_names: &[&str],
[INFO] [stdout] 37 | |     min_time_in_ps: u64,
[INFO] [stdout] 38 | |     max_time_in_ps: u64,
[INFO] [stdout] 39 | |     max_columns: u64,
[INFO] [stdout] 40 | | ) -> anyhow::Result<String> {
[INFO] [stdout]    | |___________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/docs/vcd2svg/display_metrics.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct DisplayMetrics {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub signal_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub signal_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub timescale_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub tick_half_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub timescale_midline: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub canvas_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub canvas_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub shim: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub label_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub min_time: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub max_time: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub style: VCDStyle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn major_x0(&self, major: u64) -> Option<u32> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn minor_x0(&self, major: u64, minor: u32) -> Option<u32> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/docs/vcd2svg/display_metrics.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn signal_baseline(&self, index: usize) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const VERTICAL: char = '│';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const HORIZONTAL: char = '─';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const TOP_RIGHT: char = '┐';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const TOP_LEFT: char = '┌';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const BOTTOM_RIGHT: char = '┘';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const BOTTOM_LEFT: char = '└';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const HORIZONTAL_DOWN: char = '┬';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const HORIZONTAL_UP: char = '┴';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const UP: char = '^';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DOWN: char = 'v';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const DOUBLE_UP: char = '▲';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const DOUBLE_DOWN: char = '▼';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const LIGHT_UPPER: char = '╨';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const LIGHT_LOWER: char = '╥';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const LIGHT: char = '║';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const MEDIUM_UPPER: char = '┸';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const MEDIUM_LOWER: char = '┰';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const MEDIUM: char = '┃';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const FULL_UPPER: char = '▀';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const FULL_LOWER: char = '▄';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const FULL: char = '█';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const BLANK: char = ' ';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/docs/vcd2svg/text_frame.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TextFrame {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/docs/vcd2svg/text_frame.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(columns: usize) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/docs/vcd2svg/text_frame.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn row(&mut self, row: usize) -> &mut [char] {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/docs/vcd2svg/text_frame.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn write(&mut self, row: usize, col: usize, msg: &str) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/docs/vcd2svg/text_frame.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn put(&mut self, row: usize, col: usize, x: char) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct TraceCollection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub signal_names: Vec<(IdCode, String)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub string_valued: HashMap<IdCode, StringTrace>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub vector_valued: HashMap<IdCode, VectorTrace>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub scalar_valued: HashMap<IdCode, BinaryTrace>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn parse(signals: &[&str], mut file: File) -> anyhow::Result<Self> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn as_svg(&self, metrics: &DisplayMetrics) -> anyhow::Result<Document> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 | /     pub fn as_string(
[INFO] [stdout] 220 | |         &self,
[INFO] [stdout] 221 | |         first_time: u64,
[INFO] [stdout] 222 | |         last_time: u64,
[INFO] [stdout] 223 | |         max_columns: usize,
[INFO] [stdout] 224 | |     ) -> anyhow::Result<String> {
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct VCDStyle {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pub background_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub trace_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub timeline_background_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub timeline_line_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub timeline_tick_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub signal_label_background_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub grid_lines: Option<String>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/docs/vcd2svg/vcd_style.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn scansion() -> VCDStyle {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/docs/vcd2svg/vcd_style.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn gtkwave() -> VCDStyle {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `major_tick_distance` is never used
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl DisplayMetrics {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn major_tick_distance(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bin_edges` is never used
[INFO] [stdout]   --> src/docs/vcd2svg/trace_collection.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn bin_edges(first_time: u64, last_time: u64, num_bins: usize) -> Vec<(u64, u64)> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]     --> src/docs/mod.rs:73:1
[INFO] [stdout]      |
[INFO] [stdout]   73 | pub mod vcd2svg;
[INFO] [stdout]      | ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]     --> src/lib.rs:1974:9
[INFO] [stdout]      |
[INFO] [stdout] 1974 | #![warn(missing_docs)]
[INFO] [stdout]      |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/docs/vcd2svg/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod display_metrics;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/docs/vcd2svg/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod symbols;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/docs/vcd2svg/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod text_frame;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/docs/vcd2svg/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod trace_collection;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/docs/vcd2svg/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub mod vcd_style;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/docs/vcd2svg/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub fn vcd_to_svg(
[INFO] [stdout] 17 | |     vcd_filename: &str,
[INFO] [stdout] 18 | |     svg_filename: &str,
[INFO] [stdout] 19 | |     signal_names: &[&str],
[INFO] [stdout] 20 | |     min_time_in_ps: u64,
[INFO] [stdout] 21 | |     max_time_in_ps: u64,
[INFO] [stdout] 22 | | ) -> anyhow::Result<()> {
[INFO] [stdout]    | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/docs/vcd2svg/mod.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / pub fn vcd_to_txt(
[INFO] [stdout] 35 | |     vcd_filename: &str,
[INFO] [stdout] 36 | |     signal_names: &[&str],
[INFO] [stdout] 37 | |     min_time_in_ps: u64,
[INFO] [stdout] 38 | |     max_time_in_ps: u64,
[INFO] [stdout] 39 | |     max_columns: u64,
[INFO] [stdout] 40 | | ) -> anyhow::Result<String> {
[INFO] [stdout]    | |___________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/docs/vcd2svg/display_metrics.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct DisplayMetrics {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub signal_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub signal_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub timescale_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub tick_half_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub timescale_midline: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub canvas_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub canvas_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub shim: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub label_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub min_time: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub max_time: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub style: VCDStyle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn major_x0(&self, major: u64) -> Option<u32> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/docs/vcd2svg/display_metrics.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn minor_x0(&self, major: u64, minor: u32) -> Option<u32> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/docs/vcd2svg/display_metrics.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn signal_baseline(&self, index: usize) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const VERTICAL: char = '│';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const HORIZONTAL: char = '─';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const TOP_RIGHT: char = '┐';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const TOP_LEFT: char = '┌';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const BOTTOM_RIGHT: char = '┘';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const BOTTOM_LEFT: char = '└';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const HORIZONTAL_DOWN: char = '┬';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/docs/vcd2svg/symbols.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const HORIZONTAL_UP: char = '┴';
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const UP: char = '^';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DOWN: char = 'v';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const DOUBLE_UP: char = '▲';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const DOUBLE_DOWN: char = '▼';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const LIGHT_UPPER: char = '╨';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const LIGHT_LOWER: char = '╥';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const LIGHT: char = '║';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const MEDIUM_UPPER: char = '┸';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const MEDIUM_LOWER: char = '┰';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const MEDIUM: char = '┃';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const FULL_UPPER: char = '▀';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const FULL_LOWER: char = '▄';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const FULL: char = '█';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/docs/vcd2svg/symbols.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const BLANK: char = ' ';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/docs/vcd2svg/text_frame.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TextFrame {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/docs/vcd2svg/text_frame.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(columns: usize) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/docs/vcd2svg/text_frame.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn row(&mut self, row: usize) -> &mut [char] {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/docs/vcd2svg/text_frame.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn write(&mut self, row: usize, col: usize, msg: &str) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/docs/vcd2svg/text_frame.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn put(&mut self, row: usize, col: usize, x: char) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct TraceCollection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub signal_names: Vec<(IdCode, String)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub string_valued: HashMap<IdCode, StringTrace>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub vector_valued: HashMap<IdCode, VectorTrace>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub scalar_valued: HashMap<IdCode, BinaryTrace>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn parse(signals: &[&str], mut file: File) -> anyhow::Result<Self> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn as_svg(&self, metrics: &DisplayMetrics) -> anyhow::Result<Document> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/docs/vcd2svg/trace_collection.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 | /     pub fn as_string(
[INFO] [stdout] 220 | |         &self,
[INFO] [stdout] 221 | |         first_time: u64,
[INFO] [stdout] 222 | |         last_time: u64,
[INFO] [stdout] 223 | |         max_columns: usize,
[INFO] [stdout] 224 | |     ) -> anyhow::Result<String> {
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct VCDStyle {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pub background_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub trace_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub timeline_background_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub timeline_line_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub timeline_tick_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub signal_label_background_color: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/docs/vcd2svg/vcd_style.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub grid_lines: Option<String>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/docs/vcd2svg/vcd_style.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn scansion() -> VCDStyle {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/docs/vcd2svg/vcd_style.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn gtkwave() -> VCDStyle {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `dyn rust_hdl::prelude::HLSNamedPorts: Default` is not satisfied
[INFO] [stdout]    --> tests/core_hls_router_stack.rs:273:49
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let debugs = array_init::array_init(|_| Default::default());
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `dyn rust_hdl::prelude::HLSNamedPorts` cannot be known at compilation time
[INFO] [stdout]    --> tests/core_hls_router_stack.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 |             [&debugs[0], &debugs[1], &debugs[2], &debugs[3]],
[INFO] [stdout]     |               ^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout]     = note: required for `[dyn rust_hdl::prelude::HLSNamedPorts; _]` to implement `std::ops::Index<usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `dyn rust_hdl::prelude::HLSNamedPorts` cannot be known at compilation time
[INFO] [stdout]    --> tests/core_hls_router_stack.rs:276:27
[INFO] [stdout]     |
[INFO] [stdout] 276 |             [&debugs[0], &debugs[1], &debugs[2], &debugs[3]],
[INFO] [stdout]     |                           ^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout]     = note: required for `[dyn rust_hdl::prelude::HLSNamedPorts; _]` to implement `std::ops::Index<usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `dyn rust_hdl::prelude::HLSNamedPorts` cannot be known at compilation time
[INFO] [stdout]    --> tests/core_hls_router_stack.rs:273:22
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let debugs = array_init::array_init(|_| Default::default());
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout] note: required by an implicit `Sized` bound in `array_init`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/array-init-2.1.0/src/lib.rs:70:22
[INFO] [stdout]     |
[INFO] [stdout]  70 | pub fn array_init<F, T, const N: usize>(mut initializer: F) -> [T; N]
[INFO] [stdout]     |                      ^ required by the implicit `Sized` requirement on this type parameter in `array_init`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `[dyn rust_hdl::prelude::HLSNamedPorts]` cannot be indexed by `_`
[INFO] [stdout]    --> tests/core_hls_router_stack.rs:276:39
[INFO] [stdout]     |
[INFO] [stdout] 276 |             [&debugs[0], &debugs[1], &debugs[2], &debugs[3]],
[INFO] [stdout]     |                                       ^^^^^^ `[dyn rust_hdl::prelude::HLSNamedPorts]` cannot be indexed by `_`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `std::ops::Index<_>` is not implemented for `[dyn rust_hdl::prelude::HLSNamedPorts]`
[INFO] [stdout]     = help: the following other types implement trait `std::ops::Index<Idx>`:
[INFO] [stdout]               `[T]` implements `std::ops::Index<I>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<aho_corasick::util::primitives::PatternID>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<aho_corasick::util::primitives::SmallIndex>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<aho_corasick::util::primitives::StateID>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<regex_automata::util::primitives::PatternID>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<regex_automata::util::primitives::SmallIndex>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<regex_automata::util::primitives::StateID>`
[INFO] [stdout]               `[u8]` implements `std::ops::Index<aho_corasick::util::search::Span>`
[INFO] [stdout]             and 2 others
[INFO] [stdout]     = note: required for `[dyn rust_hdl::prelude::HLSNamedPorts; _]` to implement `std::ops::Index<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `dyn rust_hdl::prelude::HLSNamedPorts` cannot be known at compilation time
[INFO] [stdout]    --> tests/core_hls_router_stack.rs:276:39
[INFO] [stdout]     |
[INFO] [stdout] 276 |             [&debugs[0], &debugs[1], &debugs[2], &debugs[3]],
[INFO] [stdout]     |                                       ^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout]     = note: required for `[dyn rust_hdl::prelude::HLSNamedPorts; _]` to implement `std::ops::Index<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `[dyn rust_hdl::prelude::HLSNamedPorts]` cannot be indexed by `_`
[INFO] [stdout]    --> tests/core_hls_router_stack.rs:276:51
[INFO] [stdout]     |
[INFO] [stdout] 276 |             [&debugs[0], &debugs[1], &debugs[2], &debugs[3]],
[INFO] [stdout]     |                                                   ^^^^^^ `[dyn rust_hdl::prelude::HLSNamedPorts]` cannot be indexed by `_`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `std::ops::Index<_>` is not implemented for `[dyn rust_hdl::prelude::HLSNamedPorts]`
[INFO] [stdout]     = help: the following other types implement trait `std::ops::Index<Idx>`:
[INFO] [stdout]               `[T]` implements `std::ops::Index<I>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<aho_corasick::util::primitives::PatternID>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<aho_corasick::util::primitives::SmallIndex>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<aho_corasick::util::primitives::StateID>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<regex_automata::util::primitives::PatternID>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<regex_automata::util::primitives::SmallIndex>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<regex_automata::util::primitives::StateID>`
[INFO] [stdout]               `[u8]` implements `std::ops::Index<aho_corasick::util::search::Span>`
[INFO] [stdout]             and 2 others
[INFO] [stdout]     = note: required for `[dyn rust_hdl::prelude::HLSNamedPorts; _]` to implement `std::ops::Index<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `dyn rust_hdl::prelude::HLSNamedPorts` cannot be known at compilation time
[INFO] [stdout]    --> tests/core_hls_router_stack.rs:276:51
[INFO] [stdout]     |
[INFO] [stdout] 276 |             [&debugs[0], &debugs[1], &debugs[2], &debugs[3]],
[INFO] [stdout]     |                                                   ^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout]     = note: required for `[dyn rust_hdl::prelude::HLSNamedPorts; _]` to implement `std::ops::Index<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/core_hls_router_stack.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 276 |             [&debugs[0], &debugs[1], &debugs[2], &debugs[3]],
[INFO] [stdout]     |                           ------ here the type of `debugs` is inferred to be `[dyn rust_hdl::prelude::HLSNamedPorts; _]`
[INFO] [stdout] ...
[INFO] [stdout] 281 |             debugs,
[INFO] [stdout]     |             ^^^^^^ expected `[HLSTester; 4]`, found `[dyn HLSNamedPorts; _]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected array `[HLSTester; 4]`
[INFO] [stdout]                found array `[dyn rust_hdl::prelude::HLSNamedPorts; _]`
[INFO] [stdout]     = help: `HLSTester` implements `HLSNamedPorts` so you could change the expected type to `Box<dyn HLSNamedPorts>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `dyn rust_hdl::prelude::HLSNamedPorts: Default` is not satisfied
[INFO] [stdout]    --> tests/core_hls_router.rs:163:48
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let dev_a = array_init::array_init(|_| Default::default());
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `dyn rust_hdl::prelude::HLSNamedPorts` cannot be known at compilation time
[INFO] [stdout]    --> tests/core_hls_router.rs:167:42
[INFO] [stdout]     |
[INFO] [stdout] 167 |             router: Router::new(names, [&dev_a[0], &dev_a[1], &dev_a[2]]),
[INFO] [stdout]     |                                          ^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout]     = note: required for `[dyn rust_hdl::prelude::HLSNamedPorts; _]` to implement `std::ops::Index<usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `dyn rust_hdl::prelude::HLSNamedPorts` cannot be known at compilation time
[INFO] [stdout]    --> tests/core_hls_router.rs:167:53
[INFO] [stdout]     |
[INFO] [stdout] 167 |             router: Router::new(names, [&dev_a[0], &dev_a[1], &dev_a[2]]),
[INFO] [stdout]     |                                                     ^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout]     = note: required for `[dyn rust_hdl::prelude::HLSNamedPorts; _]` to implement `std::ops::Index<usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `dyn rust_hdl::prelude::HLSNamedPorts` cannot be known at compilation time
[INFO] [stdout]    --> tests/core_hls_router.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let dev_a = array_init::array_init(|_| Default::default());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout] note: required by an implicit `Sized` bound in `array_init`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/array-init-2.1.0/src/lib.rs:70:22
[INFO] [stdout]     |
[INFO] [stdout]  70 | pub fn array_init<F, T, const N: usize>(mut initializer: F) -> [T; N]
[INFO] [stdout]     |                      ^ required by the implicit `Sized` requirement on this type parameter in `array_init`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `[dyn rust_hdl::prelude::HLSNamedPorts]` cannot be indexed by `_`
[INFO] [stdout]    --> tests/core_hls_router.rs:167:64
[INFO] [stdout]     |
[INFO] [stdout] 167 |             router: Router::new(names, [&dev_a[0], &dev_a[1], &dev_a[2]]),
[INFO] [stdout]     |                                                                ^^^^^ `[dyn rust_hdl::prelude::HLSNamedPorts]` cannot be indexed by `_`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `std::ops::Index<_>` is not implemented for `[dyn rust_hdl::prelude::HLSNamedPorts]`
[INFO] [stdout]     = help: the following other types implement trait `std::ops::Index<Idx>`:
[INFO] [stdout]               `[T]` implements `std::ops::Index<I>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<aho_corasick::util::primitives::PatternID>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<aho_corasick::util::primitives::SmallIndex>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<aho_corasick::util::primitives::StateID>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<regex_automata::util::primitives::PatternID>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<regex_automata::util::primitives::SmallIndex>`
[INFO] [stdout]               `[T]` implements `std::ops::Index<regex_automata::util::primitives::StateID>`
[INFO] [stdout]               `[u8]` implements `std::ops::Index<aho_corasick::util::search::Span>`
[INFO] [stdout]             and 2 others
[INFO] [stdout]     = note: required for `[dyn rust_hdl::prelude::HLSNamedPorts; _]` to implement `std::ops::Index<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `dyn rust_hdl::prelude::HLSNamedPorts` cannot be known at compilation time
[INFO] [stdout]    --> tests/core_hls_router.rs:167:64
[INFO] [stdout]     |
[INFO] [stdout] 167 |             router: Router::new(names, [&dev_a[0], &dev_a[1], &dev_a[2]]),
[INFO] [stdout]     |                                                                ^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `dyn rust_hdl::prelude::HLSNamedPorts`
[INFO] [stdout]     = note: required for `[dyn rust_hdl::prelude::HLSNamedPorts; _]` to implement `std::ops::Index<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-hdl` (test "core_hls_router_stack") due to 9 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/core_hls_router.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             router: Router::new(names, [&dev_a[0], &dev_a[1], &dev_a[2]]),
[INFO] [stdout]     |                                                     ----- here the type of `dev_a` is inferred to be `[dyn rust_hdl::prelude::HLSNamedPorts; _]`
[INFO] [stdout] 168 |             dev_a,
[INFO] [stdout]     |             ^^^^^ expected `[RouterTestDevice; 3]`, found `[dyn HLSNamedPorts; _]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected array `[RouterTestDevice; 3]`
[INFO] [stdout]                found array `[dyn rust_hdl::prelude::HLSNamedPorts; _]`
[INFO] [stdout]     = help: `RouterTestDevice` implements `HLSNamedPorts` so you could change the expected type to `Box<dyn HLSNamedPorts>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-hdl` (test "core_hls_router") due to 7 previous errors
[INFO] running `Command { std: "docker" "inspect" "864ab2e20639ed7c3a911a604b9328c0dfe0c4e9584fbf7659cf092420f4e1d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "864ab2e20639ed7c3a911a604b9328c0dfe0c4e9584fbf7659cf092420f4e1d6", kill_on_drop: false }`
[INFO] [stdout] 864ab2e20639ed7c3a911a604b9328c0dfe0c4e9584fbf7659cf092420f4e1d6
