[INFO] cloning repository https://github.com/jeffreyccching/filament-ifc-proto
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jeffreyccching/filament-ifc-proto" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeffreyccching%2Ffilament-ifc-proto", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeffreyccching%2Ffilament-ifc-proto'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f87b3146aa97d688fcb742781286de3c736b3f48
[INFO] checking jeffreyccching/filament-ifc-proto against 846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9 for pr-164812
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeffreyccching%2Ffilament-ifc-proto" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/jeffreyccching/filament-ifc-proto
[INFO] finished tweaking git repo https://github.com/jeffreyccching/filament-ifc-proto
[INFO] tweaked toml for git repo https://github.com/jeffreyccching/filament-ifc-proto written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jeffreyccching/filament-ifc-proto on toolchain 846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 48 packages to highest compatible versions
[INFO] [stderr]       Adding rand v0.8.8 (available: v0.10.3)
[INFO] [stderr]       Adding syn v2.0.119 (available: v3.0.9)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crossbeam-channel v0.3.9
[INFO] [stderr]   Downloaded crossbeam-utils v0.6.6
[INFO] [stderr]   Downloaded target-tuple v1.0.2
[INFO] [stderr]   Downloaded cfg-if v0.1.10
[INFO] [stderr]   Downloaded serde_spanned v1.1.3
[INFO] [stderr]   Downloaded toml_writer v1.2.0+spec-1.1.0
[INFO] [stderr]   Downloaded toml_datetime v1.1.3+spec-1.1.0
[INFO] [stderr]   Downloaded glob v0.3.4
[INFO] [stderr]   Downloaded trybuild v1.0.122
[INFO] [stderr]   Downloaded toml v1.2.1+spec-1.1.0
[INFO] [stderr]   Downloaded session_types v0.3.1
[INFO] [stderr]   Downloaded rand v0.8.8
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.63
[INFO] [stderr]   Downloaded aho-corasick v1.1.5
[INFO] [stderr]   Downloaded winnow v1.0.5
[INFO] [stderr]   Downloaded zerocopy v0.8.63
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ad4cdf65f77b5ccf33cc2d2bb23d9065677fcc773765800863f4a0fbbd1196f6
[INFO] running `Command { std: "docker" "start" "ad4cdf65f77b5ccf33cc2d2bb23d9065677fcc773765800863f4a0fbbd1196f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ad4cdf65f77b5ccf33cc2d2bb23d9065677fcc773765800863f4a0fbbd1196f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ad4cdf65f77b5ccf33cc2d2bb23d9065677fcc773765800863f4a0fbbd1196f6" "/opt/rustwide/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ad4cdf65f77b5ccf33cc2d2bb23d9065677fcc773765800863f4a0fbbd1196f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ad4cdf65f77b5ccf33cc2d2bb23d9065677fcc773765800863f4a0fbbd1196f6" "/opt/rustwide/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.27
[INFO] [stderr]     Checking zeroize v1.9.1
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling libc v0.2.191
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling zerocopy v0.8.63
[INFO] [stderr]     Checking typing_rules v0.1.0 (/opt/rustwide/workdir/fg_ifc_library/typing_rules)
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling serde_json v1.0.154
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking cfg-if v1.0.5
[INFO] [stderr]    Compiling target-tuple v1.0.2
[INFO] [stderr]     Checking lazy_static v1.5.1
[INFO] [stderr]     Checking winnow v1.0.5
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]     Checking toml_parser v1.1.5+spec-1.1.0
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.9
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking toml_writer v1.2.0+spec-1.1.0
[INFO] [stderr]     Checking crossbeam-channel v0.3.9
[INFO] [stderr]     Checking glob v0.3.4
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking session_types v0.3.1
[INFO] [stderr]     Checking jpmail-no-ifc v0.1.0 (/opt/rustwide/workdir/examples/jpmail-no-ifc)
[INFO] [stdout] warning: field `use_ssl` is never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/net.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SecureSocket {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub use_ssl: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecureSocket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_ssl` is never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/net.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl SecureSocket {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn create_ssl(host: &str, port: u16) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `iv_file` and `key_file` are never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/password.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Password {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub iv_file: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 40 |     /// Path to the DES key file (public, but key data inside is sensitive).
[INFO] [stdout] 41 |     pub key_file: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_password` and `to_base64` are never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/password.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Password {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn get_password(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn to_base64(data: &[u8]) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cert_path` is never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/policy.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct PrincipalWrapper {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub cert_path: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrincipalWrapper` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name` and `hash_code` are never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/policy.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl PrincipalWrapper {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn get_name(&self) -> &String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn hash_code(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `public_key_pem`, `keystore_password`, and `trusted_ca_file` are never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/policy.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct KeyPrincipal {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub public_key_pem: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 95 |     /// Keystore password (secret -- the owner must keep this secret).
[INFO] [stdout] 96 |     pub keystore_password: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 97 |     /// Path to the trusted CA file (public).
[INFO] [stdout] 98 |     pub trusted_ca_file: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `policy_file` is never read
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/policy.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct PolicyStore {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub policy_file: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_principal` and `get_keystore_path` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/policy.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl PolicyStore {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn has_principal(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn get_keystore_path(&self, name: &str) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_password_file` and `display_message` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/mod.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl MailReaderCrypto {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn from_password_file(server: &str, username: &str, cert_dir: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn display_message(&self, msg: &JPMailMessage) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `content_type`, `subtype`, `boundary`, `name`, `charset`, and `format` are never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/content.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ContentType {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 35 |     pub content_type: String,       // String{} e.g. "text", "multipart"
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub subtype: String,            // String{} e.g. "plain", "mixed"
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 37 |     pub boundary: Option<String>,   // String{} present in multipart/*
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 38 |     pub name: Option<String>,       // String{} attachment filename hint
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 39 |     pub charset: Option<String>,    // String{} e.g. "utf-8"
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 40 |     pub format: Option<String>,     // String{} e.g. "flowed"
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContentType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `text_plain`, `parse`, `is_multipart`, and `to_header` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/content.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl ContentType {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  44 |     pub fn text_plain() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn parse(header: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn is_multipart(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn to_header(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `disposition` and `filename` are never read
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/content.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct ContentDisposition {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 131 |     pub disposition: String,        // String{} "inline" or "attachment"
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 132 |     pub filename: Option<String>,   // String{} attachment filename
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContentDisposition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `inline`, `parse`, and `is_attachment` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/content.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl ContentDisposition {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 136 |     pub fn inline() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn parse(header: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn is_attachment(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `date`, `content_type`, `mime_version`, and `crypto_info` are never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/header.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MimeHeader {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub date: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 36 |     pub subject: String,
[INFO] [stdout] 37 |     pub content_type: ContentType,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub mime_version: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub crypto_info: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MimeHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_public_header_string` is never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/header.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl MimeHeader {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn to_public_header_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show_public_headers` is never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/message.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl MimeMailMessage {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 121 |     /// Serialize the public headers (safe to log / display to anyone).
[INFO] [stdout] 122 |     pub fn show_public_headers(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transfer_encoding`, `content_type`, `content_disposition`, and `other_metadata` are never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/part.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct MimePartHeader {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 25 |     pub transfer_encoding: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub content_type: ContentType,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub content_disposition: Option<ContentDisposition>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub other_metadata: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MimePartHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_7bit` and `to_header_string` are never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/part.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl MimePartHeader {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 32 |     pub fn new_7bit() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn to_header_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MimePartBodyTrait` is never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/part.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub trait MimePartBodyTrait {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MimePart7bit` is never constructed
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/part.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct MimePart7bit {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `as_bytes` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/part.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl MimePart7bit {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  95 |     pub fn new(text: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn as_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MimePartBase64` is never constructed
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/part.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct MimePartBase64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `decode` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/part.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl MimePartBase64 {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 122 |     pub fn new(data: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn decode(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/part.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct MimePart {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 145 |     /// Public metadata (content-type, transfer-encoding, disposition).
[INFO] [stdout] 146 |     pub header: MimePartHeader,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MimePart` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `make_7bit` and `to_bytes` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/part.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl MimePart {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn make_7bit(text: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_password_file` is never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/smtp/mod.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl MailSenderCrypto {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn from_password_file(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `password` is never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/smtp/auth.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct DigestMD5 {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     /// The user's plaintext password (secret credential).
[INFO] [stdout] 36 |     pub password: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `auth_server` is never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/smtp/auth.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl DigestMD5 {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn auth_server(&self, client_response: String) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `use_ssl` is never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/net.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SecureSocket {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub use_ssl: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecureSocket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_ssl` is never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/net.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl SecureSocket {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn create_ssl(host: &str, port: u16) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `iv_file` and `key_file` are never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/password.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Password {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub iv_file: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 40 |     /// Path to the DES key file (public, but key data inside is sensitive).
[INFO] [stdout] 41 |     pub key_file: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_password` and `to_base64` are never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/password.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Password {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn get_password(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn to_base64(data: &[u8]) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cert_path` is never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/policy.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct PrincipalWrapper {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub cert_path: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrincipalWrapper` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name` and `hash_code` are never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/policy.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl PrincipalWrapper {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn get_name(&self) -> &String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn hash_code(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `public_key_pem`, `keystore_password`, and `trusted_ca_file` are never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/policy.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct KeyPrincipal {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub public_key_pem: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 95 |     /// Keystore password (secret -- the owner must keep this secret).
[INFO] [stdout] 96 |     pub keystore_password: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 97 |     /// Path to the trusted CA file (public).
[INFO] [stdout] 98 |     pub trusted_ca_file: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `policy_file` is never read
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/policy.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct PolicyStore {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub policy_file: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_principal` and `get_keystore_path` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/policy.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl PolicyStore {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn has_principal(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn get_keystore_path(&self, name: &str) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_password_file` and `display_message` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/mod.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl MailReaderCrypto {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn from_password_file(server: &str, username: &str, cert_dir: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn display_message(&self, msg: &JPMailMessage) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `content_type`, `subtype`, `boundary`, `name`, `charset`, and `format` are never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/content.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ContentType {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 35 |     pub content_type: String,       // String{} e.g. "text", "multipart"
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub subtype: String,            // String{} e.g. "plain", "mixed"
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 37 |     pub boundary: Option<String>,   // String{} present in multipart/*
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 38 |     pub name: Option<String>,       // String{} attachment filename hint
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 39 |     pub charset: Option<String>,    // String{} e.g. "utf-8"
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 40 |     pub format: Option<String>,     // String{} e.g. "flowed"
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContentType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `text_plain`, `parse`, `is_multipart`, and `to_header` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/content.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl ContentType {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  44 |     pub fn text_plain() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn parse(header: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn is_multipart(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn to_header(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `disposition` and `filename` are never read
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/content.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct ContentDisposition {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 131 |     pub disposition: String,        // String{} "inline" or "attachment"
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 132 |     pub filename: Option<String>,   // String{} attachment filename
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContentDisposition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `inline`, `parse`, and `is_attachment` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/content.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl ContentDisposition {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 136 |     pub fn inline() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn parse(header: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn is_attachment(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `date`, `content_type`, `mime_version`, and `crypto_info` are never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/header.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MimeHeader {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub date: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 36 |     pub subject: String,
[INFO] [stdout] 37 |     pub content_type: ContentType,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub mime_version: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub crypto_info: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MimeHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_public_header_string` is never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/header.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl MimeHeader {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn to_public_header_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show_public_headers` is never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/message.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl MimeMailMessage {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 121 |     /// Serialize the public headers (safe to log / display to anyone).
[INFO] [stdout] 122 |     pub fn show_public_headers(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transfer_encoding`, `content_type`, `content_disposition`, and `other_metadata` are never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/part.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct MimePartHeader {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 25 |     pub transfer_encoding: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub content_type: ContentType,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub content_disposition: Option<ContentDisposition>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub other_metadata: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MimePartHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_7bit` and `to_header_string` are never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/part.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl MimePartHeader {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 32 |     pub fn new_7bit() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn to_header_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MimePartBodyTrait` is never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/part.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub trait MimePartBodyTrait {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MimePart7bit` is never constructed
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/pop3/part.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct MimePart7bit {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `as_bytes` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/part.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl MimePart7bit {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  95 |     pub fn new(text: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn as_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MimePartBase64` is never constructed
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/part.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct MimePartBase64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `decode` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/part.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl MimePartBase64 {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 122 |     pub fn new(data: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn decode(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/part.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct MimePart {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 145 |     /// Public metadata (content-type, transfer-encoding, disposition).
[INFO] [stdout] 146 |     pub header: MimePartHeader,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MimePart` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `make_7bit` and `to_bytes` are never used
[INFO] [stdout]    --> examples/jpmail-no-ifc/src/pop3/part.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl MimePart {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn make_7bit(text: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_password_file` is never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/smtp/mod.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl MailSenderCrypto {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn from_password_file(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `password` is never read
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/smtp/auth.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct DigestMD5 {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     /// The user's plaintext password (secret credential).
[INFO] [stdout] 36 |     pub password: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `auth_server` is never used
[INFO] [stdout]   --> examples/jpmail-no-ifc/src/smtp/auth.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl DigestMD5 {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn auth_server(&self, client_response: String) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking toml_datetime v1.1.3+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.3
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]     Checking toml v1.2.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling macros v0.1.0 (/opt/rustwide/workdir/fg_ifc_library/macros)
[INFO] [stderr]     Checking pc_block_tests v0.1.0 (/opt/rustwide/workdir/fg_ifc_library/pc_block_tests)
[INFO] [stderr]     Checking calendar-no-ifc v0.1.0 (/opt/rustwide/workdir/examples/calendar-no-ifc)
[INFO] [stderr]     Checking calendar v0.1.0 (/opt/rustwide/workdir/examples/calendar)
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking jpmail v0.1.0 (/opt/rustwide/workdir/examples/jpmail)
[INFO] [stdout] warning: unused variable: `alice_cal`
[INFO] [stdout]   --> examples/calendar/src/main.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let alice_cal = HashMap::from([
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice_cal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bob_cal`
[INFO] [stdout]   --> examples/calendar/src/main.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let bob_cal = HashMap::from([
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_cal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_insecure` is never used
[INFO] [stdout]   --> examples/calendar/src/main.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn example_insecure() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stdout] warning: unused variable: `alice_cal`
[INFO] [stdout]   --> examples/calendar/src/main.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let alice_cal = HashMap::from([
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alice_cal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bob_cal`
[INFO] [stdout]   --> examples/calendar/src/main.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let bob_cal = HashMap::from([
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bob_cal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_insecure` is never used
[INFO] [stdout]   --> examples/calendar/src/main.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn example_insecure() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macros::mcall`
[INFO] [stdout]   --> examples/jpmail/src/crypto.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use macros::mcall;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macros::mcall`
[INFO] [stdout]   --> examples/jpmail/src/smtp/closures.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use macros::mcall;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macros::mcall`
[INFO] [stdout]   --> examples/jpmail/src/crypto.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use macros::mcall;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macros::mcall`
[INFO] [stdout]   --> examples/jpmail/src/smtp/closures.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use macros::mcall;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> examples/jpmail/src/net.rs:93:51
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn write_line<Src: Label + LEQ<L>>(&self, data: Labeled<String, Src>) {
[INFO] [stdout]    |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list_response`
[INFO] [stdout]    --> examples/jpmail/src/pop3/mod.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let list_response = socket.read_line();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mime`
[INFO] [stdout]    --> examples/jpmail/src/smtp/mod.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mime = msg.to_mime(recipient_key_id);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_mime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> examples/jpmail/src/net.rs:93:51
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn write_line<Src: Label + LEQ<L>>(&self, data: Labeled<String, Src>) {
[INFO] [stdout]    |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeclassifyHelper` is never constructed
[INFO] [stdout]    --> examples/jpmail/src/crypto.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct DeclassifyHelper;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `upgrade_byte_array` and `declassify_byte_array` are never used
[INFO] [stdout]    --> examples/jpmail/src/crypto.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl DeclassifyHelper {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn upgrade_byte_array<Dest: Label>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn declassify_byte_array<Src: Label>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `use_ssl` is never read
[INFO] [stdout]   --> examples/jpmail/src/net.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct SecureSocket<L: Label> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub use_ssl: bool, // boolean{} useSSL
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecureSocket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_ssl` is never used
[INFO] [stdout]   --> examples/jpmail/src/net.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<L: Label> SecureSocket<L> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn create_ssl(host: &str, port: u16) -> Labeled<Self, L> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `iv_file` and `key_file` are never read
[INFO] [stdout]   --> examples/jpmail/src/password.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Password<L: Label> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub iv_file: String,           // String{} — public
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 44 |     /// Path to the DES key file (String{} — public, but key data inside is sensitive).
[INFO] [stdout] 45 |     pub key_file: String,          // String{} — public
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_password` and `to_base64` are never used
[INFO] [stdout]    --> examples/jpmail/src/password.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl<L: Label> Password<L> {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn get_password(&self) -> Labeled<String, L> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn to_base64(data: &[u8]) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cert_path` is never read
[INFO] [stdout]   --> examples/jpmail/src/policy.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct PrincipalWrapper<L: Label> {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub cert_path: String, // String{} — public
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrincipalWrapper` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name`, `get_labeled_name`, and `hash_code` are never used
[INFO] [stdout]   --> examples/jpmail/src/policy.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl<L: Label> PrincipalWrapper<L> {
[INFO] [stdout]    | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn get_name(&self) -> &String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn get_labeled_name(&self) -> Labeled<String, L> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn hash_code(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `public_key_pem`, `keystore_password`, and `trusted_ca_file` are never read
[INFO] [stdout]    --> examples/jpmail/src/policy.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct KeyPrincipal<L: Label> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub public_key_pem: String, // PublicKey — public
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 116 |     /// Keystore password (String{this:} in Jif — labeled L, the owner must keep this secret).
[INFO] [stdout] 117 |     pub keystore_password: Labeled<String, L>, // String{this:} keystorePwd
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 118 |     /// Path to the trusted CA file (String{} — public).
[INFO] [stdout] 119 |     pub trusted_ca_file: String, // String{} trustedCAfilename
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `policy_file` is never read
[INFO] [stdout]    --> examples/jpmail/src/policy.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct PolicyStore {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub policy_file: String, // String{} — public
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_principal` and `get_keystore_path` are never used
[INFO] [stdout]    --> examples/jpmail/src/policy.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl PolicyStore {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn has_principal(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn get_keystore_path(&self, name: &str) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_password_file` and `display_message` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/mod.rs:92:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl<L: Label> MailReaderCrypto<L> {
[INFO] [stdout]     | ---------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn from_password_file(server: &str, username: &str, cert_dir: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn display_message(&self, msg: &JPMailMessage<L>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `content_type`, `subtype`, `boundary`, `name`, `charset`, and `format` are never read
[INFO] [stdout]   --> examples/jpmail/src/pop3/content.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ContentType {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 35 |     pub content_type: String,       // String{} e.g. "text", "multipart"
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub subtype: String,            // String{} e.g. "plain", "mixed"
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 37 |     pub boundary: Option<String>,   // String{} present in multipart/*
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 38 |     pub name: Option<String>,       // String{} attachment filename hint
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 39 |     pub charset: Option<String>,    // String{} e.g. "utf-8"
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 40 |     pub format: Option<String>,     // String{} e.g. "flowed"
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContentType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `text_plain`, `parse`, `is_multipart`, and `to_header` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/content.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl ContentType {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  44 |     pub fn text_plain() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn parse(header: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn is_multipart(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn to_header(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `disposition` and `filename` are never read
[INFO] [stdout]    --> examples/jpmail/src/pop3/content.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct ContentDisposition {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 131 |     pub disposition: String,        // String{} "inline" or "attachment"
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 132 |     pub filename: Option<String>,   // String{} attachment filename
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContentDisposition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `inline`, `parse`, and `is_attachment` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/content.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl ContentDisposition {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 136 |     pub fn inline() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn parse(header: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn is_attachment(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `date`, `content_type`, `mime_version`, and `crypto_info` are never read
[INFO] [stdout]   --> examples/jpmail/src/pop3/header.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct MimeHeader<L: Label> {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub date: String,              // String{} date
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 39 |     pub subject: String,           // String{} subject
[INFO] [stdout] 40 |     pub content_type: ContentType, // String{} contentType
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub mime_version: String,      // String{} mimeVersion
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub crypto_info: Labeled<String, L>, // String{L} cryptoInfo
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MimeHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_public_header_string` is never used
[INFO] [stdout]   --> examples/jpmail/src/pop3/header.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<L: Label> MimeHeader<L> {
[INFO] [stdout]    | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn to_public_header_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show_public_headers` is never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/message.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl<L: Label> MimeMailMessage<L> {
[INFO] [stdout]     | --------------------------------- method in this implementation
[INFO] [stdout] 137 |     /// Serialize the public headers (safe to log / display to anyone).
[INFO] [stdout] 138 |     pub fn show_public_headers(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transfer_encoding`, `content_type`, `content_disposition`, and `other_metadata` are never read
[INFO] [stdout]   --> examples/jpmail/src/pop3/part.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct MimePartHeader {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 62 |     pub transfer_encoding: String,                       // String{} transferEncoding
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 63 |     pub content_type: ContentType,                       // String{} contentType
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 64 |     pub content_disposition: Option<ContentDisposition>, // String{} contentDisposition
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     pub other_metadata: String,                          // String{} otherMetadata
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MimePartHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_7bit` and `to_header_string` are never used
[INFO] [stdout]   --> examples/jpmail/src/pop3/part.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl MimePartHeader {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 69 |     pub fn new_7bit() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn to_header_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MimePartBodyTrait` is never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:114:11
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub trait MimePartBodyTrait<L: Label> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MimePart7bit` is never constructed
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct MimePart7bit<L: Label> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `as_bytes` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<L: Label> MimePart7bit<L> {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout] 138 |     pub fn new(text: Labeled<String, L>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn as_bytes(&self) -> Labeled<Vec<u8>, L> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MimePartBase64` is never constructed
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct MimePartBase64<L: Label> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `decode` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl<L: Label> MimePartBase64<L> {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 170 |     pub fn new(data: Labeled<Vec<u8>, L>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn decode(&self) -> Labeled<Vec<u8>, L> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct MimePart<L: Label> {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 194 |     /// Public metadata (MimePartHeader{} in Jif — content-type, transfer-encoding, disposition).
[INFO] [stdout] 195 |     pub header: MimePartHeader, // MimePartHeader{} header
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MimePart` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `make_7bit` and `to_bytes` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl<L: Label> MimePart<L> {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn make_7bit(mut text: Labeled<String, L>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn to_bytes(&self, auth: &DeclassAuthorization) -> Labeled<Vec<u8>, L> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_password_file` is never used
[INFO] [stdout]   --> examples/jpmail/src/smtp/mod.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl<L: Label> MailSenderCrypto<L> {
[INFO] [stdout]    | ---------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn from_password_file(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `password` is never read
[INFO] [stdout]   --> examples/jpmail/src/smtp/auth.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct DigestMD5<L: Label> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 43 |     /// The user's plaintext password (char{L}[] in Jif — secret credential).
[INFO] [stdout] 44 |     pub password: Labeled<String, L>,              // char{L}[] password
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `auth_server` is never used
[INFO] [stdout]    --> examples/jpmail/src/smtp/auth.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl<L: Label> DigestMD5<L> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn auth_server(&self, mut client_response: Labeled<String, L>) -> Labeled<bool, L> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list_response`
[INFO] [stdout]    --> examples/jpmail/src/pop3/mod.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let list_response = socket.read_line();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mime`
[INFO] [stdout]    --> examples/jpmail/src/smtp/mod.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mime = msg.to_mime(recipient_key_id);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_mime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeclassifyHelper` is never constructed
[INFO] [stdout]    --> examples/jpmail/src/crypto.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct DeclassifyHelper;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `upgrade_byte_array` and `declassify_byte_array` are never used
[INFO] [stdout]    --> examples/jpmail/src/crypto.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl DeclassifyHelper {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn upgrade_byte_array<Dest: Label>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn declassify_byte_array<Src: Label>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `use_ssl` is never read
[INFO] [stdout]   --> examples/jpmail/src/net.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct SecureSocket<L: Label> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub use_ssl: bool, // boolean{} useSSL
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecureSocket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_ssl` is never used
[INFO] [stdout]   --> examples/jpmail/src/net.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<L: Label> SecureSocket<L> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn create_ssl(host: &str, port: u16) -> Labeled<Self, L> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `iv_file` and `key_file` are never read
[INFO] [stdout]   --> examples/jpmail/src/password.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Password<L: Label> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub iv_file: String,           // String{} — public
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 44 |     /// Path to the DES key file (String{} — public, but key data inside is sensitive).
[INFO] [stdout] 45 |     pub key_file: String,          // String{} — public
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_password` and `to_base64` are never used
[INFO] [stdout]    --> examples/jpmail/src/password.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl<L: Label> Password<L> {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn get_password(&self) -> Labeled<String, L> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn to_base64(data: &[u8]) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cert_path` is never read
[INFO] [stdout]   --> examples/jpmail/src/policy.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct PrincipalWrapper<L: Label> {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub cert_path: String, // String{} — public
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrincipalWrapper` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name`, `get_labeled_name`, and `hash_code` are never used
[INFO] [stdout]   --> examples/jpmail/src/policy.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl<L: Label> PrincipalWrapper<L> {
[INFO] [stdout]    | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn get_name(&self) -> &String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn get_labeled_name(&self) -> Labeled<String, L> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn hash_code(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `public_key_pem`, `keystore_password`, and `trusted_ca_file` are never read
[INFO] [stdout]    --> examples/jpmail/src/policy.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct KeyPrincipal<L: Label> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub public_key_pem: String, // PublicKey — public
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 116 |     /// Keystore password (String{this:} in Jif — labeled L, the owner must keep this secret).
[INFO] [stdout] 117 |     pub keystore_password: Labeled<String, L>, // String{this:} keystorePwd
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 118 |     /// Path to the trusted CA file (String{} — public).
[INFO] [stdout] 119 |     pub trusted_ca_file: String, // String{} trustedCAfilename
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `policy_file` is never read
[INFO] [stdout]    --> examples/jpmail/src/policy.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct PolicyStore {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub policy_file: String, // String{} — public
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_principal` and `get_keystore_path` are never used
[INFO] [stdout]    --> examples/jpmail/src/policy.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl PolicyStore {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn has_principal(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn get_keystore_path(&self, name: &str) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_password_file` and `display_message` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/mod.rs:92:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl<L: Label> MailReaderCrypto<L> {
[INFO] [stdout]     | ---------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn from_password_file(server: &str, username: &str, cert_dir: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn display_message(&self, msg: &JPMailMessage<L>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `content_type`, `subtype`, `boundary`, `name`, `charset`, and `format` are never read
[INFO] [stdout]   --> examples/jpmail/src/pop3/content.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ContentType {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 35 |     pub content_type: String,       // String{} e.g. "text", "multipart"
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub subtype: String,            // String{} e.g. "plain", "mixed"
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 37 |     pub boundary: Option<String>,   // String{} present in multipart/*
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 38 |     pub name: Option<String>,       // String{} attachment filename hint
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 39 |     pub charset: Option<String>,    // String{} e.g. "utf-8"
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 40 |     pub format: Option<String>,     // String{} e.g. "flowed"
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContentType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `text_plain`, `parse`, `is_multipart`, and `to_header` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/content.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl ContentType {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  44 |     pub fn text_plain() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn parse(header: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn is_multipart(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn to_header(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `disposition` and `filename` are never read
[INFO] [stdout]    --> examples/jpmail/src/pop3/content.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct ContentDisposition {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 131 |     pub disposition: String,        // String{} "inline" or "attachment"
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 132 |     pub filename: Option<String>,   // String{} attachment filename
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContentDisposition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `inline`, `parse`, and `is_attachment` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/content.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl ContentDisposition {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 136 |     pub fn inline() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn parse(header: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn is_attachment(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `date`, `content_type`, `mime_version`, and `crypto_info` are never read
[INFO] [stdout]   --> examples/jpmail/src/pop3/header.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct MimeHeader<L: Label> {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub date: String,              // String{} date
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 39 |     pub subject: String,           // String{} subject
[INFO] [stdout] 40 |     pub content_type: ContentType, // String{} contentType
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub mime_version: String,      // String{} mimeVersion
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub crypto_info: Labeled<String, L>, // String{L} cryptoInfo
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MimeHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_public_header_string` is never used
[INFO] [stdout]   --> examples/jpmail/src/pop3/header.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<L: Label> MimeHeader<L> {
[INFO] [stdout]    | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn to_public_header_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show_public_headers` is never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/message.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl<L: Label> MimeMailMessage<L> {
[INFO] [stdout]     | --------------------------------- method in this implementation
[INFO] [stdout] 137 |     /// Serialize the public headers (safe to log / display to anyone).
[INFO] [stdout] 138 |     pub fn show_public_headers(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transfer_encoding`, `content_type`, `content_disposition`, and `other_metadata` are never read
[INFO] [stdout]   --> examples/jpmail/src/pop3/part.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct MimePartHeader {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 62 |     pub transfer_encoding: String,                       // String{} transferEncoding
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 63 |     pub content_type: ContentType,                       // String{} contentType
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 64 |     pub content_disposition: Option<ContentDisposition>, // String{} contentDisposition
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     pub other_metadata: String,                          // String{} otherMetadata
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MimePartHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_7bit` and `to_header_string` are never used
[INFO] [stdout]   --> examples/jpmail/src/pop3/part.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl MimePartHeader {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 69 |     pub fn new_7bit() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn to_header_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MimePartBodyTrait` is never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:114:11
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub trait MimePartBodyTrait<L: Label> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MimePart7bit` is never constructed
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct MimePart7bit<L: Label> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `as_bytes` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<L: Label> MimePart7bit<L> {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout] 138 |     pub fn new(text: Labeled<String, L>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn as_bytes(&self) -> Labeled<Vec<u8>, L> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MimePartBase64` is never constructed
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct MimePartBase64<L: Label> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `decode` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl<L: Label> MimePartBase64<L> {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 170 |     pub fn new(data: Labeled<Vec<u8>, L>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn decode(&self) -> Labeled<Vec<u8>, L> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct MimePart<L: Label> {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 194 |     /// Public metadata (MimePartHeader{} in Jif — content-type, transfer-encoding, disposition).
[INFO] [stdout] 195 |     pub header: MimePartHeader, // MimePartHeader{} header
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MimePart` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `make_7bit` and `to_bytes` are never used
[INFO] [stdout]    --> examples/jpmail/src/pop3/part.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl<L: Label> MimePart<L> {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn make_7bit(mut text: Labeled<String, L>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn to_bytes(&self, auth: &DeclassAuthorization) -> Labeled<Vec<u8>, L> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_password_file` is never used
[INFO] [stdout]   --> examples/jpmail/src/smtp/mod.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl<L: Label> MailSenderCrypto<L> {
[INFO] [stdout]    | ---------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn from_password_file(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `password` is never read
[INFO] [stdout]   --> examples/jpmail/src/smtp/auth.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct DigestMD5<L: Label> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 43 |     /// The user's plaintext password (char{L}[] in Jif — secret credential).
[INFO] [stdout] 44 |     pub password: Labeled<String, L>,              // char{L}[] password
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `auth_server` is never used
[INFO] [stdout]    --> examples/jpmail/src/smtp/auth.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl<L: Label> DigestMD5<L> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn auth_server(&self, mut client_response: Labeled<String, L>) -> Labeled<bool, L> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.8
[INFO] [stderr]     Checking battleship-no-ifc v0.1.0 (/opt/rustwide/workdir/examples/battleship-no-ifc)
[INFO] [stderr]     Checking battleship_new v0.1.0 (/opt/rustwide/workdir/examples/battleship_new)
[INFO] [stdout] warning: unused variable: `grid`
[INFO] [stdout]    --> examples/battleship-no-ifc/src/main.rs:174:35
[INFO] [stdout]     |
[INFO] [stdout] 174 | fn random_maybe_illegal_placement(grid: &Grid<bool>, ship: &Ship) -> Placement {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_grid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_hit` is never used
[INFO] [stdout]    --> examples/battleship-no-ifc/src/main.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn is_hit(grid: &Grid<CellStatus>, row: usize, col: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid`
[INFO] [stdout]    --> examples/battleship-no-ifc/src/main.rs:174:35
[INFO] [stdout]     |
[INFO] [stdout] 174 | fn random_maybe_illegal_placement(grid: &Grid<bool>, ship: &Ship) -> Placement {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_grid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_hit` is never used
[INFO] [stdout]    --> examples/battleship-no-ifc/src/main.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn is_hit(grid: &Grid<CellStatus>, row: usize, col: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking trybuild v1.0.122
[INFO] [stderr]     Checking all_function_calls v0.1.0 (/opt/rustwide/workdir/examples/all_function_calls)
[INFO] [stdout] warning: unused variable: `write_result`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let write_result: Labeled<Result<(), std::io::Error>, A> = fcall!(std::fs::write(path, content));
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_labeled`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let json_labeled = fcall!(serde_json::to_string(&user));
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_labeled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path_no_label`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let path_no_label = "secret.txt".to_string();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_no_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut x: i32 = 0;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val_a2`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let val_a2 = relabel!(mid_val.clone(), AB);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_val_a2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let y: Labeled<i32, A> = Labeled::new(10);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut x: i32 = 0;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `secret_val` is never read
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     secret_val = hello;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value passed to `data` is never read
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:129:16
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn foo_labeled(mut data: Labeled<i32, A>, _config: Labeled<i32, B>) -> Labeled<i32, A> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let mut public_counter = Labeled::<i32, Public>::new(0);
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut public_log = Labeled::<i32, Public>::new(0);
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_counter`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let mut public_counter = Labeled::<i32, Public>::new(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_log`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut public_log = Labeled::<i32, Public>::new(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v3`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let v3 = val + val2;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_v3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:169:26
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn secure_func<L: Label>(val: Labeled<i32, L>)
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len_pub`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let len_pub = Labeled::<i32, Public>::new(1);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_len_pub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s3`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let s3 = s1.clone() + s2.clone();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_s3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let hello = local_tasks.dedup();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |     let len = mcall!(labeled_tasks.len());
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let hello = mcall!(x.len());
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |     let v1 = Labeled::<i32, A>::new(10);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 |     let v2 = 11;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:423:9
[INFO] [stdout]     |
[INFO] [stdout] 423 |     let z = fcall!(foo(x, relabel!(y, A)));
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DangerousHandle` is never constructed
[INFO] [stdout]  --> examples/all_function_calls/src/main.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct DangerousHandle;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_string_ops` is never used
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn example_string_ops() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_relabel` is never used
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn example_relabel() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_network_connection` is never used
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn open_network_connection() -> DangerousHandle {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hello` is never used
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:165:4
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn hello<L: Label>(val: Labeled<i32, L>, val2: i32) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `secure_func` is never used
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:169:4
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn secure_func<L: Label>(val: Labeled<i32, L>)
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_fail` is never used
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:183:4
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn example_fail() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo` is never used
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn foo<L: Label>(val: Labeled<i32, L>, val2: i32) -> Labeled<i32, L> {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `secret_A` should have a snake case name
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let secret_A = Labeled::<i32, A>::new(0);
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `secret_a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `write_result`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let write_result: Labeled<Result<(), std::io::Error>, A> = fcall!(std::fs::write(path, content));
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_labeled`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let json_labeled = fcall!(serde_json::to_string(&user));
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_labeled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path_no_label`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let path_no_label = "secret.txt".to_string();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_no_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut x: i32 = 0;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val_a2`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let val_a2 = relabel!(mid_val.clone(), AB);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_val_a2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let y: Labeled<i32, A> = Labeled::new(10);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut x: i32 = 0;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `secret_val` is never read
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     secret_val = hello;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value passed to `data` is never read
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:129:16
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn foo_labeled(mut data: Labeled<i32, A>, _config: Labeled<i32, B>) -> Labeled<i32, A> {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let mut public_counter = Labeled::<i32, Public>::new(0);
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut public_log = Labeled::<i32, Public>::new(0);
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_counter`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let mut public_counter = Labeled::<i32, Public>::new(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_log`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut public_log = Labeled::<i32, Public>::new(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v3`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let v3 = val + val2;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_v3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:169:26
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn secure_func<L: Label>(val: Labeled<i32, L>)
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len_pub`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let len_pub = Labeled::<i32, Public>::new(1);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_len_pub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s3`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let s3 = s1.clone() + s2.clone();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_s3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let hello = local_tasks.dedup();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |     let len = mcall!(labeled_tasks.len());
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let hello = mcall!(x.len());
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |     let v1 = Labeled::<i32, A>::new(10);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 |     let v2 = 11;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:423:9
[INFO] [stdout]     |
[INFO] [stdout] 423 |     let z = fcall!(foo(x, relabel!(y, A)));
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DangerousHandle` is never constructed
[INFO] [stdout]  --> examples/all_function_calls/src/main.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct DangerousHandle;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_string_ops` is never used
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn example_string_ops() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_relabel` is never used
[INFO] [stdout]   --> examples/all_function_calls/src/main.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn example_relabel() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_network_connection` is never used
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn open_network_connection() -> DangerousHandle {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hello` is never used
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:165:4
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn hello<L: Label>(val: Labeled<i32, L>, val2: i32) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `secure_func` is never used
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:169:4
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn secure_func<L: Label>(val: Labeled<i32, L>)
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_fail` is never used
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:183:4
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn example_fail() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo` is never used
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn foo<L: Label>(val: Labeled<i32, L>, val2: i32) -> Labeled<i32, L> {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `secret_A` should have a snake case name
[INFO] [stdout]    --> examples/all_function_calls/src/main.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let secret_A = Labeled::<i32, A>::new(0);
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `secret_a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `macros`
[INFO] [stderr]  --> examples/battleship_new/Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | macros = { path = "../../fg_ifc_library/macros" }
[INFO] [stderr]   | ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `macros`
[INFO] [stderr] warning: `battleship_new` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `macros`
[INFO] [stderr]  --> examples/calendar-no-ifc/Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | macros = { path = "../../fg_ifc_library/macros" }
[INFO] [stderr]   | ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `macros`
[INFO] [stderr] warning: unused dependency `typing_rules`
[INFO] [stderr]  --> examples/calendar-no-ifc/Cargo.toml:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | typing_rules = { path = "../../fg_ifc_library/typing_rules" }
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `typing_rules`
[INFO] [stderr] warning: `calendar-no-ifc` (manifest) generated 2 warnings
[INFO] [stderr] warning: unused dependency `macros`
[INFO] [stderr]  --> fg_ifc_library/pc_block_tests/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | macros = { path = "../macros" }
[INFO] [stderr]   | ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `macros`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: unused dependency `typing_rules`
[INFO] [stderr]   --> fg_ifc_library/pc_block_tests/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | typing_rules = { path = "../typing_rules" }
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `typing_rules`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `pc_block_tests` (manifest) generated 2 warnings
[INFO] [stderr] warning: unused dependency `zeroize`
[INFO] [stderr]  --> fg_ifc_library/typing_rules/Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | zeroize = "1.6"
[INFO] [stderr]   | ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `zeroize`
[INFO] [stderr] warning: `typing_rules` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.13s
[INFO] running `Command { std: "docker" "inspect" "ad4cdf65f77b5ccf33cc2d2bb23d9065677fcc773765800863f4a0fbbd1196f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad4cdf65f77b5ccf33cc2d2bb23d9065677fcc773765800863f4a0fbbd1196f6", kill_on_drop: false }`
[INFO] [stdout] ad4cdf65f77b5ccf33cc2d2bb23d9065677fcc773765800863f4a0fbbd1196f6
