[INFO] fetching crate structom 0.1.3...
[INFO] testing structom-0.1.3 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate structom 0.1.3 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate structom 0.1.3
[INFO] finished tweaking crates.io crate structom 0.1.3
[INFO] tweaked toml for crates.io crate structom 0.1.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate structom 0.1.3 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate structom 0.1.3 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-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4d8aedcecd21441698dea873de06690f396ab39fe5ef58481a73b7e980bea43b
[INFO] running `Command { std: "docker" "start" "-a" "4d8aedcecd21441698dea873de06690f396ab39fe5ef58481a73b7e980bea43b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d8aedcecd21441698dea873de06690f396ab39fe5ef58481a73b7e980bea43b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d8aedcecd21441698dea873de06690f396ab39fe5ef58481a73b7e980bea43b", kill_on_drop: false }`
[INFO] [stdout] 4d8aedcecd21441698dea873de06690f396ab39fe5ef58481a73b7e980bea43b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2a1281dc4fd95928a2f161fda439a50518440ed41c07949f99cd4127dc397fec
[INFO] running `Command { std: "docker" "start" "-a" "2a1281dc4fd95928a2f161fda439a50518440ed41c07949f99cd4127dc397fec", kill_on_drop: false }`
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling structom v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 60 |     encode_typeid_commons!(Key, value, data);
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 18 |             $enum::Bool(_) => $data.push(BOOL_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 19 |             $enum::Uint(_) => $data.push(VUINT_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 20 |             $enum::Int(_) => $data.push(VINT_TYPEID),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 21 |             $enum::BigInt(_) => $data.push(BINT_TYPEID),
[INFO] [stdout]    |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 60 |     encode_typeid_commons!(Key, value, data);
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `encode_typeid_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 61 |     encode_value_commons!(Key, value, data);
[INFO] [stdout]    |     --------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 33 |             $enum::Bool(b) => encode_bool($data, *b),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 34 |             $enum::Uint(nb) => encode_vuint($data, *nb),
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 35 |             $enum::Int(nb) => encode_vint($data, *nb),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 36 |             $enum::BigInt(nb) => encode_u8_arr($data, nb),
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 61 |     encode_value_commons!(Key, value, data);
[INFO] [stdout]    |     --------------------------------------- in this macro invocation
[INFO] [stdout]    = note: this warning originates in the macro `encode_value_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 94 |                 encode_typeid_commons!(Key, first, data);
[INFO] [stdout]    |                 ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 18 |             $enum::Bool(_) => $data.push(BOOL_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 19 |             $enum::Uint(_) => $data.push(VUINT_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 20 |             $enum::Int(_) => $data.push(VINT_TYPEID),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 21 |             $enum::BigInt(_) => $data.push(BINT_TYPEID),
[INFO] [stdout]    |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 94 |                 encode_typeid_commons!(Key, first, data);
[INFO] [stdout]    |                 ---------------------------------------- in this macro invocation
[INFO] [stdout]    = note: this warning originates in the macro `encode_typeid_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 95 |                 |data, key| encode_value_commons!(Key, key, data)
[INFO] [stdout]    |                             ------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 33 |             $enum::Bool(b) => encode_bool($data, *b),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 34 |             $enum::Uint(nb) => encode_vuint($data, *nb),
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 35 |             $enum::Int(nb) => encode_vint($data, *nb),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 36 |             $enum::BigInt(nb) => encode_u8_arr($data, nb),
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 95 |                 |data, key| encode_value_commons!(Key, key, data)
[INFO] [stdout]    |                             ------------------------------------- in this macro invocation
[INFO] [stdout]    = note: this warning originates in the macro `encode_value_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/parser/value.rs:129:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if let Key::Str(key) = &key
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/stringify.rs:58:4
[INFO] [stdout]     |
[INFO] [stdout]  58 |             _ => (),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 138 |             str_commons!(Key, key, result);
[INFO] [stdout]     |             ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/stringify.rs:58:4
[INFO] [stdout]     |
[INFO] [stdout]  43 |             $ty::Bool(v) => match v {
[INFO] [stdout]     |             ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  47 |             $ty::Uint(nb) => $result.push_str(nb.to_string().as_str()),
[INFO] [stdout]     |             ------------- matches some of the same values
[INFO] [stdout]  48 |             $ty::Int(nb) => $result.push_str(nb.to_string().as_str()),
[INFO] [stdout]     |             ------------ matches some of the same values
[INFO] [stdout]  49 |             $ty::BigInt(_) => $result.push_str("0bint"),
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  58 |             _ => (),
[INFO] [stdout]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 138 |             str_commons!(Key, key, result);
[INFO] [stdout]     |             ------------------------------ in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `str_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser/tokenizer.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     BigInt(Vec<u8>, usize),
[INFO] [stdout]    |     ------ ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 18 -     BigInt(Vec<u8>, usize),
[INFO] [stdout] 18 +     BigInt((), usize),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_int` is never used
[INFO] [stdout]   --> src/parser/utils.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn consume_int(tokens: &[Token], ind: &mut usize) -> Result<i64, ParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_bigint` is never used
[INFO] [stdout]   --> src/parser/utils.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn consume_bigint<'a>(tokens: &'a [Token], ind: &mut usize) -> Result<&'a [u8], ParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_float` is never used
[INFO] [stdout]   --> src/parser/utils.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn consume_float(tokens: &[Token], ind: &mut usize) -> Result<f64, ParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_instN` should have a snake case name
[INFO] [stdout]   --> src/encoding/rich.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn encode_instN(data: &mut Vec<u8>, value: &DateTime<Utc>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_inst_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_instN` should have a snake case name
[INFO] [stdout]   --> src/encoding/rich.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn decode_instN(data: &[u8], ind: &mut usize) -> Option<DateTime<Utc>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_inst_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/tokenizer.rs:150:24
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn parse_float(source: &str, mut ind: usize) -> Result<(Token, usize), ParserError> {
[INFO] [stdout]     |                        ^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn parse_float(source: &str, mut ind: usize) -> Result<(Token<'_>, usize), ParserError> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/tokenizer.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn parse_nb(source: &str, mut ind: usize) -> Result<(Token, usize), ParserError> {
[INFO] [stdout]     |                     ^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn parse_nb(source: &str, mut ind: usize) -> Result<(Token<'_>, usize), ParserError> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/tokenizer.rs:304:25
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn tokenize(source: &str) -> Result<Vec<Token>, ParserError> {
[INFO] [stdout]     |                         ^^^^                ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn tokenize(source: &str) -> Result<Vec<Token<'_>>, ParserError> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.13s
[INFO] running `Command { std: "docker" "inspect" "2a1281dc4fd95928a2f161fda439a50518440ed41c07949f99cd4127dc397fec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a1281dc4fd95928a2f161fda439a50518440ed41c07949f99cd4127dc397fec", kill_on_drop: false }`
[INFO] [stdout] 2a1281dc4fd95928a2f161fda439a50518440ed41c07949f99cd4127dc397fec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6d5660aba7c7eacc473f702d28c6c776aa0448617572454c3090164d9fdcc16b
[INFO] running `Command { std: "docker" "start" "-a" "6d5660aba7c7eacc473f702d28c6c776aa0448617572454c3090164d9fdcc16b", kill_on_drop: false }`
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 60 |     encode_typeid_commons!(Key, value, data);
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 18 |             $enum::Bool(_) => $data.push(BOOL_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 19 |             $enum::Uint(_) => $data.push(VUINT_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 20 |             $enum::Int(_) => $data.push(VINT_TYPEID),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 21 |             $enum::BigInt(_) => $data.push(BINT_TYPEID),
[INFO] [stdout]    |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 60 |     encode_typeid_commons!(Key, value, data);
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `encode_typeid_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 61 |     encode_value_commons!(Key, value, data);
[INFO] [stdout]    |     --------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 33 |             $enum::Bool(b) => encode_bool($data, *b),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 34 |             $enum::Uint(nb) => encode_vuint($data, *nb),
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 35 |             $enum::Int(nb) => encode_vint($data, *nb),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 36 |             $enum::BigInt(nb) => encode_u8_arr($data, nb),
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 61 |     encode_value_commons!(Key, value, data);
[INFO] [stdout]    |     --------------------------------------- in this macro invocation
[INFO] [stdout]    = note: this warning originates in the macro `encode_value_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 94 |                 encode_typeid_commons!(Key, first, data);
[INFO] [stdout]    |                 ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 18 |             $enum::Bool(_) => $data.push(BOOL_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 19 |             $enum::Uint(_) => $data.push(VUINT_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 20 |             $enum::Int(_) => $data.push(VINT_TYPEID),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 21 |             $enum::BigInt(_) => $data.push(BINT_TYPEID),
[INFO] [stdout]    |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 94 |                 encode_typeid_commons!(Key, first, data);
[INFO] [stdout]    |                 ---------------------------------------- in this macro invocation
[INFO] [stdout]    = note: this warning originates in the macro `encode_typeid_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 95 |                 |data, key| encode_value_commons!(Key, key, data)
[INFO] [stdout]    |                             ------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 33 |             $enum::Bool(b) => encode_bool($data, *b),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 34 |             $enum::Uint(nb) => encode_vuint($data, *nb),
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 35 |             $enum::Int(nb) => encode_vint($data, *nb),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 36 |             $enum::BigInt(nb) => encode_u8_arr($data, nb),
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 95 |                 |data, key| encode_value_commons!(Key, key, data)
[INFO] [stdout]    |                             ------------------------------------- in this macro invocation
[INFO] [stdout]    = note: this warning originates in the macro `encode_value_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/parser/value.rs:129:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if let Key::Str(key) = &key
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/stringify.rs:58:4
[INFO] [stdout]     |
[INFO] [stdout]  58 |             _ => (),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 138 |             str_commons!(Key, key, result);
[INFO] [stdout]     |             ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/stringify.rs:58:4
[INFO] [stdout]     |
[INFO] [stdout]  43 |             $ty::Bool(v) => match v {
[INFO] [stdout]     |             ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  47 |             $ty::Uint(nb) => $result.push_str(nb.to_string().as_str()),
[INFO] [stdout]     |             ------------- matches some of the same values
[INFO] [stdout]  48 |             $ty::Int(nb) => $result.push_str(nb.to_string().as_str()),
[INFO] [stdout]     |             ------------ matches some of the same values
[INFO] [stdout]  49 |             $ty::BigInt(_) => $result.push_str("0bint"),
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  58 |             _ => (),
[INFO] [stdout]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 138 |             str_commons!(Key, key, result);
[INFO] [stdout]     |             ------------------------------ in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `str_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser/tokenizer.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     BigInt(Vec<u8>, usize),
[INFO] [stdout]    |     ------ ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 18 -     BigInt(Vec<u8>, usize),
[INFO] [stdout] 18 +     BigInt((), usize),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_int` is never used
[INFO] [stdout]   --> src/parser/utils.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn consume_int(tokens: &[Token], ind: &mut usize) -> Result<i64, ParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling structom v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `consume_bigint` is never used
[INFO] [stdout]   --> src/parser/utils.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn consume_bigint<'a>(tokens: &'a [Token], ind: &mut usize) -> Result<&'a [u8], ParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_float` is never used
[INFO] [stdout]   --> src/parser/utils.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn consume_float(tokens: &[Token], ind: &mut usize) -> Result<f64, ParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_instN` should have a snake case name
[INFO] [stdout]   --> src/encoding/rich.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn encode_instN(data: &mut Vec<u8>, value: &DateTime<Utc>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_inst_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_instN` should have a snake case name
[INFO] [stdout]   --> src/encoding/rich.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn decode_instN(data: &[u8], ind: &mut usize) -> Option<DateTime<Utc>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_inst_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/tokenizer.rs:150:24
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn parse_float(source: &str, mut ind: usize) -> Result<(Token, usize), ParserError> {
[INFO] [stdout]     |                        ^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn parse_float(source: &str, mut ind: usize) -> Result<(Token<'_>, usize), ParserError> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/tokenizer.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn parse_nb(source: &str, mut ind: usize) -> Result<(Token, usize), ParserError> {
[INFO] [stdout]     |                     ^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn parse_nb(source: &str, mut ind: usize) -> Result<(Token<'_>, usize), ParserError> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/tokenizer.rs:304:25
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn tokenize(source: &str) -> Result<Vec<Token>, ParserError> {
[INFO] [stdout]     |                         ^^^^                ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn tokenize(source: &str) -> Result<Vec<Token<'_>>, ParserError> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 60 |     encode_typeid_commons!(Key, value, data);
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 18 |             $enum::Bool(_) => $data.push(BOOL_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 19 |             $enum::Uint(_) => $data.push(VUINT_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 20 |             $enum::Int(_) => $data.push(VINT_TYPEID),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 21 |             $enum::BigInt(_) => $data.push(BINT_TYPEID),
[INFO] [stdout]    |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 60 |     encode_typeid_commons!(Key, value, data);
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `encode_typeid_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 61 |     encode_value_commons!(Key, value, data);
[INFO] [stdout]    |     --------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 33 |             $enum::Bool(b) => encode_bool($data, *b),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 34 |             $enum::Uint(nb) => encode_vuint($data, *nb),
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 35 |             $enum::Int(nb) => encode_vint($data, *nb),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 36 |             $enum::BigInt(nb) => encode_u8_arr($data, nb),
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 61 |     encode_value_commons!(Key, value, data);
[INFO] [stdout]    |     --------------------------------------- in this macro invocation
[INFO] [stdout]    = note: this warning originates in the macro `encode_value_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 94 |                 encode_typeid_commons!(Key, first, data);
[INFO] [stdout]    |                 ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 18 |             $enum::Bool(_) => $data.push(BOOL_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 19 |             $enum::Uint(_) => $data.push(VUINT_TYPEID),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 20 |             $enum::Int(_) => $data.push(VINT_TYPEID),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 21 |             $enum::BigInt(_) => $data.push(BINT_TYPEID),
[INFO] [stdout]    |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 26 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 94 |                 encode_typeid_commons!(Key, first, data);
[INFO] [stdout]    |                 ---------------------------------------- in this macro invocation
[INFO] [stdout]    = note: this warning originates in the macro `encode_typeid_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 95 |                 |data, key| encode_value_commons!(Key, key, data)
[INFO] [stdout]    |                             ------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/encoding/any.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 33 |             $enum::Bool(b) => encode_bool($data, *b),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 34 |             $enum::Uint(nb) => encode_vuint($data, *nb),
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 35 |             $enum::Int(nb) => encode_vint($data, *nb),
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] 36 |             $enum::BigInt(nb) => encode_u8_arr($data, nb),
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             _ => (),
[INFO] [stdout]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 95 |                 |data, key| encode_value_commons!(Key, key, data)
[INFO] [stdout]    |                             ------------------------------------- in this macro invocation
[INFO] [stdout]    = note: this warning originates in the macro `encode_value_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/parser/value.rs:129:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if let Key::Str(key) = &key
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/stringify.rs:58:4
[INFO] [stdout]     |
[INFO] [stdout]  58 |             _ => (),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 138 |             str_commons!(Key, key, result);
[INFO] [stdout]     |             ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/stringify.rs:58:4
[INFO] [stdout]     |
[INFO] [stdout]  43 |             $ty::Bool(v) => match v {
[INFO] [stdout]     |             ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  47 |             $ty::Uint(nb) => $result.push_str(nb.to_string().as_str()),
[INFO] [stdout]     |             ------------- matches some of the same values
[INFO] [stdout]  48 |             $ty::Int(nb) => $result.push_str(nb.to_string().as_str()),
[INFO] [stdout]     |             ------------ matches some of the same values
[INFO] [stdout]  49 |             $ty::BigInt(_) => $result.push_str("0bint"),
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  58 |             _ => (),
[INFO] [stdout]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 138 |             str_commons!(Key, key, result);
[INFO] [stdout]     |             ------------------------------ in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `str_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser/tokenizer.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     BigInt(Vec<u8>, usize),
[INFO] [stdout]    |     ------ ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 18 -     BigInt(Vec<u8>, usize),
[INFO] [stdout] 18 +     BigInt((), usize),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_int` is never used
[INFO] [stdout]   --> src/parser/utils.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn consume_int(tokens: &[Token], ind: &mut usize) -> Result<i64, ParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_bigint` is never used
[INFO] [stdout]   --> src/parser/utils.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn consume_bigint<'a>(tokens: &'a [Token], ind: &mut usize) -> Result<&'a [u8], ParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_float` is never used
[INFO] [stdout]   --> src/parser/utils.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn consume_float(tokens: &[Token], ind: &mut usize) -> Result<f64, ParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_instN` should have a snake case name
[INFO] [stdout]   --> src/encoding/rich.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn encode_instN(data: &mut Vec<u8>, value: &DateTime<Utc>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_inst_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_instN` should have a snake case name
[INFO] [stdout]   --> src/encoding/rich.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn decode_instN(data: &[u8], ind: &mut usize) -> Option<DateTime<Utc>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_inst_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/tokenizer.rs:150:24
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn parse_float(source: &str, mut ind: usize) -> Result<(Token, usize), ParserError> {
[INFO] [stdout]     |                        ^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn parse_float(source: &str, mut ind: usize) -> Result<(Token<'_>, usize), ParserError> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/tokenizer.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn parse_nb(source: &str, mut ind: usize) -> Result<(Token, usize), ParserError> {
[INFO] [stdout]     |                     ^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn parse_nb(source: &str, mut ind: usize) -> Result<(Token<'_>, usize), ParserError> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/tokenizer.rs:304:25
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn tokenize(source: &str) -> Result<Vec<Token>, ParserError> {
[INFO] [stdout]     |                         ^^^^                ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn tokenize(source: &str) -> Result<Vec<Token<'_>>, ParserError> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.28s
[INFO] running `Command { std: "docker" "inspect" "6d5660aba7c7eacc473f702d28c6c776aa0448617572454c3090164d9fdcc16b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d5660aba7c7eacc473f702d28c6c776aa0448617572454c3090164d9fdcc16b", kill_on_drop: false }`
[INFO] [stdout] 6d5660aba7c7eacc473f702d28c6c776aa0448617572454c3090164d9fdcc16b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b8afdfaa814c34cb4fbaf8dbfbb577d51cd50672bb17e9cc16129b96216edc45
[INFO] running `Command { std: "docker" "start" "-a" "b8afdfaa814c34cb4fbaf8dbfbb577d51cd50672bb17e9cc16129b96216edc45", kill_on_drop: false }`
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/encoding/any.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 26 |             _ => (),
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr] ...
[INFO] [stderr] 60 |     encode_typeid_commons!(Key, value, data);
[INFO] [stderr]    |     ---------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> src/encoding/any.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 18 |             $enum::Bool(_) => $data.push(BOOL_TYPEID),
[INFO] [stderr]    |             -------------- matches some of the same values
[INFO] [stderr] 19 |             $enum::Uint(_) => $data.push(VUINT_TYPEID),
[INFO] [stderr]    |             -------------- matches some of the same values
[INFO] [stderr] 20 |             $enum::Int(_) => $data.push(VINT_TYPEID),
[INFO] [stderr]    |             ------------- matches some of the same values
[INFO] [stderr] 21 |             $enum::BigInt(_) => $data.push(BINT_TYPEID),
[INFO] [stderr]    |             ---------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 26 |             _ => (),
[INFO] [stderr]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stderr] ...
[INFO] [stderr] 60 |     encode_typeid_commons!(Key, value, data);
[INFO] [stderr]    |     ---------------------------------------- in this macro invocation
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]    = note: this warning originates in the macro `encode_typeid_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/encoding/any.rs:41:4
[INFO] [stderr]    |
[INFO] [stderr] 41 |             _ => (),
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr] ...
[INFO] [stderr] 61 |     encode_value_commons!(Key, value, data);
[INFO] [stderr]    |     --------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> src/encoding/any.rs:41:4
[INFO] [stderr]    |
[INFO] [stderr] 33 |             $enum::Bool(b) => encode_bool($data, *b),
[INFO] [stderr]    |             -------------- matches some of the same values
[INFO] [stderr] 34 |             $enum::Uint(nb) => encode_vuint($data, *nb),
[INFO] [stderr]    |             --------------- matches some of the same values
[INFO] [stderr] 35 |             $enum::Int(nb) => encode_vint($data, *nb),
[INFO] [stderr]    |             -------------- matches some of the same values
[INFO] [stderr] 36 |             $enum::BigInt(nb) => encode_u8_arr($data, nb),
[INFO] [stderr]    |             ----------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 41 |             _ => (),
[INFO] [stderr]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stderr] ...
[INFO] [stderr] 61 |     encode_value_commons!(Key, value, data);
[INFO] [stderr]    |     --------------------------------------- in this macro invocation
[INFO] [stderr]    = note: this warning originates in the macro `encode_value_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/encoding/any.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 26 |             _ => (),
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr] ...
[INFO] [stderr] 94 |                 encode_typeid_commons!(Key, first, data);
[INFO] [stderr]    |                 ---------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> src/encoding/any.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 18 |             $enum::Bool(_) => $data.push(BOOL_TYPEID),
[INFO] [stderr]    |             -------------- matches some of the same values
[INFO] [stderr] 19 |             $enum::Uint(_) => $data.push(VUINT_TYPEID),
[INFO] [stderr]    |             -------------- matches some of the same values
[INFO] [stderr] 20 |             $enum::Int(_) => $data.push(VINT_TYPEID),
[INFO] [stderr]    |             ------------- matches some of the same values
[INFO] [stderr] 21 |             $enum::BigInt(_) => $data.push(BINT_TYPEID),
[INFO] [stderr]    |             ---------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 26 |             _ => (),
[INFO] [stderr]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stderr] ...
[INFO] [stderr] 94 |                 encode_typeid_commons!(Key, first, data);
[INFO] [stderr]    |                 ---------------------------------------- in this macro invocation
[INFO] [stderr]    = note: this warning originates in the macro `encode_typeid_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/encoding/any.rs:41:4
[INFO] [stderr]    |
[INFO] [stderr] 41 |             _ => (),
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr] ...
[INFO] [stderr] 95 |                 |data, key| encode_value_commons!(Key, key, data)
[INFO] [stderr]    |                             ------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> src/encoding/any.rs:41:4
[INFO] [stderr]    |
[INFO] [stderr] 33 |             $enum::Bool(b) => encode_bool($data, *b),
[INFO] [stderr]    |             -------------- matches some of the same values
[INFO] [stderr] 34 |             $enum::Uint(nb) => encode_vuint($data, *nb),
[INFO] [stderr]    |             --------------- matches some of the same values
[INFO] [stderr] 35 |             $enum::Int(nb) => encode_vint($data, *nb),
[INFO] [stderr]    |             -------------- matches some of the same values
[INFO] [stderr] 36 |             $enum::BigInt(nb) => encode_u8_arr($data, nb),
[INFO] [stderr]    |             ----------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 41 |             _ => (),
[INFO] [stderr]    |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stderr] ...
[INFO] [stderr] 95 |                 |data, key| encode_value_commons!(Key, key, data)
[INFO] [stderr]    |                             ------------------------------------- in this macro invocation
[INFO] [stderr]    = note: this warning originates in the macro `encode_value_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/parser/value.rs:129:19
[INFO] [stderr]     |
[INFO] [stderr] 129 |         if let Key::Str(key) = &key
[INFO] [stderr]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/stringify.rs:58:4
[INFO] [stderr]     |
[INFO] [stderr]  58 |             _ => (),
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr] ...
[INFO] [stderr] 138 |             str_commons!(Key, key, result);
[INFO] [stderr]     |             ------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/stringify.rs:58:4
[INFO] [stderr]     |
[INFO] [stderr]  43 |             $ty::Bool(v) => match v {
[INFO] [stderr]     |             ------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr]  47 |             $ty::Uint(nb) => $result.push_str(nb.to_string().as_str()),
[INFO] [stderr]     |             ------------- matches some of the same values
[INFO] [stderr]  48 |             $ty::Int(nb) => $result.push_str(nb.to_string().as_str()),
[INFO] [stderr]     |             ------------ matches some of the same values
[INFO] [stderr]  49 |             $ty::BigInt(_) => $result.push_str("0bint"),
[INFO] [stderr]     |             -------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr]  58 |             _ => (),
[INFO] [stderr]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stderr] ...
[INFO] [stderr] 138 |             str_commons!(Key, key, result);
[INFO] [stderr]     |             ------------------------------ in this macro invocation
[INFO] [stderr]     = note: this warning originates in the macro `str_commons` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/parser/tokenizer.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |     BigInt(Vec<u8>, usize),
[INFO] [stderr]    |     ------ ^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 18 -     BigInt(Vec<u8>, usize),
[INFO] [stderr] 18 +     BigInt((), usize),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: function `consume_int` is never used
[INFO] [stderr]   --> src/parser/utils.rs:55:8
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub fn consume_int(tokens: &[Token], ind: &mut usize) -> Result<i64, ParserError> {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `consume_bigint` is never used
[INFO] [stderr]   --> src/parser/utils.rs:73:8
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub fn consume_bigint<'a>(tokens: &'a [Token], ind: &mut usize) -> Result<&'a [u8], ParserError> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `consume_float` is never used
[INFO] [stderr]   --> src/parser/utils.rs:81:8
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub fn consume_float(tokens: &[Token], ind: &mut usize) -> Result<f64, ParserError> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `encode_instN` should have a snake case name
[INFO] [stderr]   --> src/encoding/rich.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn encode_instN(data: &mut Vec<u8>, value: &DateTime<Utc>) {
[INFO] [stderr]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_inst_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `decode_instN` should have a snake case name
[INFO] [stderr]   --> src/encoding/rich.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn decode_instN(data: &[u8], ind: &mut usize) -> Option<DateTime<Utc>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_inst_n`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser/tokenizer.rs:150:24
[INFO] [stderr]     |
[INFO] [stderr] 150 | fn parse_float(source: &str, mut ind: usize) -> Result<(Token, usize), ParserError> {
[INFO] [stderr]     |                        ^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 150 | fn parse_float(source: &str, mut ind: usize) -> Result<(Token<'_>, usize), ParserError> {
[INFO] [stderr]     |                                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser/tokenizer.rs:197:21
[INFO] [stderr]     |
[INFO] [stderr] 197 | fn parse_nb(source: &str, mut ind: usize) -> Result<(Token, usize), ParserError> {
[INFO] [stderr]     |                     ^^^^ the lifetime is elided here ^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 197 | fn parse_nb(source: &str, mut ind: usize) -> Result<(Token<'_>, usize), ParserError> {
[INFO] [stderr]     |                                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser/tokenizer.rs:304:25
[INFO] [stderr]     |
[INFO] [stderr] 304 | pub fn tokenize(source: &str) -> Result<Vec<Token>, ParserError> {
[INFO] [stderr]     |                         ^^^^                ^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 304 | pub fn tokenize(source: &str) -> Result<Vec<Token<'_>>, ParserError> {
[INFO] [stderr]     |                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `structom` (lib) generated 15 warnings (run `cargo fix --lib -p structom` to apply 3 suggestions)
[INFO] [stderr] warning: `structom` (lib test) generated 15 warnings (15 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/structom-78019e767c26835b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests structom
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test src/parser.rs - parser::parse_declaration_file (line 32) ... FAILED
[INFO] [stdout] test src/declaration.rs - declaration::FixedSetProvider (line 315) ... FAILED
[INFO] [stdout] test src/parser.rs - parser::parse (line 66) ... FAILED
[INFO] [stdout] test src/value.rs - value::Value (line 32) ... FAILED
[INFO] [stdout] test src/value.rs - value::Key (line 104) ... FAILED
[INFO] [stdout] test src/value.rs - value::Value (line 20) ... FAILED
[INFO] [stdout] test src/stringify.rs - stringify::stringify (line 27) ... FAILED
[INFO] [stdout] test src/fs_decl_provider.rs - fs_decl_provider::FSProvider (line 29) ... FAILED
[INFO] [stdout] test src/declaration.rs - declaration::FixedSetProviderRef (line 273) ... FAILED
[INFO] [stdout] test src/declaration.rs - declaration::VoidProvider (line 251) ... FAILED
[INFO] [stdout] test src/value.rs - value::Value (line 49) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/parser.rs - parser::parse_declaration_file (line 32) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `parse_declaration_file` in this scope
[INFO] [stdout]  --> src/parser.rs:33:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | let file = parse_declaration_file(
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::parse_declaration_file;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ParseOptions`
[INFO] [stdout]  --> src/parser.rs:34:47
[INFO] [stdout]   |
[INFO] [stdout] 4 |     "struct A { v: vint }", "file".to_string(), &ParseOptions::default(), &VoidProvider{}
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^ use of undeclared type `ParseOptions`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::ParseOptions;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `VoidProvider` in this scope
[INFO] [stdout]  --> src/parser.rs:34:73
[INFO] [stdout]   |
[INFO] [stdout] 4 |     "struct A { v: vint }", "file".to_string(), &ParseOptions::default(), &VoidProvider{}
[INFO] [stdout]   |                                                                            ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::VoidProvider;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/declaration.rs - declaration::FixedSetProvider (line 315) stdout ----
[INFO] [stdout] error: expected expression, found `,`
[INFO] [stdout]  --> src/declaration.rs:317:34
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parse_declaration_file(/* ... */, "file1", &ParseOptions::default(), &VoidProvider{}).unwrap(),
[INFO] [stdout]   |                                     ^ expected expression
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `,`
[INFO] [stdout]  --> src/declaration.rs:318:34
[INFO] [stdout]   |
[INFO] [stdout] 5 |     parse_declaration_file(/* ... */, "file2", &ParseOptions::default(), &VoidProvider{}).unwrap(),
[INFO] [stdout]   |                                     ^ expected expression
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FixedSetProvider`
[INFO] [stdout]  --> src/declaration.rs:316:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | let provider = FixedSetProvider::new(vec![
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^ use of undeclared type `FixedSetProvider`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::FixedSetProvider;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser.rs - parser::parse (line 66) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `parse` in this scope
[INFO] [stdout]  --> src/parser.rs:67:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | let value = parse(
[INFO] [stdout]   |             ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 2 + use chrono::format::parse;
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::parse;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ParseOptions`
[INFO] [stdout]  --> src/parser.rs:68:60
[INFO] [stdout]   |
[INFO] [stdout] 4 |     "{ nb: 1, str: \"hello\", bool: true, arr: [1, 2, 3] }", &ParseOptions::default(), &VoidProvider{}
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^ use of undeclared type `ParseOptions`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::ParseOptions;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `VoidProvider` in this scope
[INFO] [stdout]  --> src/parser.rs:68:86
[INFO] [stdout]   |
[INFO] [stdout] 4 |     "{ nb: 1, str: \"hello\", bool: true, arr: [1, 2, 3] }", &ParseOptions::default(), &VoidProvider{}
[INFO] [stdout]   |                                                                                         ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::VoidProvider;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/value.rs - value::Value (line 32) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Value`
[INFO] [stdout]  --> src/value.rs:33:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | let value = Value::Uint(1);
[INFO] [stdout]   |             ^^^^^ use of undeclared type `Value`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::Value;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Value`
[INFO] [stdout]   --> src/value.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | Value::from(vec![1, 2, 3])[1]
[INFO] [stdout]    | ^^^^^ use of undeclared type `Value`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  2 + use structom::Value;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/value.rs - value::Key (line 104) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Value`
[INFO] [stdout]  --> src/value.rs:105:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | let map = Value::Map(HashMap::new())
[INFO] [stdout]   |           ^^^^^ use of undeclared type `Value`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::Value;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HashMap`
[INFO] [stdout]  --> src/value.rs:105:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | let map = Value::Map(HashMap::new())
[INFO] [stdout]   |                      ^^^^^^^ use of undeclared type `HashMap`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use std::collections::HashMap;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Key`
[INFO] [stdout]  --> src/value.rs:106:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     .insert(Key::from("some_key"), Value::Uint(1));
[INFO] [stdout]   |             ^^^ use of undeclared type `Key`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::Key;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Value`
[INFO] [stdout]  --> src/value.rs:106:33
[INFO] [stdout]   |
[INFO] [stdout] 4 |     .insert(Key::from("some_key"), Value::Uint(1));
[INFO] [stdout]   |                                    ^^^^^ use of undeclared type `Value`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::Value;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/value.rs - value::Value (line 20) stdout ----
[INFO] [stdout] error: expected one of `!` or `::`, found `(`
[INFO] [stdout]  --> src/value.rs:22:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | Value::from(1) // => Uint(1)
[INFO] [stdout]   |            ^ expected one of `!` or `::`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/stringify.rs - stringify::stringify (line 27) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Value`
[INFO] [stdout]  --> src/stringify.rs:28:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | let value = Value::from(vec![1, 2, 3]);
[INFO] [stdout]   |             ^^^^^ use of undeclared type `Value`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::Value;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, found macro `stringify`
[INFO] [stdout]  --> src/stringify.rs:29:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | stringify(value, &StringifyOptions::default())
[INFO] [stdout]   | ^^^^^^^^^ not a function
[INFO] [stdout]   |
[INFO] [stdout] help: use `!` to invoke the macro
[INFO] [stdout]   |
[INFO] [stdout] 4 | stringify!(value, &StringifyOptions::default())
[INFO] [stdout]   |          +
[INFO] [stdout] help: consider importing this function instead
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::stringify;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `StringifyOptions`
[INFO] [stdout]  --> src/stringify.rs:29:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | stringify(value, &StringifyOptions::default())
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^ use of undeclared type `StringifyOptions`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::StringifyOptions;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/fs_decl_provider.rs - fs_decl_provider::FSProvider (line 29) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FSProvider`
[INFO] [stdout]  --> src/fs_decl_provider.rs:30:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | let provider = FSProvider::new("/path/to/decls").unwrap();
[INFO] [stdout]   |                ^^^^^^^^^^ use of undeclared type `FSProvider`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::FSProvider;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `parse` in this scope
[INFO] [stdout]  --> src/fs_decl_provider.rs:36:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | parse(
[INFO] [stdout]   | ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 2 + use chrono::format::parse;
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::parse;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ParseOptions`
[INFO] [stdout]   --> src/fs_decl_provider.rs:38:3
[INFO] [stdout]    |
[INFO] [stdout] 11 |     &ParseOptions::default(), &provider
[INFO] [stdout]    |      ^^^^^^^^^^^^ use of undeclared type `ParseOptions`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  2 + use structom::ParseOptions;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `parse` in this scope
[INFO] [stdout]   --> src/fs_decl_provider.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert!(parse("import \"not_found.stomd\" ... ", &ParseOptions::default(), &provider).is_err() == true);
[INFO] [stdout]    |         ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  2 + use chrono::format::parse;
[INFO] [stdout]    |
[INFO] [stdout]  2 + use structom::parse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ParseOptions`
[INFO] [stdout]   --> src/fs_decl_provider.rs:42:51
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert!(parse("import \"not_found.stomd\" ... ", &ParseOptions::default(), &provider).is_err() == true);
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^ use of undeclared type `ParseOptions`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  2 + use structom::ParseOptions;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/declaration.rs - declaration::FixedSetProviderRef (line 273) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FixedSetProviderRef`
[INFO] [stdout]  --> src/declaration.rs:274:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | let provider = FixedSetProviderRef::new(&[
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^ use of undeclared type `FixedSetProviderRef`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::FixedSetProviderRef;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `some_provider` in this scope
[INFO] [stdout]  --> src/declaration.rs:275:2
[INFO] [stdout]   |
[INFO] [stdout] 4 |     some_provider.get_by_name("file1").unwrap(),
[INFO] [stdout]   |     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `other_provider` in this scope
[INFO] [stdout]  --> src/declaration.rs:276:2
[INFO] [stdout]   |
[INFO] [stdout] 5 |     other_provider.get_by_name("file2").unwrap(),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/declaration.rs - declaration::VoidProvider (line 251) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `parse` in this scope
[INFO] [stdout]  --> src/declaration.rs:252:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | parse("{ only_builtin_used: true }", &ParseOptions::default(), &VoidProvider{});
[INFO] [stdout]   | ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]   |
[INFO] [stdout] 2 + use chrono::format::parse;
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::parse;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ParseOptions`
[INFO] [stdout]  --> src/declaration.rs:252:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | parse("{ only_builtin_used: true }", &ParseOptions::default(), &VoidProvider{});
[INFO] [stdout]   |                                       ^^^^^^^^^^^^ use of undeclared type `ParseOptions`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::ParseOptions;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `VoidProvider` in this scope
[INFO] [stdout]  --> src/declaration.rs:252:65
[INFO] [stdout]   |
[INFO] [stdout] 3 | parse("{ only_builtin_used: true }", &ParseOptions::default(), &VoidProvider{});
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::VoidProvider;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/value.rs - value::Value (line 49) stdout ----
[INFO] [stdout] error: comparison operators cannot be chained
[INFO] [stdout]  --> src/value.rs:53:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | value.cast<u64>(); // => Ok(1)
[INFO] [stdout]   |           ^   ^
[INFO] [stdout]   |
[INFO] [stdout] help: use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
[INFO] [stdout]   |
[INFO] [stdout] 6 | value.cast::<u64>(); // => Ok(1)
[INFO] [stdout]   |           ++
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Value`
[INFO] [stdout]  --> src/value.rs:50:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | let value = Value::Uint(1);
[INFO] [stdout]   |             ^^^^^ use of undeclared type `Value`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::Value;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, found macro `stringify`
[INFO] [stdout]  --> src/value.rs:56:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | stringify(value, &StringifyOptions::default()); // => "1"
[INFO] [stdout]   | ^^^^^^^^^ not a function
[INFO] [stdout]   |
[INFO] [stdout] help: use `!` to invoke the macro
[INFO] [stdout]   |
[INFO] [stdout] 9 | stringify!(value, &StringifyOptions::default()); // => "1"
[INFO] [stdout]   |          +
[INFO] [stdout] help: consider importing this function instead
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::stringify;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `StringifyOptions`
[INFO] [stdout]  --> src/value.rs:56:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | stringify(value, &StringifyOptions::default()); // => "1"
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^ use of undeclared type `StringifyOptions`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use structom::StringifyOptions;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `encode` in this scope
[INFO] [stdout]   --> src/value.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | encode(value);
[INFO] [stdout]    | ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout]  2 + use structom::encode;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/declaration.rs - declaration::FixedSetProvider (line 315)
[INFO] [stdout]     src/declaration.rs - declaration::FixedSetProviderRef (line 273)
[INFO] [stdout]     src/declaration.rs - declaration::VoidProvider (line 251)
[INFO] [stdout]     src/fs_decl_provider.rs - fs_decl_provider::FSProvider (line 29)
[INFO] [stdout]     src/parser.rs - parser::parse (line 66)
[INFO] [stdout]     src/parser.rs - parser::parse_declaration_file (line 32)
[INFO] [stdout]     src/stringify.rs - stringify::stringify (line 27)
[INFO] [stdout]     src/value.rs - value::Key (line 104)
[INFO] [stdout]     src/value.rs - value::Value (line 20)
[INFO] [stdout]     src/value.rs - value::Value (line 32)
[INFO] [stdout]     src/value.rs - value::Value (line 49)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 11 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.75s; merged doctests compilation took 0.24s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "b8afdfaa814c34cb4fbaf8dbfbb577d51cd50672bb17e9cc16129b96216edc45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8afdfaa814c34cb4fbaf8dbfbb577d51cd50672bb17e9cc16129b96216edc45", kill_on_drop: false }`
[INFO] [stdout] b8afdfaa814c34cb4fbaf8dbfbb577d51cd50672bb17e9cc16129b96216edc45
