[INFO] fetching crate vyre 0.4.0...
[INFO] testing vyre-0.4.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate vyre 0.4.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate vyre 0.4.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate vyre 0.4.0
[INFO] tweaked toml for crates.io crate vyre 0.4.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate vyre 0.4.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate vyre 0.4.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" "+beta-2026-04-21" "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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] db126fc989183d45811dcdfe0ca3940b28f31614e8acf429f242ce296649694e
[INFO] running `Command { std: "docker" "start" "-a" "db126fc989183d45811dcdfe0ca3940b28f31614e8acf429f242ce296649694e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db126fc989183d45811dcdfe0ca3940b28f31614e8acf429f242ce296649694e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db126fc989183d45811dcdfe0ca3940b28f31614e8acf429f242ce296649694e", kill_on_drop: false }`
[INFO] [stdout] db126fc989183d45811dcdfe0ca3940b28f31614e8acf429f242ce296649694e
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 98278c312e106e8370a63fe7a97f46fa5fc39d6a2d52df543d549da761a27a8f
[INFO] running `Command { std: "docker" "start" "-a" "98278c312e106e8370a63fe7a97f46fa5fc39d6a2d52df543d549da761a27a8f", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling naga v24.0.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling wgpu-hal v24.0.4
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]    Compiling wgpu-core v24.0.5
[INFO] [stderr]    Compiling wgpu v24.0.5
[INFO] [stderr]    Compiling vyre-build-scan v0.1.0
[INFO] [stderr]    Compiling pollster v0.4.0
[INFO] [stderr]    Compiling gpu-alloc-types v0.3.0
[INFO] [stderr]    Compiling gpu-descriptor-types v0.2.0
[INFO] [stderr]    Compiling spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling wgpu-types v24.0.0
[INFO] [stderr]    Compiling gpu-alloc v0.6.0
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling gpu-descriptor v0.3.2
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling ordered-float v4.6.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling automod v1.0.16
[INFO] [stderr]    Compiling automoduse v1.0.0
[INFO] [stderr]    Compiling vyre v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> build.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | / use std::collections::{HashMap, HashSet};
[INFO] [stdout]   5 | | use std::env;
[INFO] [stdout]   6 | | use std::fs::{self, Metadata};
[INFO] [stdout]   7 | | use std::path::{Path, PathBuf};
[INFO] [stdout] ...   |
[INFO] [stdout] 336 | |     output
[INFO] [stdout] 337 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling vyre-spec v0.1.1
[INFO] [stdout] warning: unused import: `data_type_tag::data_type_tag`
[INFO] [stdout]   --> src/ir/serial/wire/tags/mod.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) use data_type_tag::data_type_tag;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CastError` is never used
[INFO] [stdout]  --> src/bytemuck_safe.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum CastError {
[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 `safe_cast_slice` is never used
[INFO] [stdout]   --> src/bytemuck_safe.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn safe_cast_slice<T: bytemuck::Pod>(bytes: &[u8]) -> Result<&[T], CastError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_bytes_of_slice` is never used
[INFO] [stdout]   --> src/bytemuck_safe.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn safe_bytes_of_slice<T: bytemuck::Pod>(values: &[T]) -> &[u8] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ir/serial/wire/decode/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ir/serial/wire/decode");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![warn(missing_docs)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/ir/serial/wire/decode/impl_reader.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn nodes(&mut self) -> Result<Vec<Node>, String> {
[INFO] [stdout]   |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W unreachable-pub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/serial/wire/framing/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | automod::dir!(pub "src/ir/serial/wire/framing");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/ir/serial/wire/framing/impl_reader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn expect_magic(&mut self) -> Result<(), String> {
[INFO] [stdout]   |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn take(&mut self, len: usize) -> Result<&[u8], String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn u8(&mut self) -> Result<u8, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn u32(&mut self) -> Result<u32, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn i32(&mut self) -> Result<i32, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn bounded_len(&mut self, max: usize, label: &str) -> Result<usize, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn string(&mut self) -> Result<String, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/serial/wire/tags/mod.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | automod::dir!(pub "src/ir/serial/wire/tags");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/transform/optimize/cse/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | automod::dir!(pub "src/ir/transform/optimize/cse");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/transform/optimize/dce/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | automod::dir!(pub "src/ir/transform/optimize/dce");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/atomic_rules.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn validate_atomic(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 64 | |     op: &AtomicOp,
[INFO] [stdout] 65 | |     buffer: &str,
[INFO] [stdout] 66 | |     _index: &Expr,
[INFO] [stdout] ...  |
[INFO] [stdout] 71 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 72 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/barrier.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn check_barrier(divergent: bool, errors: &mut Vec<ValidationError>) {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/bytes_rejection.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 |   pub fn check_store(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 48 | |     buffer: &str,
[INFO] [stdout] 49 | |     buffers: &FxHashMap<&str, &BufferDecl>,
[INFO] [stdout] 50 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 51 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/ir/validate/bytes_rejection.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 |   pub fn check_load(
[INFO] [stdout]     |   ^--
[INFO] [stdout]     |   |
[INFO] [stdout]     |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     | |
[INFO] [stdout]  99 | |     buffer: &str,
[INFO] [stdout] 100 | |     buffers: &FxHashMap<&str, &BufferDecl>,
[INFO] [stdout] 101 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 102 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/ir/validate/expr_rules.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn output_marker_count(buffers: &[BufferDecl]) -> usize {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/ir/validate/expr_rules.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn call_input_count(program: &Program) -> usize {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/nodes.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 |   pub fn validate_nodes(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 17 | |     nodes: &[Node],
[INFO] [stdout] 18 | |     buffers: &FxHashMap<&str, &BufferDecl>,
[INFO] [stdout] 19 | |     scope: &mut FxHashMap<String, Binding>,
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 24 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/ir/validate/shadowing.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 |   pub fn check_local(
[INFO] [stdout]   |   ^--
[INFO] [stdout]   |   |
[INFO] [stdout]   |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]   | |
[INFO] [stdout] 6 | |     name: &str,
[INFO] [stdout] 7 | |     scope: &FxHashMap<String, Binding>,
[INFO] [stdout] 8 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 9 | | ) {
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/buffer/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | automod::dir!(pub "src/ops/buffer");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/compression/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | automod::dir!(pub "src/ops/compression");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/compression/deflate_decompress/implementation.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/deflate_decompress/implementation/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 255 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_decompress/implementation/kernel.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn max_output_for_input(input_len: usize) -> Result<usize, String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_decompress/implementation/kernel.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn max_output_len() -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_decompress/implementation/kernel.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn max_allowed_len() -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/compression/gzip_decompress/implementation.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/gzip_decompress/implementation/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 255 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/gzip_decompress/implementation/kernel.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FHCRC: u8 = 0x02;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/gzip_decompress/implementation/kernel.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const FEXTRA: u8 = 0x04;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/gzip_decompress/implementation/kernel.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const FNAME: u8 = 0x08;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/gzip_decompress/implementation/kernel.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const FCOMMENT: u8 = 0x10;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/gzip_decompress/implementation/kernel.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn payload_start(input: &[u8], flags: u8) -> Result<usize, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/gzip_decompress/implementation/kernel.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn nul_terminated_end(input: &[u8], start: usize, field: &str) -> Result<usize, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/gzip_decompress/implementation/kernel.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn crc32(bytes: &[u8]) -> u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/compression/lz4/implementation.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod kernel;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/lz4/implementation/kernel.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/lz4/implementation/kernel.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const LOOP_LIMIT: u32 = 65_536;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const STATUS_INPUT_TRUNCATED: u32 = 1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const STATUS_OUTPUT_OVERFLOW: u32 = 2;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const STATUS_INVALID_OFFSET: u32 = 3;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const STATUS_LOOP_LIMIT_EXCEEDED: u32 = 4;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const OP_ID: &str = "compression.lz4_decompress";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn lz4_sequence_body() -> Vec<Node> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn extend_length(prefix: &'static str, len_var: &'static str, flag_var: &'static str) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn copy_literals() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn read_match_offset() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn validate_match_offset() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn copy_match() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:258:1
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub fn read_byte(buffer: &'static str, pos: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn store_byte(buffer: &'static str, pos: Expr, byte: Expr) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:280:1
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub fn fail(code: u32) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:287:1
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub fn input_len() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:291:1
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn output_len() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:295:1
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub fn active() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:299:1
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub fn and(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:303:1
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub fn or(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/compression/zlib_decompress/implementation.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/zlib_decompress/implementation/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 255 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/zlib_decompress/implementation/kernel.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn adler32(bytes: &[u8]) -> u32 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/compression/zstd/implementation.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod kernel;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/zstd/implementation/kernel.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/zstd/implementation/kernel.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const LOOP_LIMIT: u32 = 131_072;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const BLOCK_RAW: u32 = 0;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const BLOCK_RLE: u32 = 1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const BLOCK_COMPRESSED: u32 = 2;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const STATUS_INPUT_TRUNCATED: u32 = 1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const STATUS_OUTPUT_OVERFLOW: u32 = 2;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const STATUS_COMPRESSED_BLOCK_UNSUPPORTED: u32 = 3;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const STATUS_RESERVED_BLOCK_TYPE: u32 = 4;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const STATUS_LOOP_LIMIT_EXCEEDED: u32 = 5;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const OP_ID: &str = "compression.zstd_decompress";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:96:1
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn zstd_block_body() -> Vec<Node> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn read_header() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:155:1
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn decode_raw_block() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn decode_rle_block() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:206:1
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn rle_fill_loop() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:228:1
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub fn reject_compressed_block() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:238:1
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn reject_reserved_block() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn read_byte(buffer: &'static str, pos: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:254:1
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn store_byte(buffer: &'static str, pos: Expr, byte: Expr) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:270:1
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub fn fail(code: u32) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub fn input_len() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub fn output_len() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:285:1
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub fn active() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:289:1
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub fn and(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/deflate_core.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const MAX_BITS: u8 = 15;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/deflate_core.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const LEN_BASE: [u16; 29] = [
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/deflate_core.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LEN_EXTRA: [u8; 29] = [
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/deflate_core.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const DIST_BASE: [u16; 30] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/deflate_core.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const DIST_EXTRA: [u8; 30] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/deflate_core.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const CODE_ORDER: [usize; 19] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_core.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / pub fn stored_block(
[INFO] [stdout] 56 | |     reader: &mut BitReader<'_>,
[INFO] [stdout] 57 | |     output: &mut Vec<u8>,
[INFO] [stdout] 58 | |     max: usize,
[INFO] [stdout] 59 | | ) -> Result<(), String> {
[INFO] [stdout]    | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_core.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / pub fn huffman_block(
[INFO] [stdout] 73 | |     reader: &mut BitReader<'_>,
[INFO] [stdout] 74 | |     litlen: &Huffman,
[INFO] [stdout] 75 | |     dist: &Huffman,
[INFO] [stdout] 76 | |     output: &mut Vec<u8>,
[INFO] [stdout] 77 | |     max: usize,
[INFO] [stdout] 78 | | ) -> Result<(), String> {
[INFO] [stdout]    | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | / pub fn copy_match(
[INFO] [stdout]  96 | |     reader: &mut BitReader<'_>,
[INFO] [stdout]  97 | |     dist: &Huffman,
[INFO] [stdout]  98 | |     output: &mut Vec<u8>,
[INFO] [stdout]  99 | |     max: usize,
[INFO] [stdout] 100 | |     len_index: usize,
[INFO] [stdout] 101 | | ) -> Result<(), String> {
[INFO] [stdout]     | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn dynamic_tables(reader: &mut BitReader<'_>) -> Result<(Huffman, Huffman), String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | / pub fn repeat_previous(
[INFO] [stdout] 159 | |     reader: &mut BitReader<'_>,
[INFO] [stdout] 160 | |     out: &mut Vec<u8>,
[INFO] [stdout] 161 | |     base: usize,
[INFO] [stdout] 162 | |     bits: u8,
[INFO] [stdout] 163 | |     limit: usize,
[INFO] [stdout] 164 | | ) -> Result<(), String> {
[INFO] [stdout]     | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:170:1
[INFO] [stdout]     |
[INFO] [stdout] 170 | / pub fn repeat_zero(
[INFO] [stdout] 171 | |     reader: &mut BitReader<'_>,
[INFO] [stdout] 172 | |     out: &mut Vec<u8>,
[INFO] [stdout] 173 | |     base: usize,
[INFO] [stdout] 174 | |     bits: u8,
[INFO] [stdout] 175 | |     limit: usize,
[INFO] [stdout] 176 | | ) -> Result<(), String> {
[INFO] [stdout]     | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:179:1
[INFO] [stdout]     |
[INFO] [stdout] 179 | / pub fn repeat_value(
[INFO] [stdout] 180 | |     reader: &mut BitReader<'_>,
[INFO] [stdout] 181 | |     out: &mut Vec<u8>,
[INFO] [stdout] 182 | |     base: usize,
[INFO] [stdout] ...   |
[INFO] [stdout] 185 | |     value: u8,
[INFO] [stdout] 186 | | ) -> Result<(), String> {
[INFO] [stdout]     | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub fn fixed_litlen() -> Result<Huffman, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn fixed_dist() -> Result<Huffman, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn ensure_room(current: usize, add: usize, max: usize) -> Result<(), String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub struct Huffman {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub fn reverse_bits(mut code: u16, len: u8) -> u16 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct BitReader<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/crypto/chacha20_block/kernel.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/crypto/chacha20_block/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/crypto/chacha20_block/kernel.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/crypto/chacha20_block/kernel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn wgsl_only(_backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/decode/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/decode");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/decode/base32.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn base32_value(byte: u8) -> Option<u8> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/decode/base32.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/base64.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn byte0() -> Expr {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/base64.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn byte1() -> Expr {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/base64.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn byte2() -> Expr {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/decode/base64url.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn base64url_value(byte: u8) -> Option<u8> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/decode/base64url.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/decode/hex_decode_strict.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn and(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/decode/hex_decode_strict.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn hex_value(byte: u8) -> Option<u8> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub fn in_range(value: Expr, low: u8, high: u8) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn is_digit(byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn is_hex_byte(byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:199:1
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn is_lower_hex(byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub fn is_upper_hex(byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:209:1
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn or(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/decode/url_percent.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn hex_value(byte: u8) -> Option<u8> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/decode/url_percent.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/decode/utf8_validate.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/decode/utf8_validate.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/encode/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/encode");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/encode/base64_encode.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const ALPHABET: &[u8; 64] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/encode/base64_encode.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn alphabet_char(idx: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/encode/base64_encode.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn has_input_byte(offset: u32) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/encode/base64_encode.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/encode/hex_encode_lower.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const HEX: &[u8; 16] = b"0123456789abcdef";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/encode/hex_encode_lower.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn hex_char(nibble: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/encode/hex_encode_lower.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/graph/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/graph");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/graph/bfs.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn mark_visited(source_idx: Expr, node: Expr) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn node_count() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn not_visited(source_idx: Expr, node: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/graph/bfs.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub const OP_ID: &str = "graph.bfs";
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn report_if_sink(start_node: Expr, node: Expr, depth: Expr, source_idx: Expr) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout] 214 | / pub fn scan_neighbors(
[INFO] [stdout] 215 | |     source_idx: Expr,
[INFO] [stdout] 216 | |     node: Expr,
[INFO] [stdout] 217 | |     tgt_node: Expr,
[INFO] [stdout] 218 | |     queue_tail: Expr,
[INFO] [stdout] 219 | |     max_queue_slots: u32,
[INFO] [stdout] 220 | | ) -> Node {
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn valid_source_invocation(source_idx: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:261:1
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn validate_edge_offsets(csr: &CsrGraph) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:303:1
[INFO] [stdout]     |
[INFO] [stdout] 303 | / pub fn validate_source_frontier(
[INFO] [stdout] 304 | |     csr: &CsrGraph,
[INFO] [stdout] 305 | |     source: u32,
[INFO] [stdout] 306 | |     max_depth: u32,
[INFO] [stdout] 307 | |     max_queue: usize,
[INFO] [stdout] 308 | | ) -> Result<()> {
[INFO] [stdout]     | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:366:1
[INFO] [stdout]     |
[INFO] [stdout] 366 | pub fn words_per_source() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/csr.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn validate_csr_sizes(node_count: usize, edge_count: usize) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/csr.rs:170:1
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn build_csr(node_count: usize, edges: &[(u32, u32)]) -> Result<CsrGraph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | automod::dir!(pub "src/ops/hash");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/blake2/mod.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn compress32(h: &mut [u32; 8], block: &[u8], count: u64, last: bool) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn compress64(h: &mut [u64; 8], block: &[u8], count: u128, last: bool) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn g32(v: &mut [u32; 16], a: usize, b: usize, c: usize, d: usize, x: u32, y: u32) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn g64(v: &mut [u64; 16], a: usize, b: usize, c: usize, d: usize, x: u64, y: u64) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub const IV32: [u32; 8] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub const IV64: [u64; 8] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub const SIGMA: [[usize; 16]; 12] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/kdf/mod.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn blake2b_long(input: &[u8], out_len: usize) -> Vec<u8> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/md5/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn compress(state: &mut [u32; 4], block: &[u8]) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/md5/mod.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const K: [u32; 64] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/md5/mod.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const S: [u32; 64] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/ripemd160/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn compress(state: &mut [u32; 5], block: &[u8]) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/ripemd160/mod.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn f(j: usize, x: u32, y: u32, z: u32) -> u32 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/ripemd160/mod.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn kl(j: usize) -> u32 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/ripemd160/mod.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn kr(j: usize) -> u32 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/ripemd160/mod.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const RL: [usize; 80] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/ripemd160/mod.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub const RR: [usize; 80] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/ripemd160/mod.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub const SL: [u32; 80] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/ripemd160/mod.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const SR: [u32; 80] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/sha1/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn compress(state: &mut [u32; 5], block: &[u8]) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha1/mod.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const H0: [u32; 5] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/sha256/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn compress(state: &mut [u32; 8], block: &[u8]) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha256/mod.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const H0: [u32; 8] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha256/mod.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const K: [u32; 64] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/sha512/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn compress(state: &mut [u64; 8], block: &[u8]) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/sha512/mod.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn digest(input: &[u8], mut state: [u64; 8]) -> [u64; 8] {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha512/mod.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const H384: [u64; 8] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha512/mod.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const H512: [u64; 8] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha512/mod.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const K: [u64; 80] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/siphash/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn sip_round(v0: &mut u64, v1: &mut u64, v2: &mut u64, v3: &mut u64) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/xxhash/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn accumulate(acc: &mut [u64; 8], stripe: &[u8], secret_offset: usize) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn accumulate_block(acc: &mut [u64; 8], block: &[u8]) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn avalanche(mut x: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn avalanche_xxh64(mut x: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn consume_tail(input: &[u8], mut index: usize, mut acc: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn final_merge(acc: &[u64; 8], init: u64, secret_offset: usize) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn merge_acc(acc: u64, lane: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn mix16(input: &[u8], offset: usize, secret_offset: usize) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const P32_1: u64 = 0x9e37_79b1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const P32_2: u64 = 0x85eb_ca77;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:89:1
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const P32_3: u64 = 0xc2b2_ae3d;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const P64_1: u64 = 0x9e37_79b1_85eb_ca87;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub const P64_2: u64 = 0xc2b2_ae3d_27d4_eb4f;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:98:1
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub const P64_3: u64 = 0x1656_67b1_9e37_79f9;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const P64_4: u64 = 0x85eb_ca77_c2b2_ae63;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const P64_5: u64 = 0x27d4_eb2f_1656_67c5;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const PMX1: u64 = 0x1656_6791_9e37_79f9;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub const PMX2: u64 = 0x9fb2_1c65_1e98_df25;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn read32(bytes: &[u8], offset: usize) -> u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn read64(bytes: &[u8], offset: usize) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn read_secret32(offset: usize) -> u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:142:1
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn read_secret64(offset: usize) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:147:1
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn round(acc: u64, lane: u64) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn scramble(acc: &mut [u64; 8]) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub const SECRET: [u8; 192] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:179:1
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub fn xxh3_large(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:199:1
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn xxh3_len_129_to_240(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:213:1
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub fn xxh3_len_17_to_128(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn xxh3_len_1_to_3(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn xxh3_len_4_to_8(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:247:1
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub fn xxh3_len_9_to_16(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/argon2id.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes, DataType::U32];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/argon2id.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/argon2id.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const OUTPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/argon2id.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2b.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2b.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2b.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U64 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/blake2b.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2s.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2s.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2s.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/blake2s.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake3.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake3.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake3.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/blake3.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/cpu_refs.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn md5(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/cpu_refs.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn sha1(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn sha256(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn sha384(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn sha512(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn sha3_256(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn sha3_512(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn blake2b(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn blake2s(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn blake3(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn ripemd160(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn xxhash64(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn xxhash3_64(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn hmac_md5(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn hmac_sha1(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn hmac_sha256(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn hkdf_extract(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn hkdf_expand(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn pbkdf2_sha256(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn argon2id(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn siphash13(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/crc32.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const CRC32_FINAL_XOR: u32 = 0xffff_ffff;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/crc32.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const CRC32_INITIAL: u32 = 0xffff_ffff;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/crc32.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const CRC32_POLY_REFLECTED: u32 = 0xEDB8_8320;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/crc32.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn crc_bit_step() -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/crc32.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn input_byte() -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/crc32.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/crc32.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/entropy.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/entropy/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod entropy_program;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/entropy/kernel.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod input_byte;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/entropy/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod laws;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/entropy/kernel.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod probability_bucket;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/hash/entropy/kernel.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod spec;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/hash/entropy/kernel.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod uniform_byte_distribution_entropy;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/entropy/kernel/input_byte.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn input_byte() -> Expr {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/hash/entropy/kernel/laws.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/entropy/kernel/probability_bucket.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn probability_bucket() -> Expr {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/fnv1a32.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const FNV_OFFSET_BASIS: u32 = 2_166_136_261;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/fnv1a32.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const FNV_PRIME: u32 = 16_777_619;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/fnv1a32.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn input_byte(index: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/fnv1a32.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/fnv1a32.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_expand.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes, DataType::U32];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_expand.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_expand.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const OUTPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/hkdf_expand.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_extract.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_extract.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_extract.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/hkdf_extract.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_md5.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_md5.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_md5.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 4];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/hmac_md5.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha1.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha1.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha1.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 5];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/hmac_sha1.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha256.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const BLOCK_BYTES: usize = 64;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha256.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha256.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha256.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/hmac_sha256.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/md5.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/md5.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/md5.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 4];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/md5.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/pbkdf2_sha256.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/pbkdf2_sha256.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/pbkdf2_sha256.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const OUTPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/pbkdf2_sha256.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/ripemd160.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/ripemd160.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/ripemd160.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 5];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/ripemd160.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/rolling.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/rolling/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod default_rolling_hash_program;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/rolling/kernel.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod laws;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/rolling/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod rolling_hash_program;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/rolling/kernel.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod spec;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/hash/rolling/kernel.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod valid_window;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/hash/rolling/kernel.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod window_byte;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/hash/rolling/kernel/laws.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/rolling/kernel/valid_window.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn valid_window(window_size: u32) -> Expr {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/rolling/kernel/window_byte.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn window_byte() -> Expr {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha1.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha1.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha1.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 5];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha1.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha256.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha256.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha256.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha256.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha384.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha384.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha384.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[const { DataType::U64 }; 6];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha384.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_256.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_256.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_256.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha3_256.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_512.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_512.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_512.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[const { DataType::U64 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha3_512.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha512.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha512.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha512.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[const { DataType::U64 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha512.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/siphash13.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::U64];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/siphash13.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/siphash13.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[DataType::U64];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/siphash13.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash3_64.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash3_64.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash3_64.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[DataType::U64];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/xxhash3_64.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash64.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash64.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash64.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[DataType::U64];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/xxhash64.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/match_ops/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/match_ops");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/match_ops/dfa_scan.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/match_ops/dfa_scan.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const OP_ID: &str = "match.dfa_scan";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/match_ops/dfa_scan.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn read_byte(pos: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/match_ops/dfa_scan.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn report_match(pattern_id: Expr, end_pos: Expr) -> Node {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/match_ops/dfa_scan.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn transition(state: Expr, byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/match_ops/scatter.rs:360:1
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/primitive/mod.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | automod::dir!(pub "src/ops/primitive");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/math/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | automod::dir!(pub "src/ops/primitive/math");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/abs.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/abs_diff.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/add.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/add_sat.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/div.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/math/lcm.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/mod_op.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/mul.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/neg.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const INPUTS: &[DataType] = &[DataType::I32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/math/neg.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const OUTPUTS: &[DataType] = &[DataType::I32];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/math/neg.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Involution];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/negate.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Involution];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/sign.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const INPUTS: &[DataType] = &[DataType::I32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/math/sign.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const OUTPUTS: &[DataType] = &[DataType::I32];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/math/sign.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Idempotent];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/primitive/math/sign.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn sign_expr(value: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/sub.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/sub_sat.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/bitwise.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | automod::dir!(pub "src/ops/primitive/bitwise");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/and.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/clz.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 32 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/ctz.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 32 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/bitwise/extract_bits.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/bitwise/insert_bits.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/not.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/or.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/popcount.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/bitwise/popcount_sw.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/reverse_bits.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Involution];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/rotl.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/rotr.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/shl.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/shr.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/xor.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/clamp.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod eq;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod ge;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod gt;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod le;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod logical_not;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod lt;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod ne;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/eq.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/eq.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/ge.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/ge.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/gt.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/gt.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/le.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/le.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/logical_not.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 1 }];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/lt.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/lt.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/ne.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/ne.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/float.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | automod::dir!(pub "src/ops/primitive/float");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_add.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Commutative];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_ceil.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_ceil.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_clamp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_clamp.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_cmp.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_cmp.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_div.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const LAWS: &[AlgebraicLaw] =
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_eq.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_eq.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_floor.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_floor.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_fma.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_fma.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_is_finite.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_is_finite.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_is_inf.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_is_inf.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_is_nan.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_is_nan.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_le.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_le.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_lt.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_lt.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_max.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_max.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_min.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_min.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_mul.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_neg.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Involution];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_rem.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_rem.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_round.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_round.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_sign.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_sign.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_sub.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const LAWS: &[AlgebraicLaw] =
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_trunc.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_trunc.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/max.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/min.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/select_op.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/reductions/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/reductions");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/argmax_u32.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/argmin_u32.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_all.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const INPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_all.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_all.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_any.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const INPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_any.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_any.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_count.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_max_u32.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_min_u32.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_sum_u32.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/registry/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | automod::dir!(pub "src/ops/registry");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/rule/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | automod::dir!(pub "src/ops/rule");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/rule/builder.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn rule_buffers() -> Vec<BufferDecl> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/rule/builder.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn rule_nodes(rules: &[(RuleFormula, u32)]) -> Vec<Node> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/rule/builder.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn formula_expr(formula: &RuleFormula, rule_id: u32) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/rule/builder.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn condition_expr(condition: &RuleCondition, rule_id: u32) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/rule/builder.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn file_size_call(threshold: u64, op_id: &str, overflow_op_id: &str, rule_id: u32) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/rule/builder.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn call(op_id: &str, rule_id: u32, pattern_id: u32, threshold: u32) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/rule/builder.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn pattern_state(pattern_id: u32) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/rule/builder.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub fn pattern_count(pattern_id: u32) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/scan.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | automod::dir!(pub "src/ops/scan");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/scan/prefix_sum_inclusive.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/sort.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/sort");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/stats/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | automod::dir!(pub "src/ops/stats");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | automod::dir!(pub "src/ops/string");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/string/prefix_brace.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/string/prefix_brace.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/string/prefix_brace.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32, DataType::U32];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string/tokenize_gpu.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn and(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string/tokenize_gpu.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn any_eq(byte: &Expr, values: &[u8]) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string/tokenize_gpu.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn classify(byte: &Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string/tokenize_gpu.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn in_range(value: Expr, low: u8, high: u8) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/string/tokenize_gpu.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn is_identifier(byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/string/tokenize_gpu.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 7 }];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/string/tokenize_gpu.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn le(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/string/tokenize_gpu.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn or(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/string_matching");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/aho_corasick_scan.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/aho_corasick_scan/kernel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod aho_corasick_scan;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/aho_corasick_scan/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod automaton;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/ops/string_matching/aho_corasick_scan/kernel/automaton.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Automaton {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/ops/string_matching/aho_corasick_scan/kernel/node.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Node {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/glob_match.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/glob_match/kernel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod glob_match;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/glob_match/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod star_question_match;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/glob_match/kernel/star_question_match.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn star_question_match(pattern: &[u8], input: &[u8]) -> bool {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/kmp_find.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/kmp_find/kernel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod kmp_find;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/kmp_find/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod prefix_table;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/kmp_find/kernel/prefix_table.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn prefix_table(needle: &[u8]) -> Vec<usize> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod match_from;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod nfa_scan;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod parse_program;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/string_matching/nfa_scan/kernel.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod token;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/match_from.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn match_from(tokens: &[Token], input: &[u8], start: usize) -> Option<usize> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/parse_program.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn parse_program(program: &[u8]) -> Result<Vec<Token>, MatchError> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/token.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Token {
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Literal(u8),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/token.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Any,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/token.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     StarLiteral(u8),
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/token.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     StarAny,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/rabin_karp_find.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/rabin_karp_find/kernel.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod push_hash;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/rabin_karp_find/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod rabin_karp_find;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/rabin_karp_find/kernel.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod roll_hash;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod match_tokens;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod parse;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod token;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod wildcard_match;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/match_tokens.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn match_tokens(tokens: &[Token], input: &[u8]) -> bool {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/parse.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn parse(pattern: &[u8]) -> Vec<Token> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/token.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Token {
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Literal(u8),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/token.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Any,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/token.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Star,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_similarity.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | automod::dir!(pub "src/ops/string_similarity");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/string_similarity/jaro_winkler.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const PREFIX_LIMIT: usize = 4;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/string_similarity/jaro_winkler.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const PREFIX_SCALE: f32 = 0.1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/string_similarity/simhash64.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const FNV_OFFSET: u64 = 0xcbf2_9ce4_8422_2325;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/string_similarity/simhash64.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FNV_PRIME: u64 = 0x0000_0100_0000_01b3;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/string_similarity/simhash64.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const DEFAULT_GRAM: usize = 4;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string_similarity/simhash64.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn add_hash(weights: &mut [i32; 64], hash: u64) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string_similarity/simhash64.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn fnv1a64(input: &[u8]) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_fifo/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_fifo/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_fifo/spec.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/queue_fifo/spec.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/workgroup/queue_fifo/spec.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_priority/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_priority/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_priority/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/queue_priority/spec.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/queue_priority/spec.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/stack/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/stack/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/stack/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/stack/spec.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/stack/spec.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/hashmap/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/hashmap/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/hashmap/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/workgroup/primitives/hashmap/spec.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod codes {
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub const fn code(self) -> u32 {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Slot {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const OK: u32 = 0;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const ERR_OVERFLOW: u32 = 1;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const ERR_NOT_FOUND: u32 = 2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const REPLACED: u32 = 3;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const ERR_RESERVED_KEY: u32 = 4;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const ERR_INVALID_CAPACITY: u32 = 5;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/state_machine/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/state_machine/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/state_machine/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/state_machine/spec.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/primitives/state_machine/spec.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/workgroup/primitives/string_interner/mod.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub mod spec;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/string_interner/spec.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/string_interner/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/string_interner/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/primitives/string_interner/spec.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/workgroup/primitives/typed_arena/mod.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub mod spec;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/typed_arena/spec.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/typed_arena/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/typed_arena/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/primitives/typed_arena/spec.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/union_find/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/union_find/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/union_find/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/union_find/spec.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/primitives/union_find/spec.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/workgroup/primitives/visitor/mod.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub mod spec;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/visitor/spec.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/visitor/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/visitor/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/primitives/visitor/spec.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/lower/wgsl/analysis/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | automod::dir!(pub "src/lower/wgsl/analysis");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/lower/wgsl/analysis/collect_expr_atomics.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn collect_expr_atomics(expr: &Expr, buffers: &mut HashSet<String>) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/lower/wgsl/analysis/collect_node_atomics.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn collect_node_atomics(node: &Node, buffers: &mut HashSet<String>) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lower/wgsl/emit/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | automod::dir!(pub "src/lower/wgsl/emit");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/lower/wgsl/emit/emit_storage_load_helper.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub fn emit_storage_load_helper(
[INFO] [stdout]  6 | |     out: &mut String,
[INFO] [stdout]  7 | |     buf: &BufferDecl,
[INFO] [stdout]  8 | |     ty: &str,
[INFO] [stdout]  9 | |     zero: &str,
[INFO] [stdout] 10 | |     uses_atomics: bool,
[INFO] [stdout] 11 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/lower/wgsl/emit/emit_storage_store_helper.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn emit_storage_store_helper(out: &mut String, buf: &BufferDecl, ty: &str, uses_atomics: bool) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/lower/wgsl/emit_wgsl.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn emit_wgsl(program: &Program) -> Result<String, Error> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/lower/wgsl/lower_no_optimize.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn lower_no_optimize(program: &Program) -> Result<String, Error> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/lower/wgsl/node.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 |   pub fn emit_nodes_with_barriers<'a>(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 25 | |     out: &mut String,
[INFO] [stdout] 26 | |     ctx: &mut LowerCtx<'a>,
[INFO] [stdout] 27 | |     nodes: &'a [Node],
[INFO] [stdout] 28 | |     program: &'a Program,
[INFO] [stdout] 29 | |     barriers: &mut BarrierState,
[INFO] [stdout] 30 | | ) -> Result<(), Error> {
[INFO] [stdout]    | |______________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/lower/wgsl/node.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 |   pub fn emit_node<'a>(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 46 | |     out: &mut String,
[INFO] [stdout] 47 | |     ctx: &mut LowerCtx<'a>,
[INFO] [stdout] 48 | |     node: &'a Node,
[INFO] [stdout] 49 | |     program: &'a Program,
[INFO] [stdout] 50 | |     barriers: &mut BarrierState,
[INFO] [stdout] 51 | | ) -> Result<(), Error> {
[INFO] [stdout]    | |______________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/lower/wgsl/node.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub fn emit_synchronization_barriers(out: &mut String, indent: usize) {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/lower/wgsl/node.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub struct BarrierState {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/lower/wgsl/node.rs:245:1
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn collect_atomic_buffers(expr: &crate::ir::Expr, buffers: &mut HashSet<String>) {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bytemuck_safe.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum CastError {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/bytemuck_safe.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn safe_cast_slice<T: bytemuck::Pod>(bytes: &[u8]) -> Result<&[T], CastError> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/bytemuck_safe.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn safe_bytes_of_slice<T: bytemuck::Pod>(values: &[T]) -> &[u8] {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/allowed_archetypes.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const ALLOWED_ARCHETYPES: &[&str] = &[
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout]   = note: requested on the command line with `-W unreachable-pub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/generate_kernel_rs.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn generate_kernel_rs() -> String {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/generate_lowering_wgsl_rs.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn generate_lowering_wgsl_rs() -> String {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/generate_mod_rs.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn generate_mod_rs() -> String {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/generate_readme.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn generate_readme(id: &str, archetype: &str, summary: &str) -> String {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/generate_spec_toml.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 |   pub fn generate_spec_toml(
[INFO] [stdout]   |   ^--
[INFO] [stdout]   |   |
[INFO] [stdout]   |  _help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   | |
[INFO] [stdout] 2 | |     id: &str,
[INFO] [stdout] 3 | |     archetype: &str,
[INFO] [stdout] 4 | |     display_name: &str,
[INFO] [stdout] 5 | |     summary: &str,
[INFO] [stdout] 6 | |     category: &str,
[INFO] [stdout] 7 | | ) -> String {
[INFO] [stdout]   | |___________^
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/id_to_title_case.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn id_to_title_case(id: &str) -> String {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/is_maintainer_allowed.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn is_maintainer_allowed() -> bool {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/max_id_len.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const MAX_ID_LEN: usize = 128;
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/print_help.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn print_help() {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/reserved_id_env.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const RESERVED_ID_ENV: &str = "VYRE_SPEC_MAINTAINER";
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/bin/vyre_new_op/run.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn run(args: &mut impl Iterator<Item = String>) -> Result<(), String> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/split_id_into_path.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn split_id_into_path(id: &str) -> Result<(&str, &str, &str), String> {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/validate_archetype.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn validate_archetype(archetype: &str) -> Result<(), String> {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/validate_id.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn validate_id(id: &str) -> Result<(), String> {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bin/vyre_new_op/write_scaffold_file.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn write_scaffold_file(path: PathBuf, contents: &str) -> Result<(), String> {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.86s
[INFO] running `Command { std: "docker" "inspect" "98278c312e106e8370a63fe7a97f46fa5fc39d6a2d52df543d549da761a27a8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98278c312e106e8370a63fe7a97f46fa5fc39d6a2d52df543d549da761a27a8f", kill_on_drop: false }`
[INFO] [stdout] 98278c312e106e8370a63fe7a97f46fa5fc39d6a2d52df543d549da761a27a8f
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9a1e2c0067f0b40d9055bd31bdb9c4a0f07d39e18125e5241328cddc0b458592
[INFO] running `Command { std: "docker" "start" "-a" "9a1e2c0067f0b40d9055bd31bdb9c4a0f07d39e18125e5241328cddc0b458592", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ordered-float v4.6.0
[INFO] [stderr]    Compiling vyre-build-scan v0.1.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]    Compiling gpu-descriptor-types v0.2.0
[INFO] [stderr]    Compiling gpu-alloc-types v0.3.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling wgpu-types v24.0.0
[INFO] [stderr]    Compiling gpu-descriptor v0.3.2
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling clap_builder v4.5.21
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling gpu-alloc v0.6.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling vyre-spec v0.1.1
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling tokio v1.51.1
[INFO] [stderr]    Compiling naga v24.0.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap v4.5.21
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling vyre v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> build.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | / use std::collections::{HashMap, HashSet};
[INFO] [stdout]   5 | | use std::env;
[INFO] [stdout]   6 | | use std::fs::{self, Metadata};
[INFO] [stdout]   7 | | use std::path::{Path, PathBuf};
[INFO] [stdout] ...   |
[INFO] [stdout] 336 | |     output
[INFO] [stdout] 337 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling wgpu-hal v24.0.4
[INFO] [stderr]    Compiling wgpu-core v24.0.5
[INFO] [stderr]    Compiling wgpu v24.0.5
[INFO] [stdout] warning: unused import: `data_type_tag::data_type_tag`
[INFO] [stdout]   --> src/ir/serial/wire/tags/mod.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) use data_type_tag::data_type_tag;
[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: `data_type_tag::data_type_tag`
[INFO] [stdout]   --> src/ir/serial/wire/tags/mod.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) use data_type_tag::data_type_tag;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CastError` is never used
[INFO] [stdout]  --> src/bytemuck_safe.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum CastError {
[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 `safe_cast_slice` is never used
[INFO] [stdout]   --> src/bytemuck_safe.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn safe_cast_slice<T: bytemuck::Pod>(bytes: &[u8]) -> Result<&[T], CastError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_bytes_of_slice` is never used
[INFO] [stdout]   --> src/bytemuck_safe.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn safe_bytes_of_slice<T: bytemuck::Pod>(values: &[T]) -> &[u8] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ir/serial/wire/decode/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ir/serial/wire/decode");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![warn(missing_docs)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/ir/serial/wire/decode/impl_reader.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn nodes(&mut self) -> Result<Vec<Node>, String> {
[INFO] [stdout]   |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W unreachable-pub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/serial/wire/framing/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | automod::dir!(pub "src/ir/serial/wire/framing");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/ir/serial/wire/framing/impl_reader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn expect_magic(&mut self) -> Result<(), String> {
[INFO] [stdout]   |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn take(&mut self, len: usize) -> Result<&[u8], String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn u8(&mut self) -> Result<u8, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn u32(&mut self) -> Result<u32, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn i32(&mut self) -> Result<i32, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn bounded_len(&mut self, max: usize, label: &str) -> Result<usize, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn string(&mut self) -> Result<String, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/serial/wire/tags/mod.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | automod::dir!(pub "src/ir/serial/wire/tags");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/transform/optimize/cse/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | automod::dir!(pub "src/ir/transform/optimize/cse");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/transform/optimize/dce/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | automod::dir!(pub "src/ir/transform/optimize/dce");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/atomic_rules.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn validate_atomic(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 64 | |     op: &AtomicOp,
[INFO] [stdout] 65 | |     buffer: &str,
[INFO] [stdout] 66 | |     _index: &Expr,
[INFO] [stdout] ...  |
[INFO] [stdout] 71 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 72 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/barrier.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn check_barrier(divergent: bool, errors: &mut Vec<ValidationError>) {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/bytes_rejection.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 |   pub fn check_store(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 48 | |     buffer: &str,
[INFO] [stdout] 49 | |     buffers: &FxHashMap<&str, &BufferDecl>,
[INFO] [stdout] 50 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 51 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/ir/validate/bytes_rejection.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 |   pub fn check_load(
[INFO] [stdout]     |   ^--
[INFO] [stdout]     |   |
[INFO] [stdout]     |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     | |
[INFO] [stdout]  99 | |     buffer: &str,
[INFO] [stdout] 100 | |     buffers: &FxHashMap<&str, &BufferDecl>,
[INFO] [stdout] 101 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 102 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/ir/validate/expr_rules.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn output_marker_count(buffers: &[BufferDecl]) -> usize {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/ir/validate/expr_rules.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn call_input_count(program: &Program) -> usize {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/nodes.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 |   pub fn validate_nodes(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 17 | |     nodes: &[Node],
[INFO] [stdout] 18 | |     buffers: &FxHashMap<&str, &BufferDecl>,
[INFO] [stdout] 19 | |     scope: &mut FxHashMap<String, Binding>,
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 24 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/ir/validate/shadowing.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 |   pub fn check_local(
[INFO] [stdout]   |   ^--
[INFO] [stdout]   |   |
[INFO] [stdout]   |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]   | |
[INFO] [stdout] 6 | |     name: &str,
[INFO] [stdout] 7 | |     scope: &FxHashMap<String, Binding>,
[INFO] [stdout] 8 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 9 | | ) {
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/buffer/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | automod::dir!(pub "src/ops/buffer");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/compression/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | automod::dir!(pub "src/ops/compression");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/compression/deflate_decompress/implementation.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/deflate_decompress/implementation/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 255 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_decompress/implementation/kernel.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn max_output_for_input(input_len: usize) -> Result<usize, String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_decompress/implementation/kernel.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn max_output_len() -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_decompress/implementation/kernel.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn max_allowed_len() -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/compression/gzip_decompress/implementation.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/gzip_decompress/implementation/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 255 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/gzip_decompress/implementation/kernel.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FHCRC: u8 = 0x02;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/gzip_decompress/implementation/kernel.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const FEXTRA: u8 = 0x04;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/gzip_decompress/implementation/kernel.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const FNAME: u8 = 0x08;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/gzip_decompress/implementation/kernel.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const FCOMMENT: u8 = 0x10;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/gzip_decompress/implementation/kernel.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn payload_start(input: &[u8], flags: u8) -> Result<usize, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/gzip_decompress/implementation/kernel.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn nul_terminated_end(input: &[u8], start: usize, field: &str) -> Result<usize, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/gzip_decompress/implementation/kernel.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn crc32(bytes: &[u8]) -> u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/compression/lz4/implementation.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod kernel;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/lz4/implementation/kernel.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/lz4/implementation/kernel.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const LOOP_LIMIT: u32 = 65_536;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const STATUS_INPUT_TRUNCATED: u32 = 1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const STATUS_OUTPUT_OVERFLOW: u32 = 2;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const STATUS_INVALID_OFFSET: u32 = 3;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const STATUS_LOOP_LIMIT_EXCEEDED: u32 = 4;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const OP_ID: &str = "compression.lz4_decompress";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/lz4/implementation/kernel.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn lz4_sequence_body() -> Vec<Node> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn extend_length(prefix: &'static str, len_var: &'static str, flag_var: &'static str) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn copy_literals() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn read_match_offset() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn validate_match_offset() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn copy_match() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:258:1
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub fn read_byte(buffer: &'static str, pos: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn store_byte(buffer: &'static str, pos: Expr, byte: Expr) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:280:1
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub fn fail(code: u32) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:287:1
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub fn input_len() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:291:1
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn output_len() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:295:1
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub fn active() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:299:1
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub fn and(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/lz4/implementation/kernel.rs:303:1
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub fn or(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/compression/zlib_decompress/implementation.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/zlib_decompress/implementation/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 255 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/zlib_decompress/implementation/kernel.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn adler32(bytes: &[u8]) -> u32 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/compression/zstd/implementation.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod kernel;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/zstd/implementation/kernel.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/zstd/implementation/kernel.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const LOOP_LIMIT: u32 = 131_072;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const BLOCK_RAW: u32 = 0;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const BLOCK_RLE: u32 = 1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const BLOCK_COMPRESSED: u32 = 2;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const STATUS_INPUT_TRUNCATED: u32 = 1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const STATUS_OUTPUT_OVERFLOW: u32 = 2;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const STATUS_COMPRESSED_BLOCK_UNSUPPORTED: u32 = 3;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const STATUS_RESERVED_BLOCK_TYPE: u32 = 4;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const STATUS_LOOP_LIMIT_EXCEEDED: u32 = 5;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const OP_ID: &str = "compression.zstd_decompress";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/zstd/implementation/kernel.rs:96:1
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn zstd_block_body() -> Vec<Node> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn read_header() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:155:1
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn decode_raw_block() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn decode_rle_block() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:206:1
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn rle_fill_loop() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:228:1
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub fn reject_compressed_block() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:238:1
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn reject_reserved_block() -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn read_byte(buffer: &'static str, pos: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:254:1
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn store_byte(buffer: &'static str, pos: Expr, byte: Expr) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:270:1
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub fn fail(code: u32) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:277:1
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub fn input_len() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub fn output_len() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:285:1
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub fn active() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/zstd/implementation/kernel.rs:289:1
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub fn and(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/deflate_core.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const MAX_BITS: u8 = 15;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/deflate_core.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const LEN_BASE: [u16; 29] = [
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/deflate_core.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LEN_EXTRA: [u8; 29] = [
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/deflate_core.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const DIST_BASE: [u16; 30] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/deflate_core.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const DIST_EXTRA: [u8; 30] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/compression/deflate_core.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const CODE_ORDER: [usize; 19] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_core.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / pub fn stored_block(
[INFO] [stdout] 56 | |     reader: &mut BitReader<'_>,
[INFO] [stdout] 57 | |     output: &mut Vec<u8>,
[INFO] [stdout] 58 | |     max: usize,
[INFO] [stdout] 59 | | ) -> Result<(), String> {
[INFO] [stdout]    | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_core.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / pub fn huffman_block(
[INFO] [stdout] 73 | |     reader: &mut BitReader<'_>,
[INFO] [stdout] 74 | |     litlen: &Huffman,
[INFO] [stdout] 75 | |     dist: &Huffman,
[INFO] [stdout] 76 | |     output: &mut Vec<u8>,
[INFO] [stdout] 77 | |     max: usize,
[INFO] [stdout] 78 | | ) -> Result<(), String> {
[INFO] [stdout]    | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | / pub fn copy_match(
[INFO] [stdout]  96 | |     reader: &mut BitReader<'_>,
[INFO] [stdout]  97 | |     dist: &Huffman,
[INFO] [stdout]  98 | |     output: &mut Vec<u8>,
[INFO] [stdout]  99 | |     max: usize,
[INFO] [stdout] 100 | |     len_index: usize,
[INFO] [stdout] 101 | | ) -> Result<(), String> {
[INFO] [stdout]     | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn dynamic_tables(reader: &mut BitReader<'_>) -> Result<(Huffman, Huffman), String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | / pub fn repeat_previous(
[INFO] [stdout] 159 | |     reader: &mut BitReader<'_>,
[INFO] [stdout] 160 | |     out: &mut Vec<u8>,
[INFO] [stdout] 161 | |     base: usize,
[INFO] [stdout] 162 | |     bits: u8,
[INFO] [stdout] 163 | |     limit: usize,
[INFO] [stdout] 164 | | ) -> Result<(), String> {
[INFO] [stdout]     | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:170:1
[INFO] [stdout]     |
[INFO] [stdout] 170 | / pub fn repeat_zero(
[INFO] [stdout] 171 | |     reader: &mut BitReader<'_>,
[INFO] [stdout] 172 | |     out: &mut Vec<u8>,
[INFO] [stdout] 173 | |     base: usize,
[INFO] [stdout] 174 | |     bits: u8,
[INFO] [stdout] 175 | |     limit: usize,
[INFO] [stdout] 176 | | ) -> Result<(), String> {
[INFO] [stdout]     | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:179:1
[INFO] [stdout]     |
[INFO] [stdout] 179 | / pub fn repeat_value(
[INFO] [stdout] 180 | |     reader: &mut BitReader<'_>,
[INFO] [stdout] 181 | |     out: &mut Vec<u8>,
[INFO] [stdout] 182 | |     base: usize,
[INFO] [stdout] ...   |
[INFO] [stdout] 185 | |     value: u8,
[INFO] [stdout] 186 | | ) -> Result<(), String> {
[INFO] [stdout]     | |_______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub fn fixed_litlen() -> Result<Huffman, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn fixed_dist() -> Result<Huffman, String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn ensure_room(current: usize, add: usize, max: usize) -> Result<(), String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub struct Huffman {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub fn reverse_bits(mut code: u16, len: u8) -> u16 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/ops/compression/deflate_core.rs:275:1
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct BitReader<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/crypto/chacha20_block/kernel.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/crypto/chacha20_block/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/crypto/chacha20_block/kernel.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/crypto/chacha20_block/kernel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn wgsl_only(_backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/decode/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/decode");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/decode/base32.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn base32_value(byte: u8) -> Option<u8> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/decode/base32.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/base64.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn byte0() -> Expr {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/base64.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn byte1() -> Expr {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/base64.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn byte2() -> Expr {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/decode/base64url.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn base64url_value(byte: u8) -> Option<u8> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/decode/base64url.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/decode/hex_decode_strict.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn and(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/decode/hex_decode_strict.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn hex_value(byte: u8) -> Option<u8> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub fn in_range(value: Expr, low: u8, high: u8) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn is_digit(byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn is_hex_byte(byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:199:1
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn is_lower_hex(byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub fn is_upper_hex(byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/decode/hex_decode_strict.rs:209:1
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn or(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/decode/url_percent.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn hex_value(byte: u8) -> Option<u8> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/decode/url_percent.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/decode/utf8_validate.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/decode/utf8_validate.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/encode/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/encode");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/encode/base64_encode.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const ALPHABET: &[u8; 64] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/encode/base64_encode.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn alphabet_char(idx: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/encode/base64_encode.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn has_input_byte(offset: u32) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/encode/base64_encode.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/encode/hex_encode_lower.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const HEX: &[u8; 16] = b"0123456789abcdef";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/encode/hex_encode_lower.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn hex_char(nibble: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/encode/hex_encode_lower.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/graph/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/graph");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/graph/bfs.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn mark_visited(source_idx: Expr, node: Expr) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn node_count() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn not_visited(source_idx: Expr, node: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/graph/bfs.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub const OP_ID: &str = "graph.bfs";
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn report_if_sink(start_node: Expr, node: Expr, depth: Expr, source_idx: Expr) -> Node {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout] 214 | / pub fn scan_neighbors(
[INFO] [stdout] 215 | |     source_idx: Expr,
[INFO] [stdout] 216 | |     node: Expr,
[INFO] [stdout] 217 | |     tgt_node: Expr,
[INFO] [stdout] 218 | |     queue_tail: Expr,
[INFO] [stdout] 219 | |     max_queue_slots: u32,
[INFO] [stdout] 220 | | ) -> Node {
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn valid_source_invocation(source_idx: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:261:1
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn validate_edge_offsets(csr: &CsrGraph) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:303:1
[INFO] [stdout]     |
[INFO] [stdout] 303 | / pub fn validate_source_frontier(
[INFO] [stdout] 304 | |     csr: &CsrGraph,
[INFO] [stdout] 305 | |     source: u32,
[INFO] [stdout] 306 | |     max_depth: u32,
[INFO] [stdout] 307 | |     max_queue: usize,
[INFO] [stdout] 308 | | ) -> Result<()> {
[INFO] [stdout]     | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/bfs.rs:366:1
[INFO] [stdout]     |
[INFO] [stdout] 366 | pub fn words_per_source() -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/csr.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn validate_csr_sizes(node_count: usize, edge_count: usize) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/graph/csr.rs:170:1
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn build_csr(node_count: usize, edges: &[(u32, u32)]) -> Result<CsrGraph> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | automod::dir!(pub "src/ops/hash");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/blake2/mod.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn compress32(h: &mut [u32; 8], block: &[u8], count: u64, last: bool) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn compress64(h: &mut [u64; 8], block: &[u8], count: u128, last: bool) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn g32(v: &mut [u32; 16], a: usize, b: usize, c: usize, d: usize, x: u32, y: u32) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn g64(v: &mut [u64; 16], a: usize, b: usize, c: usize, d: usize, x: u64, y: u64) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub const IV32: [u32; 8] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:180:1
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub const IV64: [u64; 8] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/blake2/mod.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub const SIGMA: [[usize; 16]; 12] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/kdf/mod.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn blake2b_long(input: &[u8], out_len: usize) -> Vec<u8> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/md5/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn compress(state: &mut [u32; 4], block: &[u8]) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/md5/mod.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const K: [u32; 64] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/md5/mod.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const S: [u32; 64] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/ripemd160/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn compress(state: &mut [u32; 5], block: &[u8]) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/ripemd160/mod.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn f(j: usize, x: u32, y: u32, z: u32) -> u32 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/ripemd160/mod.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn kl(j: usize) -> u32 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/ripemd160/mod.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn kr(j: usize) -> u32 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/ripemd160/mod.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const RL: [usize; 80] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/ripemd160/mod.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub const RR: [usize; 80] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/ripemd160/mod.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub const SL: [u32; 80] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/ripemd160/mod.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const SR: [u32; 80] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/sha1/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn compress(state: &mut [u32; 5], block: &[u8]) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha1/mod.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const H0: [u32; 5] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/sha256/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn compress(state: &mut [u32; 8], block: &[u8]) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha256/mod.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const H0: [u32; 8] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha256/mod.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const K: [u32; 64] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/sha512/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn compress(state: &mut [u64; 8], block: &[u8]) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/sha512/mod.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn digest(input: &[u8], mut state: [u64; 8]) -> [u64; 8] {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha512/mod.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const H384: [u64; 8] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha512/mod.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const H512: [u64; 8] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/sha512/mod.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const K: [u64; 80] = [
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/siphash/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn sip_round(v0: &mut u64, v1: &mut u64, v2: &mut u64, v3: &mut u64) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/reference/xxhash/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn accumulate(acc: &mut [u64; 8], stripe: &[u8], secret_offset: usize) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn accumulate_block(acc: &mut [u64; 8], block: &[u8]) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn avalanche(mut x: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn avalanche_xxh64(mut x: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn consume_tail(input: &[u8], mut index: usize, mut acc: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn final_merge(acc: &[u64; 8], init: u64, secret_offset: usize) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn merge_acc(acc: u64, lane: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn mix16(input: &[u8], offset: usize, secret_offset: usize) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const P32_1: u64 = 0x9e37_79b1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const P32_2: u64 = 0x85eb_ca77;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:89:1
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const P32_3: u64 = 0xc2b2_ae3d;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const P64_1: u64 = 0x9e37_79b1_85eb_ca87;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub const P64_2: u64 = 0xc2b2_ae3d_27d4_eb4f;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/reference/xxhash/mod.rs:98:1
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub const P64_3: u64 = 0x1656_67b1_9e37_79f9;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const P64_4: u64 = 0x85eb_ca77_c2b2_ae63;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const P64_5: u64 = 0x27d4_eb2f_1656_67c5;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const PMX1: u64 = 0x1656_6791_9e37_79f9;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub const PMX2: u64 = 0x9fb2_1c65_1e98_df25;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn read32(bytes: &[u8], offset: usize) -> u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn read64(bytes: &[u8], offset: usize) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn read_secret32(offset: usize) -> u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:142:1
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn read_secret64(offset: usize) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:147:1
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn round(acc: u64, lane: u64) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn scramble(acc: &mut [u64; 8]) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub const SECRET: [u8; 192] = [
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:179:1
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub fn xxh3_large(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:199:1
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn xxh3_len_129_to_240(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:213:1
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub fn xxh3_len_17_to_128(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn xxh3_len_1_to_3(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn xxh3_len_4_to_8(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/hash/reference/xxhash/mod.rs:247:1
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub fn xxh3_len_9_to_16(input: &[u8]) -> u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/argon2id.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes, DataType::U32];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/argon2id.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/argon2id.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const OUTPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/argon2id.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2b.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2b.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2b.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U64 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/blake2b.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2s.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2s.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake2s.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/blake2s.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake3.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake3.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/blake3.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/blake3.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/cpu_refs.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn md5(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/cpu_refs.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn sha1(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn sha256(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn sha384(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn sha512(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn sha3_256(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn sha3_512(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn blake2b(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn blake2s(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn blake3(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn ripemd160(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn xxhash64(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn xxhash3_64(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn hmac_md5(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn hmac_sha1(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn hmac_sha256(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn hkdf_extract(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn hkdf_expand(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn pbkdf2_sha256(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn argon2id(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/cpu_refs.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn siphash13(input: &[u8], output: &mut Vec<u8>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/crc32.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const CRC32_FINAL_XOR: u32 = 0xffff_ffff;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/crc32.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const CRC32_INITIAL: u32 = 0xffff_ffff;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/crc32.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const CRC32_POLY_REFLECTED: u32 = 0xEDB8_8320;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/crc32.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn crc_bit_step() -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/crc32.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn input_byte() -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/crc32.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/crc32.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/entropy.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/entropy/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod entropy_program;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/entropy/kernel.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod input_byte;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/entropy/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod laws;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/entropy/kernel.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod probability_bucket;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/hash/entropy/kernel.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod spec;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/hash/entropy/kernel.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod uniform_byte_distribution_entropy;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/entropy/kernel/input_byte.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn input_byte() -> Expr {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/hash/entropy/kernel/laws.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/entropy/kernel/probability_bucket.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn probability_bucket() -> Expr {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/fnv1a32.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const FNV_OFFSET_BASIS: u32 = 2_166_136_261;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/fnv1a32.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const FNV_PRIME: u32 = 16_777_619;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/fnv1a32.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn input_byte(index: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/fnv1a32.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/fnv1a32.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_expand.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes, DataType::U32];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_expand.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_expand.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const OUTPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/hkdf_expand.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_extract.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_extract.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hkdf_extract.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/hkdf_extract.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_md5.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_md5.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_md5.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 4];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/hmac_md5.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha1.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha1.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha1.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 5];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/hmac_sha1.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha256.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const BLOCK_BYTES: usize = 64;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha256.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha256.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/hmac_sha256.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/hmac_sha256.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/md5.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/md5.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/md5.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 4];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/md5.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/pbkdf2_sha256.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/pbkdf2_sha256.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/pbkdf2_sha256.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const OUTPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/pbkdf2_sha256.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/ripemd160.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/ripemd160.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/ripemd160.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 5];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/ripemd160.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/rolling.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/rolling/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod default_rolling_hash_program;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/rolling/kernel.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod laws;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/rolling/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod rolling_hash_program;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/hash/rolling/kernel.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod spec;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/hash/rolling/kernel.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod valid_window;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/hash/rolling/kernel.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod window_byte;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/hash/rolling/kernel/laws.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/rolling/kernel/valid_window.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn valid_window(window_size: u32) -> Expr {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/hash/rolling/kernel/window_byte.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn window_byte() -> Expr {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha1.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha1.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha1.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 5];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha1.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha256.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha256.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha256.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha256.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha384.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha384.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha384.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[const { DataType::U64 }; 6];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha384.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_256.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_256.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_256.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[const { DataType::U32 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha3_256.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_512.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_512.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha3_512.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[const { DataType::U64 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha3_512.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha512.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha512.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/sha512.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[const { DataType::U64 }; 8];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/sha512.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/siphash13.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes, DataType::U64];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/siphash13.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/siphash13.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[DataType::U64];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/siphash13.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash3_64.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash3_64.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash3_64.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[DataType::U64];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/xxhash3_64.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash64.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash64.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[crate::ops::AlgebraicLaw] = &[];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/hash/xxhash64.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OUTPUTS: &[DataType] = &[DataType::U64];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/hash/xxhash64.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/match_ops/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/match_ops");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/match_ops/dfa_scan.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/match_ops/dfa_scan.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const OP_ID: &str = "match.dfa_scan";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/match_ops/dfa_scan.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn read_byte(pos: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/match_ops/dfa_scan.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn report_match(pattern_id: Expr, end_pos: Expr) -> Node {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/match_ops/dfa_scan.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn transition(state: Expr, byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/match_ops/scatter.rs:360:1
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/primitive/mod.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | automod::dir!(pub "src/ops/primitive");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/math/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | automod::dir!(pub "src/ops/primitive/math");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/abs.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/abs_diff.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/add.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/add_sat.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/div.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/math/lcm.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/mod_op.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/mul.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/neg.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const INPUTS: &[DataType] = &[DataType::I32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/math/neg.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const OUTPUTS: &[DataType] = &[DataType::I32];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/math/neg.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Involution];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/negate.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Involution];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/sign.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const INPUTS: &[DataType] = &[DataType::I32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/math/sign.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const OUTPUTS: &[DataType] = &[DataType::I32];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/math/sign.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Idempotent];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/primitive/math/sign.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn sign_expr(value: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/sub.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/math/sub_sat.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/bitwise.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | automod::dir!(pub "src/ops/primitive/bitwise");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/and.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/clz.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 32 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/ctz.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 32 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/bitwise/extract_bits.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/bitwise/insert_bits.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/not.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/or.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/popcount.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/bitwise/popcount_sw.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/reverse_bits.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Involution];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/rotl.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/rotr.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/shl.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/shr.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/bitwise/xor.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/clamp.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod eq;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod ge;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod gt;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod le;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod logical_not;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod lt;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/compare.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod ne;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/eq.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/eq.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/ge.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/ge.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/gt.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/gt.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/le.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/le.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/logical_not.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 1 }];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/lt.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/lt.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/compare/ne.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const BOOL_OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/compare/ne.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/primitive/float.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | automod::dir!(pub "src/ops/primitive/float");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_add.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Commutative];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_ceil.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_ceil.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_clamp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_clamp.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_cmp.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_cmp.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_div.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const LAWS: &[AlgebraicLaw] =
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_eq.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_eq.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_floor.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_floor.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_fma.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_fma.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_is_finite.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_is_finite.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_is_inf.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_is_inf.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_is_nan.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_is_nan.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_le.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_le.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_lt.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_lt.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_max.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_max.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_min.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_min.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_mul.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/float/f32_neg.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Involution];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_rem.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_rem.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_round.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_round.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_sign.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_sign.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_sub.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const LAWS: &[AlgebraicLaw] =
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]   --> src/ops/primitive/float/f32_trunc.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const SPEC: OpSpec = OpSpec::composition_inlinable(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/ops/primitive/float/f32_trunc.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn program() -> Program {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/max.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/min.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/primitive/select_op.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/reductions/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/reductions");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/argmax_u32.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/argmin_u32.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_all.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const INPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_all.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_all.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_any.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const INPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_any.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_any.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const OUTPUTS: &[DataType] = &[DataType::Bool];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_count.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_max_u32.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_min_u32.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/reductions/reduce_sum_u32.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/registry/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | automod::dir!(pub "src/ops/registry");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/rule/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | automod::dir!(pub "src/ops/rule");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/rule/builder.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn rule_buffers() -> Vec<BufferDecl> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/rule/builder.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn rule_nodes(rules: &[(RuleFormula, u32)]) -> Vec<Node> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/rule/builder.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn formula_expr(formula: &RuleFormula, rule_id: u32) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/rule/builder.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn condition_expr(condition: &RuleCondition, rule_id: u32) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/rule/builder.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn file_size_call(threshold: u64, op_id: &str, overflow_op_id: &str, rule_id: u32) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/rule/builder.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn call(op_id: &str, rule_id: u32, pattern_id: u32, threshold: u32) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/rule/builder.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn pattern_state(pattern_id: u32) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/rule/builder.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub fn pattern_count(pattern_id: u32) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/scan.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | automod::dir!(pub "src/ops/scan");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/scan/prefix_sum_inclusive.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LAWS: &[AlgebraicLaw] = &[
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/sort.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/sort");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/stats/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | automod::dir!(pub "src/ops/stats");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | automod::dir!(pub "src/ops/string");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/string/prefix_brace.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INPUTS: &[DataType] = &[DataType::Bytes];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/string/prefix_brace.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/string/prefix_brace.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32, DataType::U32];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string/tokenize_gpu.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn and(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string/tokenize_gpu.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn any_eq(byte: &Expr, values: &[u8]) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string/tokenize_gpu.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn classify(byte: &Expr) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string/tokenize_gpu.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn in_range(value: Expr, low: u8, high: u8) -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/string/tokenize_gpu.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn is_identifier(byte: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/ops/string/tokenize_gpu.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 7 }];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/string/tokenize_gpu.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn le(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/string/tokenize_gpu.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn or(left: Expr, right: Expr) -> Expr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ops/string_matching");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/aho_corasick_scan.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/aho_corasick_scan/kernel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod aho_corasick_scan;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/aho_corasick_scan/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod automaton;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/ops/string_matching/aho_corasick_scan/kernel/automaton.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Automaton {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/ops/string_matching/aho_corasick_scan/kernel/node.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Node {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/glob_match.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/glob_match/kernel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod glob_match;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/glob_match/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod star_question_match;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/glob_match/kernel/star_question_match.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn star_question_match(pattern: &[u8], input: &[u8]) -> bool {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/kmp_find.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/kmp_find/kernel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod kmp_find;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/kmp_find/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod prefix_table;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/kmp_find/kernel/prefix_table.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn prefix_table(needle: &[u8]) -> Vec<usize> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod match_from;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod nfa_scan;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod parse_program;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/string_matching/nfa_scan/kernel.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod token;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/match_from.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn match_from(tokens: &[Token], input: &[u8], start: usize) -> Option<usize> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/parse_program.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn parse_program(program: &[u8]) -> Result<Vec<Token>, MatchError> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/token.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Token {
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Literal(u8),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/token.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Any,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/token.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     StarLiteral(u8),
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/nfa_scan/kernel/token.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     StarAny,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/rabin_karp_find.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/rabin_karp_find/kernel.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod push_hash;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/rabin_karp_find/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod rabin_karp_find;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/rabin_karp_find/kernel.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod roll_hash;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod match_tokens;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod parse;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod token;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod wildcard_match;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/match_tokens.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn match_tokens(tokens: &[Token], input: &[u8]) -> bool {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/parse.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn parse(pattern: &[u8]) -> Vec<Token> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/token.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Token {
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Literal(u8),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/token.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Any,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/ops/string_matching/wildcard_match/kernel/token.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Star,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/string_similarity.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | automod::dir!(pub "src/ops/string_similarity");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/string_similarity/jaro_winkler.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const PREFIX_LIMIT: usize = 4;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/string_similarity/jaro_winkler.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const PREFIX_SCALE: f32 = 0.1;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/string_similarity/simhash64.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const FNV_OFFSET: u64 = 0xcbf2_9ce4_8422_2325;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/string_similarity/simhash64.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FNV_PRIME: u64 = 0x0000_0100_0000_01b3;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/string_similarity/simhash64.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const DEFAULT_GRAM: usize = 4;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string_similarity/simhash64.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn add_hash(weights: &mut [i32; 64], hash: u64) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/string_similarity/simhash64.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn fnv1a64(input: &[u8]) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_fifo/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_fifo/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_fifo/spec.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/queue_fifo/spec.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/workgroup/queue_fifo/spec.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_priority/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_priority/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/queue_priority/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/queue_priority/spec.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/queue_priority/spec.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/stack/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/stack/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/stack/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/stack/spec.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/stack/spec.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/hashmap/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/hashmap/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/hashmap/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/workgroup/primitives/hashmap/spec.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod codes {
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub const fn code(self) -> u32 {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Slot {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const OK: u32 = 0;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const ERR_OVERFLOW: u32 = 1;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const ERR_NOT_FOUND: u32 = 2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const REPLACED: u32 = 3;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const ERR_RESERVED_KEY: u32 = 4;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/hashmap/spec.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const ERR_INVALID_CAPACITY: u32 = 5;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/state_machine/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/state_machine/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/state_machine/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/state_machine/spec.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/primitives/state_machine/spec.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/workgroup/primitives/string_interner/mod.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub mod spec;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/string_interner/spec.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/string_interner/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/string_interner/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/primitives/string_interner/spec.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/workgroup/primitives/typed_arena/mod.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub mod spec;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/typed_arena/spec.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/typed_arena/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/typed_arena/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/primitives/typed_arena/spec.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/union_find/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/union_find/spec.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/union_find/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/ops/workgroup/primitives/union_find/spec.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const SPEC: OpSpec = OpSpec::intrinsic(
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/primitives/union_find/spec.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/workgroup/primitives/visitor/mod.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub mod spec;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/visitor/spec.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const INPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/visitor/spec.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const OUTPUTS: &[DataType] = &[DataType::U32, DataType::U32];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/workgroup/primitives/visitor/spec.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LAWS: &[AlgebraicLaw] = &[];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/ops/workgroup/primitives/visitor/spec.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn wgsl_only(backend: &Backend) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/lower/wgsl/analysis/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | automod::dir!(pub "src/lower/wgsl/analysis");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/lower/wgsl/analysis/collect_expr_atomics.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn collect_expr_atomics(expr: &Expr, buffers: &mut HashSet<String>) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/lower/wgsl/analysis/collect_node_atomics.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn collect_node_atomics(node: &Node, buffers: &mut HashSet<String>) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lower/wgsl/emit/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | automod::dir!(pub "src/lower/wgsl/emit");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/lower/wgsl/emit/emit_storage_load_helper.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub fn emit_storage_load_helper(
[INFO] [stdout]  6 | |     out: &mut String,
[INFO] [stdout]  7 | |     buf: &BufferDecl,
[INFO] [stdout]  8 | |     ty: &str,
[INFO] [stdout]  9 | |     zero: &str,
[INFO] [stdout] 10 | |     uses_atomics: bool,
[INFO] [stdout] 11 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/lower/wgsl/emit/emit_storage_store_helper.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn emit_storage_store_helper(out: &mut String, buf: &BufferDecl, ty: &str, uses_atomics: bool) {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/lower/wgsl/emit_wgsl.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn emit_wgsl(program: &Program) -> Result<String, Error> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/lower/wgsl/lower_no_optimize.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn lower_no_optimize(program: &Program) -> Result<String, Error> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/lower/wgsl/node.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 |   pub fn emit_nodes_with_barriers<'a>(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 25 | |     out: &mut String,
[INFO] [stdout] 26 | |     ctx: &mut LowerCtx<'a>,
[INFO] [stdout] 27 | |     nodes: &'a [Node],
[INFO] [stdout] 28 | |     program: &'a Program,
[INFO] [stdout] 29 | |     barriers: &mut BarrierState,
[INFO] [stdout] 30 | | ) -> Result<(), Error> {
[INFO] [stdout]    | |______________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/lower/wgsl/node.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 |   pub fn emit_node<'a>(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 46 | |     out: &mut String,
[INFO] [stdout] 47 | |     ctx: &mut LowerCtx<'a>,
[INFO] [stdout] 48 | |     node: &'a Node,
[INFO] [stdout] 49 | |     program: &'a Program,
[INFO] [stdout] 50 | |     barriers: &mut BarrierState,
[INFO] [stdout] 51 | | ) -> Result<(), Error> {
[INFO] [stdout]    | |______________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/lower/wgsl/node.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub fn emit_synchronization_barriers(out: &mut String, indent: usize) {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/lower/wgsl/node.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub struct BarrierState {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/lower/wgsl/node.rs:245:1
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn collect_atomic_buffers(expr: &crate::ir::Expr, buffers: &mut HashSet<String>) {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/bytemuck_safe.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum CastError {
[INFO] [stdout]   | ---^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/bytemuck_safe.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn safe_cast_slice<T: bytemuck::Pod>(bytes: &[u8]) -> Result<&[T], CastError> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/bytemuck_safe.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn safe_bytes_of_slice<T: bytemuck::Pod>(values: &[T]) -> &[u8] {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CastError` is never used
[INFO] [stdout]  --> src/bytemuck_safe.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum CastError {
[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 `safe_cast_slice` is never used
[INFO] [stdout]   --> src/bytemuck_safe.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn safe_cast_slice<T: bytemuck::Pod>(bytes: &[u8]) -> Result<&[T], CastError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_bytes_of_slice` is never used
[INFO] [stdout]   --> src/bytemuck_safe.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn safe_bytes_of_slice<T: bytemuck::Pod>(values: &[T]) -> &[u8] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/engine/tests.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn brace_depth_empty() -> Result<()> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout]    = note: requested on the command line with `-W unreachable-pub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/engine/tests.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn brace_depth_nested() -> Result<()> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/engine/tests.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn nested_depth_braces_and_parens() -> Result<()> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/engine/tests.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn newline_prefix() -> Result<()> {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ir/serial/wire/decode/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | automod::dir!(pub "src/ir/serial/wire/decode");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![warn(missing_docs)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/ir/serial/wire/decode/impl_reader.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn nodes(&mut self) -> Result<Vec<Node>, String> {
[INFO] [stdout]   |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/serial/wire/framing/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | automod::dir!(pub "src/ir/serial/wire/framing");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/ir/serial/wire/framing/impl_reader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn expect_magic(&mut self) -> Result<(), String> {
[INFO] [stdout]   |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn take(&mut self, len: usize) -> Result<&[u8], String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn u8(&mut self) -> Result<u8, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn u32(&mut self) -> Result<u32, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn i32(&mut self) -> Result<i32, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn bounded_len(&mut self, max: usize, label: &str) -> Result<usize, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/serial/wire/framing/impl_reader.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn string(&mut self) -> Result<String, String> {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/serial/wire/tags/mod.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | automod::dir!(pub "src/ir/serial/wire/tags");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/transform/optimize/cse/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | automod::dir!(pub "src/ir/transform/optimize/cse");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ir/transform/optimize/dce/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | automod::dir!(pub "src/ir/transform/optimize/dce");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/atomic_rules.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn validate_atomic(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 64 | |     op: &AtomicOp,
[INFO] [stdout] 65 | |     buffer: &str,
[INFO] [stdout] 66 | |     _index: &Expr,
[INFO] [stdout] ...  |
[INFO] [stdout] 71 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 72 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/barrier.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn check_barrier(divergent: bool, errors: &mut Vec<ValidationError>) {
[INFO] [stdout]    | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/bytes_rejection.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 |   pub fn check_store(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 48 | |     buffer: &str,
[INFO] [stdout] 49 | |     buffers: &FxHashMap<&str, &BufferDecl>,
[INFO] [stdout] 50 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 51 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/ir/validate/bytes_rejection.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 |   pub fn check_load(
[INFO] [stdout]     |   ^--
[INFO] [stdout]     |   |
[INFO] [stdout]     |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     | |
[INFO] [stdout]  99 | |     buffer: &str,
[INFO] [stdout] 100 | |     buffers: &FxHashMap<&str, &BufferDecl>,
[INFO] [stdout] 101 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 102 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/ir/validate/expr_rules.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn output_marker_count(buffers: &[BufferDecl]) -> usize {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]    --> src/ir/validate/expr_rules.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn call_input_count(program: &Program) -> usize {
[INFO] [stdout]     | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/ir/validate/nodes.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 |   pub fn validate_nodes(
[INFO] [stdout]    |   ^--
[INFO] [stdout]    |   |
[INFO] [stdout]    |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]    | |
[INFO] [stdout] 17 | |     nodes: &[Node],
[INFO] [stdout] 18 | |     buffers: &FxHashMap<&str, &BufferDecl>,
[INFO] [stdout] 19 | |     scope: &mut FxHashMap<String, Binding>,
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 24 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]  --> src/ir/validate/shadowing.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 |   pub fn check_local(
[INFO] [stdout]   |   ^--
[INFO] [stdout]   |   |
[INFO] [stdout]   |  _help: consider restricting its visibility: `pub(super)`
[INFO] [stdout]   | |
[INFO] [stdout] 6 | |     name: &str,
[INFO] [stdout] 7 | |     scope: &FxHashMap<String, Binding>,
[INFO] [stdout] 8 | |     errors: &mut Vec<ValidationError>,
[INFO] [stdout] 9 | | ) {
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = help: or consider exporting it for use by other crates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/buffer/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | automod::dir!(pub "src/ops/buffer");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/ops/compression/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | automod::dir!(pub "src/ops/compression");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/ops/compression/deflate_decompress/implementation.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod kernel;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/ops/compression/deflate_decompress/implementation/kernel.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const LAWS: &[AlgebraicLaw] = &[AlgebraicLaw::Bounded { lo: 0, hi: 255 }];
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_decompress/implementation/kernel.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn max_output_for_input(input_len: usize) -> Result<usize, String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_decompress/implementation/kernel.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn max_output_len() -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/ops/compression/deflate_decompress/implementation/kernel.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn max_allowed_len() -> Expr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[WARN] too many lines in the log, truncating it
