[INFO] cloning repository https://github.com/tmthecoder/smb_reader [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tmthecoder/smb_reader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmthecoder%2Fsmb_reader", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmthecoder%2Fsmb_reader'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4be019620275d71f7c0d605e133046c8f9dbc88e [INFO] checking tmthecoder/smb_reader against master#af4a5a13a15fa0c60e06321077ef452f769b42fd for pr-122960-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmthecoder%2Fsmb_reader" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tmthecoder/smb_reader on toolchain af4a5a13a15fa0c60e06321077ef452f769b42fd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tmthecoder/smb_reader [INFO] finished tweaking git repo https://github.com/tmthecoder/smb_reader [INFO] tweaked toml for git repo https://github.com/tmthecoder/smb_reader written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/tmthecoder/smb_reader 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" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded des v0.8.1 [INFO] [stderr] Downloaded rc4 v0.1.0 [INFO] [stderr] Downloaded dbl v0.3.2 [INFO] [stderr] Downloaded der v0.7.1 [INFO] [stderr] Downloaded bitflags v2.0.2 [INFO] [stderr] Downloaded cmac v0.7.2 [INFO] [stderr] Downloaded nom-derive-impl v0.10.1 [INFO] [stderr] Downloaded nom-derive v0.10.1 [INFO] [stderr] Downloaded uuid-macro-internal v1.3.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cf8476a96a7ba009d7c997297cc63a7d45404f0a19c3751fee9caa83c6566216 [INFO] running `Command { std: "docker" "start" "-a" "cf8476a96a7ba009d7c997297cc63a7d45404f0a19c3751fee9caa83c6566216", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cf8476a96a7ba009d7c997297cc63a7d45404f0a19c3751fee9caa83c6566216", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cf8476a96a7ba009d7c997297cc63a7d45404f0a19c3751fee9caa83c6566216", kill_on_drop: false }` [INFO] [stdout] cf8476a96a7ba009d7c997297cc63a7d45404f0a19c3751fee9caa83c6566216 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 85350c90eab7ffe09a27ce4e2fbdb1ff81efc010e3fb3454989b31733f9a7942 [INFO] running `Command { std: "docker" "start" "-a" "85350c90eab7ffe09a27ce4e2fbdb1ff81efc010e3fb3454989b31733f9a7942", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Checking unicode-ident v1.0.8 [INFO] [stderr] Compiling serde_derive v1.0.158 [INFO] [stderr] Compiling serde v1.0.158 [INFO] [stderr] Checking generic-array v0.14.6 [INFO] [stderr] Checking subtle v2.4.1 [INFO] [stderr] Compiling indexmap v1.9.2 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Checking strsim v0.10.0 [INFO] [stderr] Compiling winnow v0.4.1 [INFO] [stderr] Compiling toml_datetime v0.6.1 [INFO] [stderr] Checking ident_case v1.0.1 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling quote v1.0.32 [INFO] [stderr] Compiling uuid v1.3.0 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Compiling syn v2.0.28 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking digest v0.10.6 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Compiling once_cell v1.17.1 [INFO] [stderr] Compiling rustversion v1.0.12 [INFO] [stderr] Compiling smb-core v0.1.0 (/opt/rustwide/workdir/smb-core) [INFO] [stderr] Checking getrandom v0.2.8 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking dbl v0.3.2 [INFO] [stderr] Compiling toml_edit v0.19.8 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking cmac v0.7.2 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking aes v0.8.2 [INFO] [stderr] Checking sha2 v0.10.6 [INFO] [stderr] Checking md4 v0.10.2 [INFO] [stderr] Checking md-5 v0.10.5 [INFO] [stderr] Checking des v0.8.1 [INFO] [stderr] Checking rc4 v0.1.0 [INFO] [stderr] Checking bytes v1.5.0 [INFO] [stderr] Compiling darling_core v0.14.4 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Checking darling_core v0.20.3 [INFO] [stderr] Checking der v0.7.1 [INFO] [stderr] Compiling uuid-macro-internal v1.3.0 [INFO] [stderr] Compiling darling_macro v0.14.4 [INFO] [stderr] Compiling nom-derive-impl v0.10.1 [INFO] [stderr] Compiling num_enum_derive v0.5.11 [INFO] [stderr] Compiling darling_macro v0.20.3 [INFO] [stderr] Compiling darling v0.14.4 [INFO] [stderr] Compiling derive_builder_core v0.12.0 [INFO] [stderr] Compiling darling v0.20.3 [INFO] [stderr] Checking smb-derive v0.0.1 (/opt/rustwide/workdir/smb-derive) [INFO] [stderr] Checking num_enum v0.5.11 [INFO] [stderr] Checking nom-derive v0.10.1 [INFO] [stderr] Compiling derive_builder_macro v0.12.0 [INFO] [stdout] warning: unused variable: `names1` [INFO] [stdout] --> smb-derive/src/field_mapping.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | let names1 = names.clone(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_names1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `names1` [INFO] [stdout] --> smb-derive/src/field_mapping.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | let names1 = names.clone(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_names1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> smb-derive/src/field.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | let ty = &self.ty; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `skip` [INFO] [stdout] --> smb-derive/src/attrs.rs:668:13 [INFO] [stdout] | [INFO] [stdout] 668 | let skip = Skip::new(10, 10); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_skip` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> smb-derive/src/field.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | let ty = &self.ty; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `names1` [INFO] [stdout] --> smb-derive/src/field_mapping.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | let names1 = names.clone(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_names1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> smb-derive/src/field.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | let ty = &self.ty; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DiscriminatedEnum` is never constructed [INFO] [stdout] --> smb-derive/src/field_mapping.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum SMBFieldMappingType { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 29 | DiscriminatedEnum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SMBFieldMappingType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DiscriminatedEnum` is never constructed [INFO] [stdout] --> smb-derive/src/field_mapping.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum SMBFieldMappingType { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 29 | DiscriminatedEnum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SMBFieldMappingType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DiscriminatedEnum` is never constructed [INFO] [stdout] --> smb-derive/src/field_mapping.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum SMBFieldMappingType { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 29 | DiscriminatedEnum, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SMBFieldMappingType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking derive_builder v0.12.0 [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking bitflags v2.0.2 [INFO] [stderr] Checking smb_reader v0.1.0 (/opt/rustwide/workdir/smb) [INFO] [stdout] token: &self.low_date_time, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.low_date_time); [INFO] [stdout] token: &self.high_date_time, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.high_date_time); [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] Count: if 8usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(8usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [8usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 10usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.hash_algorithms, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.hash_algorithms, 1usize, size); [INFO] [stdout] token: &self.salt, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.salt, 1usize, size); [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 8usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.ciphers, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.ciphers, 1usize, size); [INFO] [stdout] token: &self.low_date_time, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.low_date_time); [INFO] [stdout] token: &self.high_date_time, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.high_date_time); [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] Count: if 8usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(8usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [8usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.flags, size: let size = 10usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.compression_algorithms, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.compression_algorithms, 1usize, size); [INFO] [stdout] token: &self.reserved, size: let size = 10usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.hash_algorithms, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.hash_algorithms, 1usize, size); [INFO] [stdout] token: &self.salt, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.salt, 1usize, size); [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 8usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.ciphers, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.ciphers, 1usize, size); [INFO] [stdout] token: &self.reserved, size: let size = 6usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.netname, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.netname, 2usize, size); [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.flags, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.flags, size: let size = 10usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.compression_algorithms, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.compression_algorithms, 1usize, size); [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 14usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.transform_ids, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.transform_ids, 1usize, size); [INFO] [stdout] token: &self.reserved, size: let size = 6usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.netname, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.netname, 2usize, size); [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 8usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.signing_algorithms, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.signing_algorithms, 1usize, size); [INFO] [stdout] token: &self.flags, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 14usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.transform_ids, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.transform_ids, 1usize, size); [INFO] [stdout] Count: if 2usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(2usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [2usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] Count: if 32usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(32usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [32usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.security_mode, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.security_mode); [INFO] [stdout] token: &self.capabilities, size: let size = 8usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.capabilities); [INFO] [stdout] token: &self.client_uuid, size: let size = 12usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.client_uuid); [INFO] [stdout] token: &self.reserved, size: let size = 36usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.reserved, size: let size = 8usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.signing_algorithms, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] token: &self.dialects, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.dialects, 1usize, size); [INFO] [stdout] :: smb_byte_size_vec(&self.signing_algorithms, 1usize, size); [INFO] [stdout] token: &self.negotiate_contexts, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.negotiate_contexts, 8usize, size); [INFO] [stdout] token: &self.security_mode, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.security_mode); [INFO] [stdout] token: &self.dialect, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.dialect); [INFO] [stdout] token: &self.guid, size: let size = 8usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.guid); [INFO] [stdout] token: &self.capabilities, size: let size = 24usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.capabilities); [INFO] [stdout] token: &self.max_transact_size, size: let size = 28usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.max_transact_size); [INFO] [stdout] token: &self.max_read_size, size: let size = 32usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.max_read_size); [INFO] [stdout] token: &self.max_write_size, size: let size = 36usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.max_write_size); [INFO] [stdout] token: &self.system_time, size: let size = 40usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.system_time); [INFO] [stdout] token: &self.server_start_time, size: let size = 48usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.server_start_time); [INFO] [stdout] token: &self.buffer, size: let size = :: std :: cmp :: max(size, 64usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.buffer, 1usize, size); [INFO] [stdout] token: &self.negotiate_contexts, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.negotiate_contexts, 8usize, size); [INFO] [stdout] Count: if 2usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(2usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [2usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] Count: if 32usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(32usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [32usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.security_mode, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.security_mode); [INFO] [stdout] token: &self.capabilities, size: let size = 8usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.capabilities); [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.client_uuid, size: let size = 12usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.client_uuid); [INFO] [stdout] token: &self.reserved, size: let size = 36usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.dialects, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.dialects, 1usize, size); [INFO] [stdout] token: &self.negotiate_contexts, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.negotiate_contexts, 8usize, size); [INFO] [stdout] token: &self.security_mode, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.security_mode); [INFO] [stdout] token: &self.dialect, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.dialect); [INFO] [stdout] token: &self.guid, size: let size = 8usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.guid); [INFO] [stdout] token: &self.capabilities, size: let size = 24usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.capabilities); [INFO] [stdout] token: &self.max_transact_size, size: let size = 28usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.max_transact_size); [INFO] [stdout] token: &self.max_read_size, size: let size = 32usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.max_read_size); [INFO] [stdout] token: &self.max_write_size, size: let size = 36usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.max_write_size); [INFO] [stdout] token: &self.system_time, size: let size = 40usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.system_time); [INFO] [stdout] token: &self.flags, size: let size = 2usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.security_mode, size: let size = 3usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.security_mode); [INFO] [stdout] token: &self.server_start_time, size: let size = 48usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] token: &self.capabilities, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.capabilities); [INFO] [stdout] token: &self.previous_session_id, size: let size = 16usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.previous_session_id); [INFO] [stdout] token: &self.buffer, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] smb_byte_size(&self.server_start_time); [INFO] [stdout] :: smb_byte_size_vec(&self.buffer, 1usize, size); [INFO] [stdout] token: &self.buffer, size: let size = :: std :: cmp :: max(size, 64usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.buffer, 1usize, size); [INFO] [stdout] token: &self.negotiate_contexts, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.negotiate_contexts, 8usize, size); [INFO] [stdout] Count: if 6usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(6usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [6usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.session_flags, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.session_flags); [INFO] [stdout] token: &self.buffer, size: let size = :: std :: cmp :: max(size, 8usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.buffer, 1usize, size); [INFO] [stdout] token: &self.flags, size: let size = 2usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.security_mode, size: let size = 3usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.security_mode); [INFO] [stdout] token: &self.capabilities, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.capabilities); [INFO] [stdout] token: &self.previous_session_id, size: let size = 16usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.previous_session_id); [INFO] [stdout] token: &self.buffer, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.buffer, 1usize, size); [INFO] [stdout] token: &self.user, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.user); [INFO] [stdout] token: &self.user_name, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.user_name); [INFO] [stdout] token: &self.domain, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.domain); [INFO] [stdout] token: &self.groups, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.groups); [INFO] [stdout] token: &self.restricted_groups, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.restricted_groups); [INFO] [stdout] token: &self.privileges, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.privileges); [INFO] [stdout] token: &self.primary_group, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.primary_group); [INFO] [stdout] token: &self.owner, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.owner); [INFO] [stdout] token: &self.default_dacl, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.default_dacl); [INFO] [stdout] token: &self.device_groups, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.device_groups); [INFO] [stdout] token: &self.user_claims, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.user_claims); [INFO] [stdout] token: &self.device_claims, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.device_claims); [INFO] [stdout] Count: if 0usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(0usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [0usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.data, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.data, 1usize, size); [INFO] [stdout] token: &self.session_flags, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.session_flags); [INFO] [stdout] token: &self.buffer, size: let size = :: std :: cmp :: max(size, 8usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.buffer, 1usize, size); [INFO] [stdout] token: &self.sid_data, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.sid_data); [INFO] [stdout] token: &self.attr, size: let size = 1usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.attr); [INFO] [stdout] Count: if 0usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(0usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [0usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.array, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.array, 1usize, size); [INFO] [stdout] token: &self.luid, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.luid); [INFO] [stdout] token: &self.attr, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.attr); [INFO] [stdout] Count: if 0usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(0usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [0usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.array, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.array, 1usize, size); [INFO] [stdout] token: &self.user, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.user); [INFO] [stdout] token: &self.user_name, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.user_name); [INFO] [stdout] token: &self.domain, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.domain); [INFO] [stdout] token: &self.groups, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.groups); [INFO] [stdout] token: &self.restricted_groups, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.restricted_groups); [INFO] [stdout] token: &self.privileges, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.privileges); [INFO] [stdout] token: &self.primary_group, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.primary_group); [INFO] [stdout] token: &self.owner, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.owner); [INFO] [stdout] token: &self.default_dacl, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.default_dacl); [INFO] [stdout] token: &self.device_groups, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.device_groups); [INFO] [stdout] token: &self.user_claims, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.user_claims); [INFO] [stdout] token: &self.device_claims, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.device_claims); [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51432..51449) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51450..51455) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51456..51457) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(51458..51461) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_string", span: #0 bytes(51470..51480) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "order", span: #0 bytes(51481..51486) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51487..51488) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51489..51490) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51490..51491) }, Ident { ident: "start", span: #0 bytes(51492..51497) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51498..51503) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51504..51509) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51510..51511) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51512..51513) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51513..51514) }, Ident { ident: "num_type", span: #0 bytes(51515..51523) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51524..51525) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51526..51531) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51531..51532) }, Ident { ident: "subtract", span: #0 bytes(51533..51541) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51542..51543) }, Literal { kind: Integer, symbol: "68", suffix: None, span: #0 bytes(51544..51546) }], span: #0 bytes(51503..51547) }], span: #0 bytes(51497..51548) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51548..51549) }, Ident { ident: "length", span: #0 bytes(51550..51556) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51557..51562) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51563..51568) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51569..51570) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(51571..51572) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51572..51573) }, Ident { ident: "num_type", span: #0 bytes(51574..51582) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51583..51584) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51585..51590) }], span: #0 bytes(51562..51591) }], span: #0 bytes(51556..51592) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51592..51593) }, Ident { ident: "underlying", span: #0 bytes(51594..51604) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51605..51606) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51607..51612) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(51639..51649) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(51650..51655) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(51656..51661) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51662..51663) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51664..51665) }], span: #0 bytes(51655..51666) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51675..51692) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51693..51698) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51699..51700) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(51701..51704) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1724 bytes(51350..51366) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1724 bytes(51350..51366) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [String(SMBString { order: 0, start: Inner(DirectInner { start: 0, num_type: "u16", subtract: 68, min_val: 0 }), length: Inner(DirectInner { start: 2, num_type: "u16", subtract: 0, min_val: 0 }), underlying: "u16" })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "Path", span: #0 bytes(51619..51623) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1724 bytes(51350..51366) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1724 bytes(51350..51366) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Extension", span: #0 bytes(51711..51720) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51432..51449) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51450..51455) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51456..51457) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(51458..51461) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_string", span: #0 bytes(51470..51480) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "order", span: #0 bytes(51481..51486) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51487..51488) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51489..51490) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51490..51491) }, Ident { ident: "start", span: #0 bytes(51492..51497) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51498..51503) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51504..51509) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51510..51511) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51512..51513) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51513..51514) }, Ident { ident: "num_type", span: #0 bytes(51515..51523) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51524..51525) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51526..51531) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51531..51532) }, Ident { ident: "subtract", span: #0 bytes(51533..51541) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51542..51543) }, Literal { kind: Integer, symbol: "68", suffix: None, span: #0 bytes(51544..51546) }], span: #0 bytes(51503..51547) }], span: #0 bytes(51497..51548) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51548..51549) }, Ident { ident: "length", span: #0 bytes(51550..51556) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51557..51562) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51563..51568) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51569..51570) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(51571..51572) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51572..51573) }, Ident { ident: "num_type", span: #0 bytes(51574..51582) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51583..51584) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51585..51590) }], span: #0 bytes(51562..51591) }], span: #0 bytes(51556..51592) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51592..51593) }, Ident { ident: "underlying", span: #0 bytes(51594..51604) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51605..51606) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51607..51612) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(51639..51649) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(51650..51655) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(51656..51661) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51662..51663) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51664..51665) }], span: #0 bytes(51655..51666) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51675..51692) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51693..51698) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51699..51700) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(51701..51704) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1729 bytes(51368..51379) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1729 bytes(51368..51379) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [String(SMBString { order: 0, start: Inner(DirectInner { start: 0, num_type: "u16", subtract: 68, min_val: 0 }), length: Inner(DirectInner { start: 2, num_type: "u16", subtract: 0, min_val: 0 }), underlying: "u16" })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "Path", span: #0 bytes(51619..51623) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1729 bytes(51368..51379) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1729 bytes(51368..51379) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Extension", span: #0 bytes(51711..51720) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51432..51449) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51450..51455) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51456..51457) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(51458..51461) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_string", span: #0 bytes(51470..51480) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "order", span: #0 bytes(51481..51486) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51487..51488) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51489..51490) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51490..51491) }, Ident { ident: "start", span: #0 bytes(51492..51497) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51498..51503) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51504..51509) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51510..51511) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51512..51513) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51513..51514) }, Ident { ident: "num_type", span: #0 bytes(51515..51523) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51524..51525) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51526..51531) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51531..51532) }, Ident { ident: "subtract", span: #0 bytes(51533..51541) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51542..51543) }, Literal { kind: Integer, symbol: "68", suffix: None, span: #0 bytes(51544..51546) }], span: #0 bytes(51503..51547) }], span: #0 bytes(51497..51548) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51548..51549) }, Ident { ident: "length", span: #0 bytes(51550..51556) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51557..51562) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51563..51568) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51569..51570) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(51571..51572) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51572..51573) }, Ident { ident: "num_type", span: #0 bytes(51574..51582) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51583..51584) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51585..51590) }], span: #0 bytes(51562..51591) }], span: #0 bytes(51556..51592) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51592..51593) }, Ident { ident: "underlying", span: #0 bytes(51594..51604) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51605..51606) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51607..51612) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(51639..51649) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(51650..51655) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(51656..51661) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51662..51663) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51664..51665) }], span: #0 bytes(51655..51666) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51675..51692) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51693..51698) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51699..51700) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(51701..51704) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1732 bytes(51381..51391) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1732 bytes(51381..51391) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [String(SMBString { order: 0, start: Inner(DirectInner { start: 0, num_type: "u16", subtract: 68, min_val: 0 }), length: Inner(DirectInner { start: 2, num_type: "u16", subtract: 0, min_val: 0 }), underlying: "u16" })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "Path", span: #0 bytes(51619..51623) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1732 bytes(51381..51391) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1732 bytes(51381..51391) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Extension", span: #0 bytes(51711..51720) }) }]) [INFO] [stdout] Count: if 0usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(0usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [0usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.data, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.data, 1usize, size); [INFO] [stdout] token: &self.reserved, size: let size = 14usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.path_name, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.path_name, 2usize, size); [INFO] [stdout] token: &self.tree_connect_contexts, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.tree_connect_contexts, 1usize, size); [INFO] [stdout] Count: if 10usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(10usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [10usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.sid_data, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.sid_data); [INFO] [stdout] token: &self.attr, size: let size = 1usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.attr); [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(52980..52997) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(52998..53003) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53004..53005) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(53006..53009) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(53009..53010) }, Ident { ident: "value", span: #0 bytes(53011..53016) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53017..53018) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(53019..53022) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53031..53041) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53042..53047) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53048..53053) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53054..53055) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53056..53057) }], span: #0 bytes(53047..53058) }] } }] [INFO] [stdout] Discs: [2, 3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(53118..53135) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(53136..53141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53142..53143) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(53144..53147) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53156..53166) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53167..53172) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53173..53178) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53179..53180) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53181..53182) }], span: #0 bytes(53172..53183) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1804 bytes(52905..52921) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1804 bytes(52905..52921) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2, 3], variant_ident: Some(Ident { ident: "FilePipePrinter", span: #0 bytes(53065..53080) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1804 bytes(52905..52921) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1804 bytes(52905..52921) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Directory", span: #0 bytes(53190..53199) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(52980..52997) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(52998..53003) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53004..53005) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(53006..53009) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(53009..53010) }, Ident { ident: "value", span: #0 bytes(53011..53016) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53017..53018) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(53019..53022) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53031..53041) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53042..53047) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53048..53053) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53054..53055) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53056..53057) }], span: #0 bytes(53047..53058) }] } }] [INFO] [stdout] Discs: [2, 3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(53118..53135) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(53136..53141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53142..53143) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(53144..53147) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53156..53166) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53167..53172) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53173..53178) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53179..53180) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53181..53182) }], span: #0 bytes(53172..53183) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1809 bytes(52923..52934) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1809 bytes(52923..52934) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2, 3], variant_ident: Some(Ident { ident: "FilePipePrinter", span: #0 bytes(53065..53080) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1809 bytes(52923..52934) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1809 bytes(52923..52934) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Directory", span: #0 bytes(53190..53199) }) }]) [INFO] [stdout] Count: if 0usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(0usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [0usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(52980..52997) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(52998..53003) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53004..53005) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(53006..53009) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(53009..53010) }, Ident { ident: "value", span: #0 bytes(53011..53016) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53017..53018) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(53019..53022) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53031..53041) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53042..53047) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53048..53053) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53054..53055) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53056..53057) }], span: #0 bytes(53047..53058) }] } }] [INFO] [stdout] Discs: [2, 3] [INFO] [stdout] as u16; [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(53118..53135) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(53136..53141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53142..53143) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(53144..53147) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53156..53166) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53167..53172) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53173..53178) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53179..53180) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53181..53182) }], span: #0 bytes(53172..53183) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1812 bytes(52936..52946) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1812 bytes(52936..52946) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2, 3], variant_ident: Some(Ident { ident: "FilePipePrinter", span: #0 bytes(53065..53080) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1812 bytes(52936..52946) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1812 bytes(52936..52946) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Directory", span: #0 bytes(53190..53199) }) }]) [INFO] [stdout] token: &self.reserved, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.array, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.array, 1usize, size); [INFO] [stdout] token: &self.luid, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.luid); [INFO] [stdout] token: &self.attr, size: let size = 0usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.attr); [INFO] [stdout] Count: if 0usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(0usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [0usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] token: &self.reserved, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.array, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.array, 1usize, size); [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 3, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(4), order: 0 } [INFO] [stdout] token: &self.flags, size: let size = 2usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.buffer, size: let size = 4usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.buffer); [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51432..51449) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51450..51455) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51456..51457) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(51458..51461) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_string", span: #0 bytes(51470..51480) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "order", span: #0 bytes(51481..51486) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51487..51488) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51489..51490) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51490..51491) }, Ident { ident: "start", span: #0 bytes(51492..51497) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51498..51503) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51504..51509) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51510..51511) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51512..51513) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51513..51514) }, Ident { ident: "num_type", span: #0 bytes(51515..51523) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51524..51525) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51526..51531) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51531..51532) }, Ident { ident: "subtract", span: #0 bytes(51533..51541) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51542..51543) }, Literal { kind: Integer, symbol: "68", suffix: None, span: #0 bytes(51544..51546) }], span: #0 bytes(51503..51547) }], span: #0 bytes(51497..51548) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51548..51549) }, Ident { ident: "length", span: #0 bytes(51550..51556) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51557..51562) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51563..51568) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51569..51570) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(51571..51572) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51572..51573) }, Ident { ident: "num_type", span: #0 bytes(51574..51582) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51583..51584) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51585..51590) }], span: #0 bytes(51562..51591) }], span: #0 bytes(51556..51592) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51592..51593) }, Ident { ident: "underlying", span: #0 bytes(51594..51604) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51605..51606) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51607..51612) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 3, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(4), order: 0 } [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(51639..51649) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(51650..51655) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(51656..51661) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51662..51663) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51664..51665) }], span: #0 bytes(51655..51666) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51675..51692) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51693..51698) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51699..51700) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(51701..51704) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1724 bytes(51350..51366) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1724 bytes(51350..51366) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [String(SMBString { order: 0, start: Inner(DirectInner { start: 0, num_type: "u16", subtract: 68, min_val: 0 }), length: Inner(DirectInner { start: 2, num_type: "u16", subtract: 0, min_val: 0 }), underlying: "u16" })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "Path", span: #0 bytes(51619..51623) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1724 bytes(51350..51366) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1724 bytes(51350..51366) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Extension", span: #0 bytes(51711..51720) }) }]) [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 3, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(4), order: 0 } [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51432..51449) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51450..51455) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51456..51457) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(51458..51461) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_string", span: #0 bytes(51470..51480) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "order", span: #0 bytes(51481..51486) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51487..51488) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51489..51490) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51490..51491) }, Ident { ident: "start", span: #0 bytes(51492..51497) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51498..51503) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51504..51509) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51510..51511) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51512..51513) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51513..51514) }, Ident { ident: "num_type", span: #0 bytes(51515..51523) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51524..51525) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51526..51531) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51531..51532) }, Ident { ident: "subtract", span: #0 bytes(51533..51541) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51542..51543) }, Literal { kind: Integer, symbol: "68", suffix: None, span: #0 bytes(51544..51546) }], span: #0 bytes(51503..51547) }], span: #0 bytes(51497..51548) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51548..51549) }, Ident { ident: "length", span: #0 bytes(51550..51556) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51557..51562) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51563..51568) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51569..51570) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(51571..51572) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51572..51573) }, Ident { ident: "num_type", span: #0 bytes(51574..51582) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51583..51584) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51585..51590) }], span: #0 bytes(51562..51591) }], span: #0 bytes(51556..51592) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51592..51593) }, Ident { ident: "underlying", span: #0 bytes(51594..51604) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51605..51606) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51607..51612) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(51639..51649) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(51650..51655) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(51656..51661) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51662..51663) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51664..51665) }], span: #0 bytes(51655..51666) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51675..51692) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51693..51698) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51699..51700) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(51701..51704) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1729 bytes(51368..51379) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1729 bytes(51368..51379) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [String(SMBString { order: 0, start: Inner(DirectInner { start: 0, num_type: "u16", subtract: 68, min_val: 0 }), length: Inner(DirectInner { start: 2, num_type: "u16", subtract: 0, min_val: 0 }), underlying: "u16" })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "Path", span: #0 bytes(51619..51623) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1729 bytes(51368..51379) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1729 bytes(51368..51379) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Extension", span: #0 bytes(51711..51720) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51432..51449) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51450..51455) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51456..51457) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(51458..51461) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_string", span: #0 bytes(51470..51480) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "order", span: #0 bytes(51481..51486) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51487..51488) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51489..51490) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51490..51491) }, Ident { ident: "start", span: #0 bytes(51492..51497) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51498..51503) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51504..51509) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51510..51511) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51512..51513) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51513..51514) }, Ident { ident: "num_type", span: #0 bytes(51515..51523) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51524..51525) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51526..51531) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51531..51532) }, Ident { ident: "subtract", span: #0 bytes(51533..51541) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51542..51543) }, Literal { kind: Integer, symbol: "68", suffix: None, span: #0 bytes(51544..51546) }], span: #0 bytes(51503..51547) }], span: #0 bytes(51497..51548) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51548..51549) }, Ident { ident: "length", span: #0 bytes(51550..51556) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(51557..51562) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(51563..51568) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51569..51570) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(51571..51572) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51572..51573) }, Ident { ident: "num_type", span: #0 bytes(51574..51582) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51583..51584) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51585..51590) }], span: #0 bytes(51562..51591) }], span: #0 bytes(51556..51592) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51592..51593) }, Ident { ident: "underlying", span: #0 bytes(51594..51604) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51605..51606) }, Literal { kind: Str, symbol: "u16", suffix: None, span: #0 bytes(51607..51612) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(51639..51649) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(51650..51655) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(51656..51661) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51662..51663) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(51664..51665) }], span: #0 bytes(51655..51666) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(51675..51692) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(51693..51698) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51699..51700) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(51701..51704) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1732 bytes(51381..51391) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1732 bytes(51381..51391) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "String", span: #0 bytes(51624..51630) }, arguments: PathArguments::None }] } }, val_type: [String(SMBString { order: 0, start: Inner(DirectInner { start: 0, num_type: "u16", subtract: 68, min_val: 0 }), length: Inner(DirectInner { start: 2, num_type: "u16", subtract: 0, min_val: 0 }), underlying: "u16" })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "Path", span: #0 bytes(51619..51623) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1732 bytes(51381..51391) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1732 bytes(51381..51391) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectExtension", span: #0 bytes(51721..51744) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Extension", span: #0 bytes(51711..51720) }) }]) [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 2, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(12), order: 0 } [INFO] [stdout] token: &self.share_type, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.share_type); [INFO] [stdout] token: &self.reserved, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.share_flags, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.share_flags); [INFO] [stdout] token: &self.capabilities, size: let size = 8usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.capabilities); [INFO] [stdout] token: &self.maximal_access, size: let size = 12usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.maximal_access); [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 2, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(12), order: 0 } [INFO] [stdout] token: &self.reserved, size: let size = 14usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.path_name, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.path_name, 2usize, size); [INFO] [stdout] token: &self.tree_connect_contexts, size: let size = :: std :: cmp :: max(size, 0usize) + :: smb_core :: SMBVecByteSize [INFO] [stdout] :: smb_byte_size_vec(&self.tree_connect_contexts, 1usize, size); [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 2, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(12), order: 0 } [INFO] [stdout] Count: if 10usize >= input.len() [INFO] [stdout] { [INFO] [stdout] return [INFO] [stdout] Err(:: smb_core :: error :: SMBError :: [INFO] [stdout] payload_too_small(10usize, input.len())); [INFO] [stdout] } let (remaining, item_count) : (& [u8], u16) = :: smb_core :: SMBFromBytes :: [INFO] [stdout] smb_from_bytes(& input [10usize ..]) ? ; let item_count = item_count - 0usize [INFO] [stdout] as u16; [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(52980..52997) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(52998..53003) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53004..53005) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(53006..53009) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(53009..53010) }, Ident { ident: "value", span: #0 bytes(53011..53016) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53017..53018) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(53019..53022) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53031..53041) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53042..53047) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53048..53053) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53054..53055) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53056..53057) }], span: #0 bytes(53047..53058) }] } }] [INFO] [stdout] Discs: [2, 3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(53118..53135) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(53136..53141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53142..53143) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(53144..53147) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53156..53166) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53167..53172) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53173..53178) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53179..53180) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53181..53182) }], span: #0 bytes(53172..53183) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1804 bytes(52905..52921) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1804 bytes(52905..52921) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2, 3], variant_ident: Some(Ident { ident: "FilePipePrinter", span: #0 bytes(53065..53080) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1804 bytes(52905..52921) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1804 bytes(52905..52921) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Directory", span: #0 bytes(53190..53199) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(52980..52997) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(52998..53003) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53004..53005) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(53006..53009) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(53009..53010) }, Ident { ident: "value", span: #0 bytes(53011..53016) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53017..53018) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(53019..53022) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53031..53041) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53042..53047) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53048..53053) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53054..53055) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53056..53057) }], span: #0 bytes(53047..53058) }] } }] [INFO] [stdout] Discs: [2, 3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(53118..53135) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(53136..53141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53142..53143) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(53144..53147) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53156..53166) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53167..53172) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53173..53178) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53179..53180) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53181..53182) }], span: #0 bytes(53172..53183) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1809 bytes(52923..52934) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1809 bytes(52923..52934) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2, 3], variant_ident: Some(Ident { ident: "FilePipePrinter", span: #0 bytes(53065..53080) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1809 bytes(52923..52934) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1809 bytes(52923..52934) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Directory", span: #0 bytes(53190..53199) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(52980..52997) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(52998..53003) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53004..53005) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(53006..53009) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(53009..53010) }, Ident { ident: "value", span: #0 bytes(53011..53016) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53017..53018) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(53019..53022) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53031..53041) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53042..53047) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53048..53053) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53054..53055) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53056..53057) }], span: #0 bytes(53047..53058) }] } }] [INFO] [stdout] Discs: [2, 3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(53118..53135) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(53136..53141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53142..53143) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(53144..53147) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(53156..53166) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(53167..53172) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(53173..53178) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53179..53180) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(53181..53182) }], span: #0 bytes(53172..53183) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1812 bytes(52936..52946) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1812 bytes(52936..52946) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBFilePipePrinterAccessMask", span: #0 bytes(53081..53109) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2, 3], variant_ident: Some(Ident { ident: "FilePipePrinter", span: #0 bytes(53065..53080) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #1812 bytes(52936..52946) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #1812 bytes(52936..52946) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBDirectoryAccessMask", span: #0 bytes(53200..53222) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "Directory", span: #0 bytes(53190..53199) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(1923..1940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(1941..1946) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1947..1948) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(1949..1952) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(1961..1971) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(1972..1977) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(1978..1983) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1984..1985) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(1986..1987) }], span: #0 bytes(1977..1988) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2040..2057) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2058..2063) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2064..2065) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(2066..2069) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2078..2095) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2096..2100) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2101..2102) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2103..2110) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2119..2129) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2130..2135) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2136..2141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2142..2143) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2144..2145) }], span: #0 bytes(2135..2146) }] } }] [INFO] [stdout] Discs: [16] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2200..2217) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2218..2223) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2224..2225) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2226..2229) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2238..2248) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2249..2254) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2255..2260) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2261..2262) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2263..2264) }], span: #0 bytes(2254..2265) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2323..2340) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2341..2346) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2347..2348) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2349..2352) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2361..2378) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2379..2383) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2384..2385) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2386..2393) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2402..2412) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2413..2418) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2419..2424) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2425..2426) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2427..2428) }], span: #0 bytes(2418..2429) }] } }] [INFO] [stdout] Discs: [17] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2489..2506) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2507..2512) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2513..2514) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2515..2518) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2527..2537) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2538..2543) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2544..2549) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2550..2551) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2552..2553) }], span: #0 bytes(2543..2554) }] } }] [INFO] [stdout] Discs: [3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2610..2627) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2628..2633) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2634..2635) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2636..2639) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2648..2665) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2666..2670) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2671..2672) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2673..2680) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2689..2699) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2700..2705) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2706..2711) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2712..2713) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2714..2715) }], span: #0 bytes(2705..2716) }] } }] [INFO] [stdout] Discs: [19] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2774..2791) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2792..2797) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2798..2799) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2800..2803) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2812..2822) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2823..2828) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2829..2834) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2835..2836) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2837..2838) }], span: #0 bytes(2828..2839) }] } }] [INFO] [stdout] Discs: [2] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2885..2902) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2903..2908) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2909..2910) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2911..2914) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2923..2940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2941..2945) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2946..2947) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2948..2955) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2964..2974) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2975..2980) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2981..2986) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2987..2988) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2989..2990) }], span: #0 bytes(2980..2991) }] } }] [INFO] [stdout] Discs: [18] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3039..3056) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3057..3062) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3063..3064) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3065..3068) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3077..3087) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3088..3093) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3094..3099) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3100..3101) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3102..3103) }], span: #0 bytes(3093..3104) }] } }] [INFO] [stdout] Discs: [4] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3166..3183) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3184..3189) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3190..3191) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3192..3195) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3204..3221) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(3222..3226) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3227..3228) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(3229..3236) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3245..3255) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3256..3261) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3262..3267) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3268..3269) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3270..3271) }], span: #0 bytes(3261..3272) }] } }] [INFO] [stdout] Discs: [20] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3336..3353) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3354..3359) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3360..3361) }, Literal { kind: Integer, symbol: "0x999", suffix: None, span: #0 bytes(3362..3367) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_enum", span: #0 bytes(3376..3384) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3385..3390) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3391..3396) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3397..3398) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3399..3400) }], span: #0 bytes(3390..3401) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3401..3402) }, Ident { ident: "discriminator", span: #0 bytes(3403..3416) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(3417..3422) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(3423..3428) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3429..3430) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3431..3432) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3432..3433) }, Ident { ident: "num_type", span: #0 bytes(3434..3442) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3443..3444) }, Literal { kind: Str, symbol: "u8", suffix: None, span: #0 bytes(3445..3449) }], span: #0 bytes(3422..3450) }], span: #0 bytes(3416..3451) }] } }] [INFO] [stdout] Discs: [2457] [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 } [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "NegotiateRequest", span: #0 bytes(1995..2011) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [16], variant_ident: Some(Ident { ident: "NegotiateResponse", span: #0 bytes(2153..2170) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "SessionSetupRequest", span: #0 bytes(2272..2291) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [17], variant_ident: Some(Ident { ident: "SessionSetupResponse", span: #0 bytes(2436..2456) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [3], variant_ident: Some(Ident { ident: "TreeConnectRequest", span: #0 bytes(2561..2579) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [19], variant_ident: Some(Ident { ident: "TreeConnectResponse", span: #0 bytes(2723..2742) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2], variant_ident: Some(Ident { ident: "LogoffRequest", span: #0 bytes(2846..2859) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [18], variant_ident: Some(Ident { ident: "LogoffResponse", span: #0 bytes(2998..3012) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [4], variant_ident: Some(Ident { ident: "TreeDisconnectRequest", span: #0 bytes(3111..3132) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [20], variant_ident: Some(Ident { ident: "TreeDisconnectResponse", span: #0 bytes(3279..3301) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [Enum(SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2457], variant_ident: Some(Ident { ident: "LegacyCommand", span: #0 bytes(3458..3471) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(1923..1940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(1941..1946) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1947..1948) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(1949..1952) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(1961..1971) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(1972..1977) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(1978..1983) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1984..1985) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(1986..1987) }], span: #0 bytes(1977..1988) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2040..2057) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2058..2063) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2064..2065) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(2066..2069) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2078..2095) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2096..2100) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2101..2102) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2103..2110) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2119..2129) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2130..2135) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2136..2141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2142..2143) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2144..2145) }], span: #0 bytes(2135..2146) }] } }] [INFO] [stdout] Discs: [16] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2200..2217) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2218..2223) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2224..2225) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2226..2229) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2238..2248) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2249..2254) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2255..2260) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2261..2262) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2263..2264) }], span: #0 bytes(2254..2265) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2323..2340) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2341..2346) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2347..2348) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2349..2352) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2361..2378) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2379..2383) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2384..2385) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2386..2393) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2402..2412) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2413..2418) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2419..2424) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2425..2426) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2427..2428) }], span: #0 bytes(2418..2429) }] } }] [INFO] [stdout] Discs: [17] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2489..2506) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2507..2512) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2513..2514) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2515..2518) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2527..2537) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2538..2543) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2544..2549) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2550..2551) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2552..2553) }], span: #0 bytes(2543..2554) }] } }] [INFO] [stdout] Discs: [3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2610..2627) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2628..2633) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2634..2635) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2636..2639) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2648..2665) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2666..2670) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2671..2672) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2673..2680) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2689..2699) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2700..2705) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2706..2711) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2712..2713) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2714..2715) }], span: #0 bytes(2705..2716) }] } }] [INFO] [stdout] Discs: [19] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2774..2791) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2792..2797) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2798..2799) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2800..2803) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2812..2822) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2823..2828) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2829..2834) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2835..2836) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2837..2838) }], span: #0 bytes(2828..2839) }] } }] [INFO] [stdout] Discs: [2] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2885..2902) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2903..2908) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2909..2910) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2911..2914) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2923..2940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2941..2945) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2946..2947) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2948..2955) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2964..2974) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2975..2980) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2981..2986) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2987..2988) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2989..2990) }], span: #0 bytes(2980..2991) }] } }] [INFO] [stdout] Discs: [18] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3039..3056) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3057..3062) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3063..3064) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3065..3068) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3077..3087) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3088..3093) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3094..3099) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3100..3101) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3102..3103) }], span: #0 bytes(3093..3104) }] } }] [INFO] [stdout] Discs: [4] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3166..3183) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3184..3189) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3190..3191) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3192..3195) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3204..3221) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(3222..3226) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3227..3228) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(3229..3236) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3245..3255) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3256..3261) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3262..3267) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3268..3269) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3270..3271) }], span: #0 bytes(3261..3272) }] } }] [INFO] [stdout] Discs: [20] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3336..3353) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3354..3359) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3360..3361) }, Literal { kind: Integer, symbol: "0x999", suffix: None, span: #0 bytes(3362..3367) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_enum", span: #0 bytes(3376..3384) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3385..3390) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3391..3396) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3397..3398) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3399..3400) }], span: #0 bytes(3390..3401) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3401..3402) }, Ident { ident: "discriminator", span: #0 bytes(3403..3416) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(3417..3422) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(3423..3428) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3429..3430) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3431..3432) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3432..3433) }, Ident { ident: "num_type", span: #0 bytes(3434..3442) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3443..3444) }, Literal { kind: Str, symbol: "u8", suffix: None, span: #0 bytes(3445..3449) }], span: #0 bytes(3422..3450) }], span: #0 bytes(3416..3451) }] } }] [INFO] [stdout] Discs: [2457] [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 } [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "NegotiateRequest", span: #0 bytes(1995..2011) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [16], variant_ident: Some(Ident { ident: "NegotiateResponse", span: #0 bytes(2153..2170) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "SessionSetupRequest", span: #0 bytes(2272..2291) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [17], variant_ident: Some(Ident { ident: "SessionSetupResponse", span: #0 bytes(2436..2456) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [3], variant_ident: Some(Ident { ident: "TreeConnectRequest", span: #0 bytes(2561..2579) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [19], variant_ident: Some(Ident { ident: "TreeConnectResponse", span: #0 bytes(2723..2742) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2], variant_ident: Some(Ident { ident: "LogoffRequest", span: #0 bytes(2846..2859) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [18], variant_ident: Some(Ident { ident: "LogoffResponse", span: #0 bytes(2998..3012) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [4], variant_ident: Some(Ident { ident: "TreeDisconnectRequest", span: #0 bytes(3111..3132) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [20], variant_ident: Some(Ident { ident: "TreeDisconnectResponse", span: #0 bytes(3279..3301) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [Enum(SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2457], variant_ident: Some(Ident { ident: "LegacyCommand", span: #0 bytes(3458..3471) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(1923..1940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(1941..1946) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1947..1948) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(1949..1952) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(1961..1971) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(1972..1977) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(1978..1983) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1984..1985) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(1986..1987) }], span: #0 bytes(1977..1988) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2040..2057) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2058..2063) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2064..2065) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(2066..2069) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2078..2095) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2096..2100) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2101..2102) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2103..2110) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2119..2129) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2130..2135) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2136..2141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2142..2143) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2144..2145) }], span: #0 bytes(2135..2146) }] } }] [INFO] [stdout] Discs: [16] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2200..2217) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2218..2223) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2224..2225) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2226..2229) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2238..2248) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2249..2254) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2255..2260) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2261..2262) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2263..2264) }], span: #0 bytes(2254..2265) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2323..2340) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2341..2346) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2347..2348) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2349..2352) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2361..2378) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2379..2383) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2384..2385) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2386..2393) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2402..2412) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2413..2418) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2419..2424) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2425..2426) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2427..2428) }], span: #0 bytes(2418..2429) }] } }] [INFO] [stdout] Discs: [17] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2489..2506) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2507..2512) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2513..2514) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2515..2518) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2527..2537) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2538..2543) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2544..2549) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2550..2551) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2552..2553) }], span: #0 bytes(2543..2554) }] } }] [INFO] [stdout] Discs: [3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2610..2627) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2628..2633) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2634..2635) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2636..2639) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2648..2665) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2666..2670) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2671..2672) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2673..2680) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2689..2699) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2700..2705) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2706..2711) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2712..2713) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2714..2715) }], span: #0 bytes(2705..2716) }] } }] [INFO] [stdout] Discs: [19] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2774..2791) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2792..2797) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2798..2799) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2800..2803) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2812..2822) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2823..2828) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2829..2834) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2835..2836) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2837..2838) }], span: #0 bytes(2828..2839) }] } }] [INFO] [stdout] Discs: [2] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2885..2902) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2903..2908) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2909..2910) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2911..2914) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2923..2940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2941..2945) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2946..2947) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2948..2955) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2964..2974) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2975..2980) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2981..2986) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2987..2988) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2989..2990) }], span: #0 bytes(2980..2991) }] } }] [INFO] [stdout] Discs: [18] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3039..3056) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3057..3062) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3063..3064) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3065..3068) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3077..3087) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3088..3093) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3094..3099) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3100..3101) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3102..3103) }], span: #0 bytes(3093..3104) }] } }] [INFO] [stdout] Discs: [4] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3166..3183) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3184..3189) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3190..3191) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3192..3195) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3204..3221) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(3222..3226) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3227..3228) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(3229..3236) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3245..3255) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3256..3261) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3262..3267) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3268..3269) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3270..3271) }], span: #0 bytes(3261..3272) }] } }] [INFO] [stdout] Discs: [20] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3336..3353) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3354..3359) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3360..3361) }, Literal { kind: Integer, symbol: "0x999", suffix: None, span: #0 bytes(3362..3367) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_enum", span: #0 bytes(3376..3384) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3385..3390) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3391..3396) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3397..3398) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3399..3400) }], span: #0 bytes(3390..3401) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3401..3402) }, Ident { ident: "discriminator", span: #0 bytes(3403..3416) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(3417..3422) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(3423..3428) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3429..3430) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3431..3432) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3432..3433) }, Ident { ident: "num_type", span: #0 bytes(3434..3442) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3443..3444) }, Literal { kind: Str, symbol: "u8", suffix: None, span: #0 bytes(3445..3449) }], span: #0 bytes(3422..3450) }], span: #0 bytes(3416..3451) }] } }] [INFO] [stdout] Discs: [2457] [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 } [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "NegotiateRequest", span: #0 bytes(1995..2011) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [16], variant_ident: Some(Ident { ident: "NegotiateResponse", span: #0 bytes(2153..2170) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "SessionSetupRequest", span: #0 bytes(2272..2291) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [17], variant_ident: Some(Ident { ident: "SessionSetupResponse", span: #0 bytes(2436..2456) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [3], variant_ident: Some(Ident { ident: "TreeConnectRequest", span: #0 bytes(2561..2579) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [19], variant_ident: Some(Ident { ident: "TreeConnectResponse", span: #0 bytes(2723..2742) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2], variant_ident: Some(Ident { ident: "LogoffRequest", span: #0 bytes(2846..2859) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [18], variant_ident: Some(Ident { ident: "LogoffResponse", span: #0 bytes(2998..3012) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [4], variant_ident: Some(Ident { ident: "TreeDisconnectRequest", span: #0 bytes(3111..3132) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [20], variant_ident: Some(Ident { ident: "TreeDisconnectResponse", span: #0 bytes(3279..3301) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [Enum(SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2457], variant_ident: Some(Ident { ident: "LegacyCommand", span: #0 bytes(3458..3471) }) }]) [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 3, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(4), order: 0 } [INFO] [stdout] token: &self.flags, size: let size = 2usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.buffer, size: let size = 4usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.buffer); [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 3, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(4), order: 0 } [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 3, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(4), order: 0 } [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 2, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(12), order: 0 } [INFO] [stdout] token: &self.share_type, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.share_type); [INFO] [stdout] token: &self.reserved, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.share_flags, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.share_flags); [INFO] [stdout] token: &self.capabilities, size: let size = 8usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.capabilities); [INFO] [stdout] token: &self.maximal_access, size: let size = 12usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.maximal_access); [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 2, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(12), order: 0 } [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 2, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(12), order: 0 } [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(1923..1940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(1941..1946) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1947..1948) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(1949..1952) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(1961..1971) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(1972..1977) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(1978..1983) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1984..1985) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(1986..1987) }], span: #0 bytes(1977..1988) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2040..2057) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2058..2063) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2064..2065) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(2066..2069) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2078..2095) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2096..2100) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2101..2102) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2103..2110) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2119..2129) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2130..2135) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2136..2141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2142..2143) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2144..2145) }], span: #0 bytes(2135..2146) }] } }] [INFO] [stdout] Discs: [16] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2200..2217) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2218..2223) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2224..2225) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2226..2229) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2238..2248) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2249..2254) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2255..2260) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2261..2262) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2263..2264) }], span: #0 bytes(2254..2265) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2323..2340) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2341..2346) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2347..2348) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2349..2352) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2361..2378) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2379..2383) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2384..2385) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2386..2393) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2402..2412) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2413..2418) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2419..2424) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2425..2426) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2427..2428) }], span: #0 bytes(2418..2429) }] } }] [INFO] [stdout] Discs: [17] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2489..2506) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2507..2512) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2513..2514) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2515..2518) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2527..2537) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2538..2543) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2544..2549) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2550..2551) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2552..2553) }], span: #0 bytes(2543..2554) }] } }] [INFO] [stdout] Discs: [3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2610..2627) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2628..2633) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2634..2635) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2636..2639) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2648..2665) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2666..2670) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2671..2672) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2673..2680) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2689..2699) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2700..2705) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2706..2711) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2712..2713) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2714..2715) }], span: #0 bytes(2705..2716) }] } }] [INFO] [stdout] Discs: [19] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2774..2791) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2792..2797) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2798..2799) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2800..2803) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2812..2822) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2823..2828) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2829..2834) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2835..2836) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2837..2838) }], span: #0 bytes(2828..2839) }] } }] [INFO] [stdout] Discs: [2] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2885..2902) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2903..2908) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2909..2910) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2911..2914) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2923..2940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2941..2945) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2946..2947) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2948..2955) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2964..2974) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2975..2980) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2981..2986) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2987..2988) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2989..2990) }], span: #0 bytes(2980..2991) }] } }] [INFO] [stdout] Discs: [18] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3039..3056) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3057..3062) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3063..3064) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3065..3068) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3077..3087) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3088..3093) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3094..3099) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3100..3101) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3102..3103) }], span: #0 bytes(3093..3104) }] } }] [INFO] [stdout] Discs: [4] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3166..3183) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3184..3189) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3190..3191) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3192..3195) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3204..3221) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(3222..3226) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3227..3228) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(3229..3236) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3245..3255) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3256..3261) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3262..3267) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3268..3269) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3270..3271) }], span: #0 bytes(3261..3272) }] } }] [INFO] [stdout] Discs: [20] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3336..3353) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3354..3359) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3360..3361) }, Literal { kind: Integer, symbol: "0x999", suffix: None, span: #0 bytes(3362..3367) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_enum", span: #0 bytes(3376..3384) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3385..3390) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3391..3396) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3397..3398) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3399..3400) }], span: #0 bytes(3390..3401) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3401..3402) }, Ident { ident: "discriminator", span: #0 bytes(3403..3416) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(3417..3422) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(3423..3428) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3429..3430) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3431..3432) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3432..3433) }, Ident { ident: "num_type", span: #0 bytes(3434..3442) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3443..3444) }, Literal { kind: Str, symbol: "u8", suffix: None, span: #0 bytes(3445..3449) }], span: #0 bytes(3422..3450) }], span: #0 bytes(3416..3451) }] } }] [INFO] [stdout] Discs: [2457] [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 } [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "NegotiateRequest", span: #0 bytes(1995..2011) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [16], variant_ident: Some(Ident { ident: "NegotiateResponse", span: #0 bytes(2153..2170) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "SessionSetupRequest", span: #0 bytes(2272..2291) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [17], variant_ident: Some(Ident { ident: "SessionSetupResponse", span: #0 bytes(2436..2456) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [3], variant_ident: Some(Ident { ident: "TreeConnectRequest", span: #0 bytes(2561..2579) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [19], variant_ident: Some(Ident { ident: "TreeConnectResponse", span: #0 bytes(2723..2742) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2], variant_ident: Some(Ident { ident: "LogoffRequest", span: #0 bytes(2846..2859) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [18], variant_ident: Some(Ident { ident: "LogoffResponse", span: #0 bytes(2998..3012) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [4], variant_ident: Some(Ident { ident: "TreeDisconnectRequest", span: #0 bytes(3111..3132) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [20], variant_ident: Some(Ident { ident: "TreeDisconnectResponse", span: #0 bytes(3279..3301) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2350 bytes(1854..1870) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [Enum(SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2457], variant_ident: Some(Ident { ident: "LegacyCommand", span: #0 bytes(3458..3471) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(1923..1940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(1941..1946) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1947..1948) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(1949..1952) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(1961..1971) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(1972..1977) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(1978..1983) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1984..1985) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(1986..1987) }], span: #0 bytes(1977..1988) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2040..2057) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2058..2063) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2064..2065) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(2066..2069) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2078..2095) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2096..2100) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2101..2102) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2103..2110) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2119..2129) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2130..2135) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2136..2141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2142..2143) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2144..2145) }], span: #0 bytes(2135..2146) }] } }] [INFO] [stdout] Discs: [16] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2200..2217) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2218..2223) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2224..2225) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2226..2229) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2238..2248) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2249..2254) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2255..2260) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2261..2262) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2263..2264) }], span: #0 bytes(2254..2265) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2323..2340) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2341..2346) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2347..2348) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2349..2352) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2361..2378) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2379..2383) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2384..2385) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2386..2393) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2402..2412) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2413..2418) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2419..2424) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2425..2426) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2427..2428) }], span: #0 bytes(2418..2429) }] } }] [INFO] [stdout] Discs: [17] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2489..2506) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2507..2512) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2513..2514) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2515..2518) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2527..2537) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2538..2543) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2544..2549) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2550..2551) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2552..2553) }], span: #0 bytes(2543..2554) }] } }] [INFO] [stdout] Discs: [3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2610..2627) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2628..2633) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2634..2635) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2636..2639) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2648..2665) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2666..2670) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2671..2672) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2673..2680) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2689..2699) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2700..2705) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2706..2711) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2712..2713) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2714..2715) }], span: #0 bytes(2705..2716) }] } }] [INFO] [stdout] Discs: [19] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2774..2791) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2792..2797) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2798..2799) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2800..2803) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2812..2822) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2823..2828) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2829..2834) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2835..2836) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2837..2838) }], span: #0 bytes(2828..2839) }] } }] [INFO] [stdout] Discs: [2] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2885..2902) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2903..2908) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2909..2910) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2911..2914) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2923..2940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2941..2945) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2946..2947) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2948..2955) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2964..2974) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2975..2980) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2981..2986) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2987..2988) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2989..2990) }], span: #0 bytes(2980..2991) }] } }] [INFO] [stdout] Discs: [18] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3039..3056) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3057..3062) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3063..3064) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3065..3068) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3077..3087) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3088..3093) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3094..3099) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3100..3101) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3102..3103) }], span: #0 bytes(3093..3104) }] } }] [INFO] [stdout] Discs: [4] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3166..3183) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3184..3189) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3190..3191) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3192..3195) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3204..3221) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(3222..3226) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3227..3228) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(3229..3236) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3245..3255) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3256..3261) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3262..3267) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3268..3269) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3270..3271) }], span: #0 bytes(3261..3272) }] } }] [INFO] [stdout] Discs: [20] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3336..3353) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3354..3359) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3360..3361) }, Literal { kind: Integer, symbol: "0x999", suffix: None, span: #0 bytes(3362..3367) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_enum", span: #0 bytes(3376..3384) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3385..3390) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3391..3396) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3397..3398) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3399..3400) }], span: #0 bytes(3390..3401) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3401..3402) }, Ident { ident: "discriminator", span: #0 bytes(3403..3416) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(3417..3422) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(3423..3428) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3429..3430) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3431..3432) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3432..3433) }, Ident { ident: "num_type", span: #0 bytes(3434..3442) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3443..3444) }, Literal { kind: Str, symbol: "u8", suffix: None, span: #0 bytes(3445..3449) }], span: #0 bytes(3422..3450) }], span: #0 bytes(3416..3451) }] } }] [INFO] [stdout] Discs: [2457] [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 } [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "NegotiateRequest", span: #0 bytes(1995..2011) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [16], variant_ident: Some(Ident { ident: "NegotiateResponse", span: #0 bytes(2153..2170) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "SessionSetupRequest", span: #0 bytes(2272..2291) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [17], variant_ident: Some(Ident { ident: "SessionSetupResponse", span: #0 bytes(2436..2456) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [3], variant_ident: Some(Ident { ident: "TreeConnectRequest", span: #0 bytes(2561..2579) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [19], variant_ident: Some(Ident { ident: "TreeConnectResponse", span: #0 bytes(2723..2742) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2], variant_ident: Some(Ident { ident: "LogoffRequest", span: #0 bytes(2846..2859) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [18], variant_ident: Some(Ident { ident: "LogoffResponse", span: #0 bytes(2998..3012) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [4], variant_ident: Some(Ident { ident: "TreeDisconnectRequest", span: #0 bytes(3111..3132) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [20], variant_ident: Some(Ident { ident: "TreeDisconnectResponse", span: #0 bytes(3279..3301) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2355 bytes(1872..1882) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [Enum(SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2457], variant_ident: Some(Ident { ident: "LegacyCommand", span: #0 bytes(3458..3471) }) }]) [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(1923..1940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(1941..1946) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1947..1948) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(1949..1952) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(1961..1971) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(1972..1977) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(1978..1983) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(1984..1985) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(1986..1987) }], span: #0 bytes(1977..1988) }] } }] [INFO] [stdout] Discs: [0] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2040..2057) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2058..2063) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2064..2065) }, Literal { kind: Integer, symbol: "0x0", suffix: None, span: #0 bytes(2066..2069) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2078..2095) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2096..2100) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2101..2102) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2103..2110) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2119..2129) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2130..2135) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2136..2141) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2142..2143) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2144..2145) }], span: #0 bytes(2135..2146) }] } }] [INFO] [stdout] Discs: [16] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2200..2217) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2218..2223) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2224..2225) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2226..2229) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2238..2248) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2249..2254) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2255..2260) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2261..2262) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2263..2264) }], span: #0 bytes(2254..2265) }] } }] [INFO] [stdout] Discs: [1] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2323..2340) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2341..2346) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2347..2348) }, Literal { kind: Integer, symbol: "0x1", suffix: None, span: #0 bytes(2349..2352) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2361..2378) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2379..2383) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2384..2385) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2386..2393) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2402..2412) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2413..2418) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2419..2424) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2425..2426) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2427..2428) }], span: #0 bytes(2418..2429) }] } }] [INFO] [stdout] Discs: [17] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2489..2506) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2507..2512) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2513..2514) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2515..2518) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2527..2537) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2538..2543) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2544..2549) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2550..2551) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2552..2553) }], span: #0 bytes(2543..2554) }] } }] [INFO] [stdout] Discs: [3] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2610..2627) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2628..2633) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2634..2635) }, Literal { kind: Integer, symbol: "0x3", suffix: None, span: #0 bytes(2636..2639) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2648..2665) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2666..2670) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2671..2672) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2673..2680) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2689..2699) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2700..2705) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2706..2711) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2712..2713) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2714..2715) }], span: #0 bytes(2705..2716) }] } }] [INFO] [stdout] Discs: [19] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2774..2791) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2792..2797) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2798..2799) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2800..2803) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2812..2822) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2823..2828) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2829..2834) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2835..2836) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2837..2838) }], span: #0 bytes(2828..2839) }] } }] [INFO] [stdout] Discs: [2] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2885..2902) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(2903..2908) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2909..2910) }, Literal { kind: Integer, symbol: "0x2", suffix: None, span: #0 bytes(2911..2914) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(2923..2940) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(2941..2945) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2946..2947) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(2948..2955) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(2964..2974) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(2975..2980) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(2981..2986) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(2987..2988) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(2989..2990) }], span: #0 bytes(2980..2991) }] } }] [INFO] [stdout] Discs: [18] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3039..3056) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3057..3062) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3063..3064) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3065..3068) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3077..3087) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3088..3093) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3094..3099) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3100..3101) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3102..3103) }], span: #0 bytes(3093..3104) }] } }] [INFO] [stdout] Discs: [4] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3166..3183) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3184..3189) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3190..3191) }, Literal { kind: Integer, symbol: "0x4", suffix: None, span: #0 bytes(3192..3195) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3204..3221) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "flag", span: #0 bytes(3222..3226) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3227..3228) }, Literal { kind: Integer, symbol: "0b10000", suffix: None, span: #0 bytes(3229..3236) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_direct", span: #0 bytes(3245..3255) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3256..3261) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3262..3267) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3268..3269) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3270..3271) }], span: #0 bytes(3261..3272) }] } }] [INFO] [stdout] Discs: [20] [INFO] [stdout] attrs: [Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_discriminator", span: #0 bytes(3336..3353) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "value", span: #0 bytes(3354..3359) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3360..3361) }, Literal { kind: Integer, symbol: "0x999", suffix: None, span: #0 bytes(3362..3367) }] } }, Attribute { pound_token: Pound, style: AttrStyle::Outer, bracket_token: Bracket, meta: Meta::List { path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "smb_enum", span: #0 bytes(3376..3384) }, arguments: PathArguments::None }] }, delimiter: MacroDelimiter::Paren(Paren), tokens: TokenStream [Ident { ident: "start", span: #0 bytes(3385..3390) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "fixed", span: #0 bytes(3391..3396) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3397..3398) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3399..3400) }], span: #0 bytes(3390..3401) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3401..3402) }, Ident { ident: "discriminator", span: #0 bytes(3403..3416) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "inner", span: #0 bytes(3417..3422) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "start", span: #0 bytes(3423..3428) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3429..3430) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(3431..3432) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(3432..3433) }, Ident { ident: "num_type", span: #0 bytes(3434..3442) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(3443..3444) }, Literal { kind: Str, symbol: "u8", suffix: None, span: #0 bytes(3445..3449) }], span: #0 bytes(3422..3450) }], span: #0 bytes(3416..3451) }] } }] [INFO] [stdout] Discs: [2457] [INFO] [stdout] Got enum: SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 } [INFO] [stdout] ENUM MAPPING: Ok([SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateRequest", span: #0 bytes(2012..2031) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [0], variant_ident: Some(Ident { ident: "NegotiateRequest", span: #0 bytes(1995..2011) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBNegotiateResponse", span: #0 bytes(2171..2191) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [16], variant_ident: Some(Ident { ident: "NegotiateResponse", span: #0 bytes(2153..2170) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupRequest", span: #0 bytes(2292..2314) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [1], variant_ident: Some(Ident { ident: "SessionSetupRequest", span: #0 bytes(2272..2291) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBSessionSetupResponse", span: #0 bytes(2457..2480) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [17], variant_ident: Some(Ident { ident: "SessionSetupResponse", span: #0 bytes(2436..2456) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectRequest", span: #0 bytes(2580..2601) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [3], variant_ident: Some(Ident { ident: "TreeConnectRequest", span: #0 bytes(2561..2579) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeConnectResponse", span: #0 bytes(2743..2765) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [19], variant_ident: Some(Ident { ident: "TreeConnectResponse", span: #0 bytes(2723..2742) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffRequest", span: #0 bytes(2860..2876) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2], variant_ident: Some(Ident { ident: "LogoffRequest", span: #0 bytes(2846..2859) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBLogoffResponse", span: #0 bytes(3013..3030) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [18], variant_ident: Some(Ident { ident: "LogoffResponse", span: #0 bytes(2998..3012) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectRequest", span: #0 bytes(3133..3157) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [4], variant_ident: Some(Ident { ident: "TreeDisconnectRequest", span: #0 bytes(3111..3132) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "SMBTreeDisconnectResponse", span: #0 bytes(3302..3327) }, arguments: PathArguments::None }] } }, val_type: [Direct(Direct { start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [20], variant_ident: Some(Ident { ident: "TreeDisconnectResponse", span: #0 bytes(3279..3301) }) }, SMBFieldMapping { parent: SMBField { spanned: Fields::Unnamed { paren_token: Paren, unnamed: [Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }] }, name: Ident { ident: "single_base", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [] }, fields: [SMBField { spanned: Field { attrs: [], vis: Visibility::Inherited, mutability: FieldMutability::None, ident: None, colon_token: None, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } } }, name: Ident { ident: "val_0", span: #2380 bytes(1884..1895) }, ty: Type::Path { qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "LegacySMBBody", span: #0 bytes(3472..3485) }, arguments: PathArguments::None }] } }, val_type: [Enum(SMBEnum { discriminator: Inner(DirectInner { start: 0, num_type: "u8", subtract: 0, min_val: 0 }), start: Fixed(0), order: 0 })] }], mapping_type: UnnamedStruct, discriminators: [2457], variant_ident: Some(Ident { ident: "LegacyCommand", span: #0 bytes(3458..3471) }) }]) [INFO] [stdout] token: &self.pid_high, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.pid_high); [INFO] [stdout] token: &self.signature, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.signature); [INFO] [stdout] token: &self.channel_sequence, size: let size = 8usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.channel_sequence); [INFO] [stdout] token: &self.command, size: let size = 12usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.command); [INFO] [stdout] token: &self.credits, size: let size = 14usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.credits); [INFO] [stdout] token: &self.flags, size: let size = 16usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.next_command, size: let size = 20usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.next_command); [INFO] [stdout] token: &self.message_id, size: let size = 24usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.message_id); [INFO] [stdout] token: &self.reserved, size: let size = 36usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.tree_id, size: let size = 36usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.tree_id); [INFO] [stdout] token: &self.session_id, size: let size = 40usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.session_id); [INFO] [stdout] token: &self.signature, size: let size = 48usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.signature); [INFO] [stdout] token: &self.command, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.command); [INFO] [stdout] token: &self.status, size: let size = 5usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.status); [INFO] [stdout] token: &self.flags, size: let size = 9usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.flags2, size: let size = 10usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.flags2); [INFO] [stdout] token: &self.extra, size: let size = 12usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.extra); [INFO] [stdout] token: &self.tid, size: let size = 22usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.tid); [INFO] [stdout] token: &self.pid, size: let size = 24usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.pid); [INFO] [stdout] token: &self.uid, size: let size = 26usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.uid); [INFO] [stdout] token: &self.mid, size: let size = 28usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.mid); [INFO] [stdout] token: &self.pid_high, size: let size = 0usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.pid_high); [INFO] [stdout] token: &self.signature, size: let size = 2usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.signature); [INFO] [stdout] token: &self.channel_sequence, size: let size = 8usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.channel_sequence); [INFO] [stdout] token: &self.command, size: let size = 12usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.command); [INFO] [stdout] token: &self.credits, size: let size = 14usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.credits); [INFO] [stdout] token: &self.flags, size: let size = 16usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.next_command, size: let size = 20usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.next_command); [INFO] [stdout] token: &self.message_id, size: let size = 24usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.message_id); [INFO] [stdout] token: &self.reserved, size: let size = 36usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.reserved); [INFO] [stdout] token: &self.tree_id, size: let size = 36usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.tree_id); [INFO] [stdout] token: &self.session_id, size: let size = 40usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.session_id); [INFO] [stdout] token: &self.signature, size: let size = 48usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.signature); [INFO] [stdout] token: &self.command, size: let size = 4usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.command); [INFO] [stdout] token: &self.status, size: let size = 5usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.status); [INFO] [stdout] token: &self.flags, size: let size = 9usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.flags); [INFO] [stdout] token: &self.flags2, size: let size = 10usize + :: smb_core :: SMBByteSize :: [INFO] [stdout] smb_byte_size(&self.flags2); [INFO] [stdout] token: &self.extra, size: let size = 12usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.extra); [INFO] [stdout] token: &self.tid, size: let size = 22usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.tid); [INFO] [stdout] token: &self.pid, size: let size = 24usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.pid); [INFO] [stdout] token: &self.uid, size: let size = 26usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.uid); [INFO] [stdout] token: &self.mid, size: let size = 28usize + :: smb_core :: SMBByteSize :: smb_byte_size(&self.mid); [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use tokio::sync::{mpsc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/connection.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use tokio::sync::{Mutex, RwLock}; [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/connection.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::sync::mpsc::Sender; [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `tokio_stream` [INFO] [stdout] --> smb/src/server/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio_stream::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared crate or module `tokio_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/session.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio_util` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio_util::sync::ReusableBoxFuture; [INFO] [stdout] | ^^^^^^^^^^ use of undeclared crate or module `tokio_util` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `tokio_stream` [INFO] [stdout] --> smb/src/server/connection.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio_stream::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared crate or module `tokio_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use tokio::sync::{mpsc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/connection.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use tokio::sync::{Mutex, RwLock}; [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/connection.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::sync::mpsc::Sender; [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `tokio_stream` [INFO] [stdout] --> smb/src/server/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio_stream::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared crate or module `tokio_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/session.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio_util` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio_util::sync::ReusableBoxFuture; [INFO] [stdout] | ^^^^^^^^^^ use of undeclared crate or module `tokio_util` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `tokio_stream` [INFO] [stdout] --> smb/src/server/connection.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio_stream::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared crate or module `tokio_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Write` [INFO] [stdout] --> smb/src/lib.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::ToSocketAddrs` [INFO] [stdout] --> smb/src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::net::ToSocketAddrs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut`, `Deref` [INFO] [stdout] --> smb/src/lib.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::protocol::message::Message` [INFO] [stdout] --> smb/src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::protocol::message::Message; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SMBFromBytes` [INFO] [stdout] --> smb/src/protocol/body/mod.rs:8:47 [INFO] [stdout] | [INFO] [stdout] 8 | use smb_core::{SMBByteSize, SMBEnumFromBytes, SMBFromBytes, SMBParseResult, SMBToBytes}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `V2_X_X` should have an upper camel case name [INFO] [stdout] --> smb/src/protocol/body/dialect.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | V2_X_X = 0x2FF [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `V2XX` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> smb/src/protocol/body/negotiate/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `vector_with_only_last` [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:59:14 [INFO] [stdout] | [INFO] [stdout] 59 | macro_rules! vector_with_only_last { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::auth::AuthProvider` [INFO] [stdout] --> smb/src/protocol/body/session_setup/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::util::auth::AuthProvider; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Write` [INFO] [stdout] --> smb/src/lib.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::ToSocketAddrs` [INFO] [stdout] --> smb/src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::net::ToSocketAddrs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut`, `Deref` [INFO] [stdout] --> smb/src/lib.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Debug` [INFO] [stdout] --> smb/src/util/auth/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Debug; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::protocol::message::Message` [INFO] [stdout] --> smb/src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::protocol::message::Message; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SMBFromBytes` [INFO] [stdout] --> smb/src/protocol/body/mod.rs:8:47 [INFO] [stdout] | [INFO] [stdout] 8 | use smb_core::{SMBByteSize, SMBEnumFromBytes, SMBFromBytes, SMBParseResult, SMBToBytes}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> smb/src/server/connection.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | ; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> smb/src/server/session.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | ; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `V2_X_X` should have an upper camel case name [INFO] [stdout] --> smb/src/protocol/body/dialect.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | V2_X_X = 0x2FF [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `V2XX` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> smb/src/socket/listener/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Add` [INFO] [stdout] --> smb/src/socket/listener/mod.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::{Add, Deref, DerefMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> smb/src/protocol/body/negotiate/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `vector_with_only_last` [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:59:14 [INFO] [stdout] | [INFO] [stdout] 59 | macro_rules! vector_with_only_last { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::auth::AuthProvider` [INFO] [stdout] --> smb/src/protocol/body/session_setup/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::util::auth::AuthProvider; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Debug` [INFO] [stdout] --> smb/src/util/auth/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Debug; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> smb/src/server/connection.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | ; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> smb/src/server/session.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | ; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> smb/src/socket/listener/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Add` [INFO] [stdout] --> smb/src/socket/listener/mod.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::{Add, Deref, DerefMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/mod.rs:305:9 [INFO] [stdout] | [INFO] [stdout] 305 | tokio::spawn(async move { [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `SMBConnection<_, _, _>: TryFrom<(_, std::sync::Weak<_, _>)>` is not satisfied [INFO] [stdout] --> smb/src/server/mod.rs:315:34 [INFO] [stdout] | [INFO] [stdout] 315 | let smb_connection = SMBConnection::try_from((connection, Arc::downgrade(self)))?; [INFO] [stdout] | ^^^^^^^^^^^^^ the trait `From<(_, std::sync::Weak<_, _>)>` is not implemented for `SMBConnection<_, _, _>`, which is required by `SMBConnection<_, _, _>: TryFrom<_>` [INFO] [stdout] | [INFO] [stdout] = note: required for `(_, std::sync::Weak<_, _>)` to implement `std::convert::Into>` [INFO] [stdout] = note: required for `SMBConnection<_, _, _>` to implement `TryFrom<(_, std::sync::Weak<_, _>)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SMBError` [INFO] [stdout] --> smb/src/server/mod.rs:315:93 [INFO] [stdout] | [INFO] [stdout] 315 | let smb_connection = SMBConnection::try_from((connection, Arc::downgrade(self)))?; [INFO] [stdout] | ^ the trait `From` is not implemented for `SMBError`, which is required by `Result<(), SMBError>: FromResidual>` [INFO] [stdout] | [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] = help: the following other types implement trait `FromResidual`: [INFO] [stdout] as FromResidual>> [INFO] [stdout] as FromResidual>> [INFO] [stdout] = note: required for `Result<(), SMBError>` to implement `FromResidual>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/mod.rs:326:13 [INFO] [stdout] | [INFO] [stdout] 326 | tokio::spawn(async move { [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0392]: type parameter `R` is never used [INFO] [stdout] --> smb/src/server/channel.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SMBChannel { [INFO] [stdout] | ^ unused type parameter [INFO] [stdout] | [INFO] [stdout] = help: consider removing `R`, referring to it in a field, or using a marker such as `PhantomData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0392]: type parameter `W` is never used [INFO] [stdout] --> smb/src/server/channel.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SMBChannel { [INFO] [stdout] | ^ unused type parameter [INFO] [stdout] | [INFO] [stdout] = help: consider removing `W`, referring to it in a field, or using a marker such as `PhantomData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0392]: type parameter `S` is never used [INFO] [stdout] --> smb/src/server/channel.rs:4:60 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SMBChannel { [INFO] [stdout] | ^ unused type parameter [INFO] [stdout] | [INFO] [stdout] = help: consider removing `S`, referring to it in a field, or using a marker such as `PhantomData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/mod.rs:305:9 [INFO] [stdout] | [INFO] [stdout] 305 | tokio::spawn(async move { [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `std::option::Option>` is not a future [INFO] [stdout] --> smb/src/server/connection.rs:220:58 [INFO] [stdout] | [INFO] [stdout] 220 | while let Some(message) = read.messages().next().await { [INFO] [stdout] | -^^^^^ [INFO] [stdout] | || [INFO] [stdout] | |`std::option::Option>` is not a future [INFO] [stdout] | help: remove the `.await` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::future::Future` is not implemented for `std::option::Option>`, which is required by `std::option::Option>: IntoFuture` [INFO] [stdout] = note: std::option::Option> must be a future or must implement `IntoFuture` to be awaited [INFO] [stdout] = note: required for `std::option::Option>` to implement `IntoFuture` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `SMBConnection<_, _, _>: TryFrom<(_, std::sync::Weak<_, _>)>` is not satisfied [INFO] [stdout] --> smb/src/server/mod.rs:315:34 [INFO] [stdout] | [INFO] [stdout] 315 | let smb_connection = SMBConnection::try_from((connection, Arc::downgrade(self)))?; [INFO] [stdout] | ^^^^^^^^^^^^^ the trait `From<(_, std::sync::Weak<_, _>)>` is not implemented for `SMBConnection<_, _, _>`, which is required by `SMBConnection<_, _, _>: TryFrom<_>` [INFO] [stdout] | [INFO] [stdout] = note: required for `(_, std::sync::Weak<_, _>)` to implement `std::convert::Into>` [INFO] [stdout] = note: required for `SMBConnection<_, _, _>` to implement `TryFrom<(_, std::sync::Weak<_, _>)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Result` is not a future [INFO] [stdout] --> smb/src/server/connection.rs:235:58 [INFO] [stdout] | [INFO] [stdout] 235 | let sent = write.write_message(&message).await?; [INFO] [stdout] | -^^^^^ [INFO] [stdout] | || [INFO] [stdout] | |`Result` is not a future [INFO] [stdout] | help: remove the `.await` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::future::Future` is not implemented for `Result`, which is required by `Result: IntoFuture` [INFO] [stdout] = note: Result must be a future or must implement `IntoFuture` to be awaited [INFO] [stdout] = note: required for `Result` to implement `IntoFuture` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SMBError` [INFO] [stdout] --> smb/src/server/mod.rs:315:93 [INFO] [stdout] | [INFO] [stdout] 315 | let smb_connection = SMBConnection::try_from((connection, Arc::downgrade(self)))?; [INFO] [stdout] | ^ the trait `From` is not implemented for `SMBError`, which is required by `Result<(), SMBError>: FromResidual>` [INFO] [stdout] | [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] = help: the following other types implement trait `FromResidual`: [INFO] [stdout] as FromResidual>> [INFO] [stdout] as FromResidual>> [INFO] [stdout] = note: required for `Result<(), SMBError>` to implement `FromResidual>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Result<(), SMBError>` is not a future [INFO] [stdout] --> smb/src/server/connection.rs:242:38 [INFO] [stdout] | [INFO] [stdout] 242 | let _ = write.close_stream().await; [INFO] [stdout] | -^^^^^ [INFO] [stdout] | || [INFO] [stdout] | |`Result<(), SMBError>` is not a future [INFO] [stdout] | help: remove the `.await` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::future::Future` is not implemented for `Result<(), SMBError>`, which is required by `Result<(), SMBError>: IntoFuture` [INFO] [stdout] = note: Result<(), SMBError> must be a future or must implement `IntoFuture` to be awaited [INFO] [stdout] = note: required for `Result<(), SMBError>` to implement `IntoFuture` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio` [INFO] [stdout] --> smb/src/server/mod.rs:326:13 [INFO] [stdout] | [INFO] [stdout] 326 | tokio::spawn(async move { [INFO] [stdout] | ^^^^^ use of undeclared crate or module `tokio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0392]: type parameter `R` is never used [INFO] [stdout] --> smb/src/server/channel.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SMBChannel { [INFO] [stdout] | ^ unused type parameter [INFO] [stdout] | [INFO] [stdout] = help: consider removing `R`, referring to it in a field, or using a marker such as `PhantomData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0392]: type parameter `W` is never used [INFO] [stdout] --> smb/src/server/channel.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SMBChannel { [INFO] [stdout] | ^ unused type parameter [INFO] [stdout] | [INFO] [stdout] = help: consider removing `W`, referring to it in a field, or using a marker such as `PhantomData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0392]: type parameter `S` is never used [INFO] [stdout] --> smb/src/server/channel.rs:4:60 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SMBChannel { [INFO] [stdout] | ^ unused type parameter [INFO] [stdout] | [INFO] [stdout] = help: consider removing `S`, referring to it in a field, or using a marker such as `PhantomData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `std::option::Option>` is not a future [INFO] [stdout] --> smb/src/server/connection.rs:220:58 [INFO] [stdout] | [INFO] [stdout] 220 | while let Some(message) = read.messages().next().await { [INFO] [stdout] | -^^^^^ [INFO] [stdout] | || [INFO] [stdout] | |`std::option::Option>` is not a future [INFO] [stdout] | help: remove the `.await` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::future::Future` is not implemented for `std::option::Option>`, which is required by `std::option::Option>: IntoFuture` [INFO] [stdout] = note: std::option::Option> must be a future or must implement `IntoFuture` to be awaited [INFO] [stdout] = note: required for `std::option::Option>` to implement `IntoFuture` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Result` is not a future [INFO] [stdout] --> smb/src/server/connection.rs:235:58 [INFO] [stdout] | [INFO] [stdout] 235 | let sent = write.write_message(&message).await?; [INFO] [stdout] | -^^^^^ [INFO] [stdout] | || [INFO] [stdout] | |`Result` is not a future [INFO] [stdout] | help: remove the `.await` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::future::Future` is not implemented for `Result`, which is required by `Result: IntoFuture` [INFO] [stdout] = note: Result must be a future or must implement `IntoFuture` to be awaited [INFO] [stdout] = note: required for `Result` to implement `IntoFuture` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Result<(), SMBError>` is not a future [INFO] [stdout] --> smb/src/server/connection.rs:242:38 [INFO] [stdout] | [INFO] [stdout] 242 | let _ = write.close_stream().await; [INFO] [stdout] | -^^^^^ [INFO] [stdout] | || [INFO] [stdout] | |`Result<(), SMBError>` is not a future [INFO] [stdout] | help: remove the `.await` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::future::Future` is not implemented for `Result<(), SMBError>`, which is required by `Result<(), SMBError>: IntoFuture` [INFO] [stdout] = note: Result<(), SMBError> must be a future or must implement `IntoFuture` to be awaited [INFO] [stdout] = note: required for `Result<(), SMBError>` to implement `IntoFuture` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0392]: type parameter `C` is never used [INFO] [stdout] --> smb/src/server/tree_connect.rs:12:46 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct SMBTreeConnect { [INFO] [stdout] | ^ unused type parameter [INFO] [stdout] | [INFO] [stdout] = help: consider removing `C`, referring to it in a field, or using a marker such as `PhantomData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Reader: SMBStream` is not satisfied [INFO] [stdout] --> smb/src/socket/message_stream/stream_sync.rs:11:32 [INFO] [stdout] | [INFO] [stdout] 11 | impl SMBReadStream for Reader where Reader: Read + Send + Sync { [INFO] [stdout] | ^^^^^^ the trait `SMBStream` is not implemented for `Reader` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `SMBReadStream` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait SMBReadStream: SMBStream { [INFO] [stdout] | ^^^^^^^^^ required by this bound in `SMBReadStream` [INFO] [stdout] help: consider further restricting this bound [INFO] [stdout] | [INFO] [stdout] 11 | impl SMBReadStream for Reader where Reader: Read + Send + Sync + socket::message_stream::SMBStream { [INFO] [stdout] | +++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Writer: SMBStream` is not satisfied [INFO] [stdout] --> smb/src/socket/message_stream/stream_sync.rs:27:33 [INFO] [stdout] | [INFO] [stdout] 27 | impl SMBWriteStream for Writer where Writer: Write { [INFO] [stdout] | ^^^^^^ the trait `SMBStream` is not implemented for `Writer` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `SMBWriteStream` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | pub trait SMBWriteStream: SMBStream { [INFO] [stdout] | ^^^^^^^^^ required by this bound in `SMBWriteStream` [INFO] [stdout] help: consider further restricting this bound [INFO] [stdout] | [INFO] [stdout] 27 | impl SMBWriteStream for Writer where Writer: Write + socket::message_stream::SMBStream { [INFO] [stdout] | +++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `TcpStream: SMBStream` is not satisfied [INFO] [stdout] --> smb/src/socket/listener/listener_sync.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | type ReadStream = TcpStream; [INFO] [stdout] | ^^^^^^^^^ the trait `SMBStream` is not implemented for `TcpStream`, which is required by `>::ReadStream: SMBReadStream` [INFO] [stdout] | [INFO] [stdout] help: this trait has no implementations, consider adding one [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait SMBStream: Send + Sync { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: required for `>::ReadStream` to implement `SMBReadStream` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait SMBReadStream: SMBStream { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] note: required by a bound in `SMBSocket::ReadStream` [INFO] [stdout] --> smb/src/socket/listener/mod.rs:17:22 [INFO] [stdout] | [INFO] [stdout] 17 | type ReadStream: SMBReadStream + Send + Sync + Debug + 'static; [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBSocket::ReadStream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `TcpStream: SMBStream` is not satisfied [INFO] [stdout] --> smb/src/socket/listener/listener_sync.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | type WriteStream = TcpStream; [INFO] [stdout] | ^^^^^^^^^ the trait `SMBStream` is not implemented for `TcpStream`, which is required by `>::WriteStream: SMBWriteStream` [INFO] [stdout] | [INFO] [stdout] help: this trait has no implementations, consider adding one [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait SMBStream: Send + Sync { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: required for `>::WriteStream` to implement `SMBWriteStream` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | pub trait SMBWriteStream: SMBStream { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: required by a bound in `SMBSocket::WriteStream` [INFO] [stdout] --> smb/src/socket/listener/mod.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | type WriteStream: SMBWriteStream + Send + Sync + Debug + 'static; [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `SMBSocket::WriteStream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0392]: type parameter `C` is never used [INFO] [stdout] --> smb/src/server/tree_connect.rs:12:46 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct SMBTreeConnect { [INFO] [stdout] | ^ unused type parameter [INFO] [stdout] | [INFO] [stdout] = help: consider removing `C`, referring to it in a field, or using a marker such as `PhantomData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Reader: SMBStream` is not satisfied [INFO] [stdout] --> smb/src/socket/message_stream/stream_sync.rs:11:32 [INFO] [stdout] | [INFO] [stdout] 11 | impl SMBReadStream for Reader where Reader: Read + Send + Sync { [INFO] [stdout] | ^^^^^^ the trait `SMBStream` is not implemented for `Reader` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `SMBReadStream` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait SMBReadStream: SMBStream { [INFO] [stdout] | ^^^^^^^^^ required by this bound in `SMBReadStream` [INFO] [stdout] help: consider further restricting this bound [INFO] [stdout] | [INFO] [stdout] 11 | impl SMBReadStream for Reader where Reader: Read + Send + Sync + socket::message_stream::SMBStream { [INFO] [stdout] | +++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Writer: SMBStream` is not satisfied [INFO] [stdout] --> smb/src/socket/message_stream/stream_sync.rs:27:33 [INFO] [stdout] | [INFO] [stdout] 27 | impl SMBWriteStream for Writer where Writer: Write { [INFO] [stdout] | ^^^^^^ the trait `SMBStream` is not implemented for `Writer` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `SMBWriteStream` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | pub trait SMBWriteStream: SMBStream { [INFO] [stdout] | ^^^^^^^^^ required by this bound in `SMBWriteStream` [INFO] [stdout] help: consider further restricting this bound [INFO] [stdout] | [INFO] [stdout] 27 | impl SMBWriteStream for Writer where Writer: Write + socket::message_stream::SMBStream { [INFO] [stdout] | +++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `TcpStream: SMBStream` is not satisfied [INFO] [stdout] --> smb/src/socket/listener/listener_sync.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | type ReadStream = TcpStream; [INFO] [stdout] | ^^^^^^^^^ the trait `SMBStream` is not implemented for `TcpStream`, which is required by `>::ReadStream: SMBReadStream` [INFO] [stdout] | [INFO] [stdout] help: this trait has no implementations, consider adding one [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait SMBStream: Send + Sync { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: required for `>::ReadStream` to implement `SMBReadStream` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait SMBReadStream: SMBStream { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] note: required by a bound in `SMBSocket::ReadStream` [INFO] [stdout] --> smb/src/socket/listener/mod.rs:17:22 [INFO] [stdout] | [INFO] [stdout] 17 | type ReadStream: SMBReadStream + Send + Sync + Debug + 'static; [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBSocket::ReadStream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `TcpStream: SMBStream` is not satisfied [INFO] [stdout] --> smb/src/socket/listener/listener_sync.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | type WriteStream = TcpStream; [INFO] [stdout] | ^^^^^^^^^ the trait `SMBStream` is not implemented for `TcpStream`, which is required by `>::WriteStream: SMBWriteStream` [INFO] [stdout] | [INFO] [stdout] help: this trait has no implementations, consider adding one [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait SMBStream: Send + Sync { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: required for `>::WriteStream` to implement `SMBWriteStream` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | pub trait SMBWriteStream: SMBStream { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: required by a bound in `SMBSocket::WriteStream` [INFO] [stdout] --> smb/src/socket/listener/mod.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | type WriteStream: SMBWriteStream + Send + Sync + Debug + 'static; [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `SMBSocket::WriteStream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:174:71 [INFO] [stdout] | [INFO] [stdout] 174 | response_contexts.push(Self::PreAuthIntegrityCapabilities(PreAuthIntegrityCapabilities::from_connection_state(connection))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ---------- type must be known at this point [INFO] [stdout] | | [INFO] [stdout] | cannot infer type of the type parameter `R` declared on the associated function `from_connection_state` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `PreAuthIntegrityCapabilities::from_connection_state` [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:230:33 [INFO] [stdout] | [INFO] [stdout] 230 | fn from_connection_state(connection: &SMBConnection) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `PreAuthIntegrityCapabilities::from_connection_state` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 174 | response_contexts.push(Self::PreAuthIntegrityCapabilities(PreAuthIntegrityCapabilities::from_connection_state::(connection))); [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:196:68 [INFO] [stdout] | [INFO] [stdout] 196 | NegotiateContext::PreAuthIntegrityCapabilities(x) => x.validate_and_set_state(connection), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ---------- type must be known at this point [INFO] [stdout] | | [INFO] [stdout] | cannot infer type of the type parameter `R` declared on the method `validate_and_set_state` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `PreAuthIntegrityCapabilities::validate_and_set_state` [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:240:38 [INFO] [stdout] | [INFO] [stdout] 240 | pub fn validate_and_set_state(&self, connection: SMBConnectionUpdate) -> SMB... [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `PreAuthIntegrityCapabilities::validate_and_set_state` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 196 | NegotiateContext::PreAuthIntegrityCapabilities(x) => x.validate_and_set_state::(connection), [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:242:28 [INFO] [stdout] | [INFO] [stdout] 242 | Ok((connection.preauth_integrity_hash_id(*algorithm), true)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::preauth_integrity_hash_id` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::preauth_integrity_hash_id` [INFO] [stdout] ... [INFO] [stdout] 101 | preauth_integrity_hash_id: HashAlgorithm, [INFO] [stdout] | ------------------------- required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:285:28 [INFO] [stdout] | [INFO] [stdout] 285 | Ok((connection.cipher_id(*cipher), true)) [INFO] [stdout] | ^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::cipher_id` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::cipher_id` [INFO] [stdout] ... [INFO] [stdout] 104 | cipher_id: EncryptionCipher, [INFO] [stdout] | --------- required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:174:71 [INFO] [stdout] | [INFO] [stdout] 174 | response_contexts.push(Self::PreAuthIntegrityCapabilities(PreAuthIntegrityCapabilities::from_connection_state(connection))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ---------- type must be known at this point [INFO] [stdout] | | [INFO] [stdout] | cannot infer type of the type parameter `R` declared on the associated function `from_connection_state` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `PreAuthIntegrityCapabilities::from_connection_state` [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:230:33 [INFO] [stdout] | [INFO] [stdout] 230 | fn from_connection_state(connection: &SMBConnection) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `PreAuthIntegrityCapabilities::from_connection_state` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 174 | response_contexts.push(Self::PreAuthIntegrityCapabilities(PreAuthIntegrityCapabilities::from_connection_state::(connection))); [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:196:68 [INFO] [stdout] | [INFO] [stdout] 196 | NegotiateContext::PreAuthIntegrityCapabilities(x) => x.validate_and_set_state(connection), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ---------- type must be known at this point [INFO] [stdout] | | [INFO] [stdout] | cannot infer type of the type parameter `R` declared on the method `validate_and_set_state` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `PreAuthIntegrityCapabilities::validate_and_set_state` [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:240:38 [INFO] [stdout] | [INFO] [stdout] 240 | pub fn validate_and_set_state(&self, connection: SMBConnectionUpdate) -> SMB... [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `PreAuthIntegrityCapabilities::validate_and_set_state` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 196 | NegotiateContext::PreAuthIntegrityCapabilities(x) => x.validate_and_set_state::(connection), [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:344:24 [INFO] [stdout] | [INFO] [stdout] 344 | Ok((connection.compression_ids(self.compression_algorithms.clone()), true)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::compression_ids` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::compression_ids` [INFO] [stdout] ... [INFO] [stdout] 106 | compression_ids: Vec, // TODO ?? [INFO] [stdout] | --------------- required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:242:28 [INFO] [stdout] | [INFO] [stdout] 242 | Ok((connection.preauth_integrity_hash_id(*algorithm), true)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::preauth_integrity_hash_id` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::preauth_integrity_hash_id` [INFO] [stdout] ... [INFO] [stdout] 101 | preauth_integrity_hash_id: HashAlgorithm, [INFO] [stdout] | ------------------------- required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:396:28 [INFO] [stdout] | [INFO] [stdout] 396 | Ok((connection.accept_transport_security(true), true)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::accept_transport_security` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::accept_transport_security` [INFO] [stdout] ... [INFO] [stdout] 110 | accept_transport_security: bool, [INFO] [stdout] | ------------------------- required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:285:28 [INFO] [stdout] | [INFO] [stdout] 285 | Ok((connection.cipher_id(*cipher), true)) [INFO] [stdout] | ^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::cipher_id` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::cipher_id` [INFO] [stdout] ... [INFO] [stdout] 104 | cipher_id: EncryptionCipher, [INFO] [stdout] | --------- required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:441:24 [INFO] [stdout] | [INFO] [stdout] 441 | Ok((connection.rdma_transform_ids(self.transform_ids.clone()), true)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::rdma_transform_ids` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::rdma_transform_ids` [INFO] [stdout] ... [INFO] [stdout] 108 | rdma_transform_ids: Vec, // TODO ?? [INFO] [stdout] | ------------------ required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:480:24 [INFO] [stdout] | [INFO] [stdout] 480 | Ok((connection.signing_algorithm_id(*algorithms.first().unwrap()), true)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::signing_algorithm_id` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::signing_algorithm_id` [INFO] [stdout] ... [INFO] [stdout] 109 | signing_algorithm_id: SigningAlgorithm, [INFO] [stdout] | -------------------- required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:344:24 [INFO] [stdout] | [INFO] [stdout] 344 | Ok((connection.compression_ids(self.compression_algorithms.clone()), true)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::compression_ids` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::compression_ids` [INFO] [stdout] ... [INFO] [stdout] 106 | compression_ids: Vec, // TODO ?? [INFO] [stdout] | --------------- required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:396:28 [INFO] [stdout] | [INFO] [stdout] 396 | Ok((connection.accept_transport_security(true), true)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::accept_transport_security` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::accept_transport_security` [INFO] [stdout] ... [INFO] [stdout] 110 | accept_transport_security: bool, [INFO] [stdout] | ------------------------- required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | let mut update = SMBConnectionUpdate::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` declared on the struct `SMBConnectionUpdate` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 77 | #[builder(name = "SMBConnectionUpdate", pattern = "owned")] [INFO] [stdout] | --------------------- required by a bound in this struct [INFO] [stdout] 78 | #[builder(build_fn(skip))] [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:441:24 [INFO] [stdout] | [INFO] [stdout] 441 | Ok((connection.rdma_transform_ids(self.transform_ids.clone()), true)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::rdma_transform_ids` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::rdma_transform_ids` [INFO] [stdout] ... [INFO] [stdout] 108 | rdma_transform_ids: Vec, // TODO ?? [INFO] [stdout] | ------------------ required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:480:24 [INFO] [stdout] | [INFO] [stdout] 480 | Ok((connection.signing_algorithm_id(*algorithms.first().unwrap()), true)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate::::signing_algorithm_id` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate::::signing_algorithm_id` [INFO] [stdout] ... [INFO] [stdout] 109 | signing_algorithm_id: SigningAlgorithm, [INFO] [stdout] | -------------------- required by a bound in this associated function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/mod.rs:149:34 [INFO] [stdout] | [INFO] [stdout] 149 | let negotiate_contexts = NegotiateContext::from_connection_state(connection, negotiate_contexts); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ---------- type must be known at this point [INFO] [stdout] | | [INFO] [stdout] | cannot infer type of the type parameter `R` declared on the associated function `from_connection_state` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `NegotiateContext::from_connection_state` [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:171:37 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn from_connection_state(connection: &SMBConnection, request_contexts: H... [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `NegotiateContext::from_connection_state` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 149 | let negotiate_contexts = NegotiateContext::from_connection_state::(connection, negotiate_contexts); [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | let mut update = SMBConnectionUpdate::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `R` declared on the struct `SMBConnectionUpdate` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBConnectionUpdate` [INFO] [stdout] --> smb/src/server/connection.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 77 | #[builder(name = "SMBConnectionUpdate", pattern = "owned")] [INFO] [stdout] | --------------------- required by a bound in this struct [INFO] [stdout] 78 | #[builder(build_fn(skip))] [INFO] [stdout] 79 | pub struct SMBConnection { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBConnectionUpdate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/protocol/body/negotiate/mod.rs:149:34 [INFO] [stdout] | [INFO] [stdout] 149 | let negotiate_contexts = NegotiateContext::from_connection_state(connection, negotiate_contexts); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ---------- type must be known at this point [INFO] [stdout] | | [INFO] [stdout] | cannot infer type of the type parameter `R` declared on the associated function `from_connection_state` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `NegotiateContext::from_connection_state` [INFO] [stdout] --> smb/src/protocol/body/negotiate/context.rs:171:37 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn from_connection_state(connection: &SMBConnection, request_contexts: H... [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `NegotiateContext::from_connection_state` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 149 | let negotiate_contexts = NegotiateContext::from_connection_state::(connection, negotiate_contexts); [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/server/connection.rs:383:46 [INFO] [stdout] | [INFO] [stdout] 383 | let (update, contexts) = request.validate_and_set_state(self, server)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ---- type must be known at this point [INFO] [stdout] | | [INFO] [stdout] | cannot infer type of the type parameter `R` declared on the method `validate_and_set_state` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBNegotiateRequest::validate_and_set_state` [INFO] [stdout] --> smb/src/protocol/body/negotiate/mod.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn validate_and_set_state(&self, connection: &SMBConnection, server: &S)... [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBNegotiateRequest::validate_and_set_state` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 383 | let (update, contexts) = request.validate_and_set_state::(self, server)?; [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Reader: SMBStream` is not satisfied [INFO] [stdout] --> smb/src/socket/message_stream/stream_sync.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | Self::read_message_inner(existing) [INFO] [stdout] | ^^^^ the trait `SMBStream` is not implemented for `Reader` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `SMBReadStream::read_message_inner` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait SMBReadStream: SMBStream { [INFO] [stdout] | ^^^^^^^^^ required by this bound in `SMBReadStream::read_message_inner` [INFO] [stdout] ... [INFO] [stdout] 30 | fn read_message_inner(buffer: &[u8]) -> SMBParseResult<&[u8], SMBMessage> { [INFO] [stdout] | ------------------ required by a bound in this associated function [INFO] [stdout] help: consider further restricting this bound [INFO] [stdout] | [INFO] [stdout] 11 | impl SMBReadStream for Reader where Reader: Read + Send + Sync + socket::message_stream::SMBStream { [INFO] [stdout] | +++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AuthMessage` [INFO] [stdout] --> smb/src/server/connection.rs:33:38 [INFO] [stdout] | [INFO] [stdout] 33 | use crate::util::auth::{AuthContext, AuthMessage, AuthProvider}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::AsBytes` [INFO] [stdout] --> smb/src/server/session.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use nom::AsBytes; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Header` [INFO] [stdout] --> smb/src/server/connection.rs:24:31 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::protocol::header::{Header, SMBSyncHeader}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> smb/src/server/connection.rs:383:46 [INFO] [stdout] | [INFO] [stdout] 383 | let (update, contexts) = request.validate_and_set_state(self, server)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ---- type must be known at this point [INFO] [stdout] | | [INFO] [stdout] | cannot infer type of the type parameter `R` declared on the method `validate_and_set_state` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: SMBReadStream` [INFO] [stdout] note: required by a bound in `SMBNegotiateRequest::validate_and_set_state` [INFO] [stdout] --> smb/src/protocol/body/negotiate/mod.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn validate_and_set_state(&self, connection: &SMBConnection, server: &S)... [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `SMBNegotiateRequest::validate_and_set_state` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 383 | let (update, contexts) = request.validate_and_set_state::(self, server)?; [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Reader: SMBStream` is not satisfied [INFO] [stdout] --> smb/src/socket/message_stream/stream_sync.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | Self::read_message_inner(existing) [INFO] [stdout] | ^^^^ the trait `SMBStream` is not implemented for `Reader` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `SMBReadStream::read_message_inner` [INFO] [stdout] --> smb/src/socket/message_stream/mod.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait SMBReadStream: SMBStream { [INFO] [stdout] | ^^^^^^^^^ required by this bound in `SMBReadStream::read_message_inner` [INFO] [stdout] ... [INFO] [stdout] 30 | fn read_message_inner(buffer: &[u8]) -> SMBParseResult<&[u8], SMBMessage> { [INFO] [stdout] | ------------------ required by a bound in this associated function [INFO] [stdout] help: consider further restricting this bound [INFO] [stdout] | [INFO] [stdout] 11 | impl SMBReadStream for Reader where Reader: Read + Send + Sync + socket::message_stream::SMBStream { [INFO] [stdout] | +++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Header` [INFO] [stdout] --> smb/src/server/connection.rs:24:31 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::protocol::header::{Header, SMBSyncHeader}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AuthMessage` [INFO] [stdout] --> smb/src/server/connection.rs:33:38 [INFO] [stdout] | [INFO] [stdout] 33 | use crate::util::auth::{AuthContext, AuthMessage, AuthProvider}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::AsBytes` [INFO] [stdout] --> smb/src/server/session.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use nom::AsBytes; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> smb/src/protocol/body/session_setup/mod.rs:120:25 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn from_request(request: SMBSessionSetupRequest, token: Vec) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remaining` [INFO] [stdout] --> smb/src/protocol/body/tree_connect/context.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | let (remaining, ctx_type) = u16::smb_from_bytes(input)?; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> smb/src/protocol/body/session_setup/mod.rs:120:25 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn from_request(request: SMBSessionSetupRequest, token: Vec) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remaining` [INFO] [stdout] --> smb/src/protocol/body/tree_connect/context.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | let (remaining, ctx_type) = u16::smb_from_bytes(input)?; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> smb/src/util/auth/ntlm/ntlm_auth_provider.rs:39:36 [INFO] [stdout] | [INFO] [stdout] 39 | NTLMMessage::Challenge(x) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes` [INFO] [stdout] --> smb/src/util/auth/ntlm/ntlm_challenge_message.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn parse(bytes: &[u8]) -> IResult<&[u8], Self> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> smb/src/util/auth/ntlm/ntlm_authenticate_message.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | ... let response = authenticate_v1_extended(&matched_user.password, server_challenge, &self.lm_challenge_response, &self.nt_challenge_r... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> smb/src/util/auth/ntlm/ntlm_auth_provider.rs:39:36 [INFO] [stdout] | [INFO] [stdout] 39 | NTLMMessage::Challenge(x) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes` [INFO] [stdout] --> smb/src/util/auth/ntlm/ntlm_challenge_message.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn parse(bytes: &[u8]) -> IResult<&[u8], Self> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> smb/src/util/auth/ntlm/ntlm_authenticate_message.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | ... let response = authenticate_v1_extended(&matched_user.password, server_challenge, &self.lm_challenge_response, &self.nt_challenge_r... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> smb/src/socket/listener/mod.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | fn new_socket(addr: T) -> SMBResult where Self: Sized { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 34 previous errors; 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0283, E0392, E0432, E0433. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `smb_reader` (lib) due to 35 previous errors; 24 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> smb/src/socket/listener/mod.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | fn new_socket(addr: T) -> SMBResult where Self: Sized { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 34 previous errors; 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0283, E0392, E0432, E0433. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `smb_reader` (lib test) due to 35 previous errors; 24 warnings emitted [INFO] running `Command { std: "docker" "inspect" "85350c90eab7ffe09a27ce4e2fbdb1ff81efc010e3fb3454989b31733f9a7942", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "85350c90eab7ffe09a27ce4e2fbdb1ff81efc010e3fb3454989b31733f9a7942", kill_on_drop: false }` [INFO] [stdout] 85350c90eab7ffe09a27ce4e2fbdb1ff81efc010e3fb3454989b31733f9a7942