[INFO] cloning repository https://github.com/Josh194/ZoteroObsidianImporter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Josh194/ZoteroObsidianImporter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJosh194%2FZoteroObsidianImporter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJosh194%2FZoteroObsidianImporter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6e1ffa9396c65fed670155666c115c790c5461ad
[INFO] checking Josh194/ZoteroObsidianImporter against master#377656d3dd3f9c23a9c8713e163f4365a5261a84 for pr-146470-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJosh194%2FZoteroObsidianImporter" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/Josh194/ZoteroObsidianImporter
[INFO] finished tweaking git repo https://github.com/Josh194/ZoteroObsidianImporter
[INFO] tweaked toml for git repo https://github.com/Josh194/ZoteroObsidianImporter written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Josh194/ZoteroObsidianImporter on toolchain 377656d3dd3f9c23a9c8713e163f4365a5261a84
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Josh194/ZoteroObsidianImporter already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded doctest-file v1.0.0
[INFO] [stderr]   Downloaded recvmsg v1.0.0
[INFO] [stderr]   Downloaded dialoguer v0.11.0
[INFO] [stderr]   Downloaded interprocess v2.2.3
[INFO] [stderr]   Downloaded serde_yml v0.0.12
[INFO] [stderr]   Downloaded libyml v0.0.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2bd9ac510a5bdf23a0131f3e9ca694b84672fcd9ddeeced8caab1cc1b5c88ac7
[INFO] running `Command { std: "docker" "start" "-a" "2bd9ac510a5bdf23a0131f3e9ca694b84672fcd9ddeeced8caab1cc1b5c88ac7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2bd9ac510a5bdf23a0131f3e9ca694b84672fcd9ddeeced8caab1cc1b5c88ac7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2bd9ac510a5bdf23a0131f3e9ca694b84672fcd9ddeeced8caab1cc1b5c88ac7", kill_on_drop: false }`
[INFO] [stdout] 2bd9ac510a5bdf23a0131f3e9ca694b84672fcd9ddeeced8caab1cc1b5c88ac7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ec70fcb64c8fad88660784ab4a60661c31559c6844b9b37da16503f62bf76f7a
[INFO] running `Command { std: "docker" "start" "-a" "ec70fcb64c8fad88660784ab4a60661c31559c6844b9b37da16503f62bf76f7a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling doctest-file v1.0.0
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling serde_yml v0.0.12
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]     Checking clap_builder v4.5.37
[INFO] [stderr]     Checking fuzzy-matcher v0.3.7
[INFO] [stderr]     Checking libyml v0.0.5
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking interprocess v2.2.3
[INFO] [stderr]     Checking shim-api v0.1.0 (/opt/rustwide/workdir/shim/ipc)
[INFO] [stderr]     Checking tempfile v3.19.1
[INFO] [stderr]     Checking log v0.1.0 (/opt/rustwide/workdir/log)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> log/src/lib.rs:107:6
[INFO] [stdout]     |
[INFO] [stdout] 107 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking dialoguer v0.11.0
[INFO] [stderr]     Checking clap v4.5.37
[INFO] [stderr]     Checking shim v0.1.0 (/opt/rustwide/workdir/shim/runner)
[INFO] [stderr]     Checking proxy v0.1.0 (/opt/rustwide/workdir/shim/proxy)
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking serde_path_to_error v0.1.17
[INFO] [stderr]     Checking ZOImporter v0.1.0 (/opt/rustwide/workdir/importer)
[INFO] [stdout] warning: unused import: `std::convert::identity`
[INFO] [stdout]    --> importer/src/util/human_date.rs:374:9
[INFO] [stdout]     |
[INFO] [stdout] 374 |     use std::convert::identity;
[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: `console::style`
[INFO] [stdout]    --> importer/src/util/human_date.rs:376:9
[INFO] [stdout]     |
[INFO] [stdout] 376 |     use console::style;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::format::StrftimeItems`
[INFO] [stdout]  --> importer/src/api/import/source.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::format::StrftimeItems;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> importer/src/api/import/source.rs:6:61
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{api::shared::{Author, Name}, util::human_date::{self, HumanDate}};
[INFO] [stdout]   |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::format::StrftimeItems`
[INFO] [stdout]  --> importer/src/api/import/source.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::format::StrftimeItems;
[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: `self`
[INFO] [stdout]  --> importer/src/api/import/source.rs:6:61
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{api::shared::{Author, Name}, util::human_date::{self, HumanDate}};
[INFO] [stdout]   |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> importer/src/global/init.rs:50:6
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let mut success: bool = true;
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> importer/src/global/init.rs:50:6
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let mut success: bool = true;
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> importer/src/util/human_date.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn parse(mut input: &str) -> Result<Self, ParseError> {
[INFO] [stdout]    |                  ----^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `month` is never read
[INFO] [stdout]   --> importer/src/util/human_date.rs:30:34
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut month: Option<Month> = None;
[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 assigned to `skip_dot` is never read
[INFO] [stdout]   --> importer/src/util/human_date.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut skip_dot: bool = false;
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> importer/src/util/human_date.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 |             ErrorReason::BadElement(msg) =>  write!(f, "Improperly formatted element"),
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expects`
[INFO] [stdout]    --> importer/src/util/human_date.rs:140:30
[INFO] [stdout]     |
[INFO] [stdout] 140 |             ErrorReason::Unrecognized(expects) => write!(f, "Unrecognized element"),
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expects`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expects`
[INFO] [stdout]    --> importer/src/util/human_date.rs:142:30
[INFO] [stdout]     |
[INFO] [stdout] 142 |             ErrorReason::Insufficient(expects) => write!(f, "Not enough information")
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expects`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> importer/src/util/human_date.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn parse(mut input: &str) -> Result<Self, ParseError> {
[INFO] [stdout]    |                  ----^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `month` is never read
[INFO] [stdout]   --> importer/src/util/human_date.rs:30:34
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut month: Option<Month> = None;
[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 assigned to `skip_dot` is never read
[INFO] [stdout]   --> importer/src/util/human_date.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut skip_dot: bool = false;
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> importer/src/util/human_date.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 |             ErrorReason::BadElement(msg) =>  write!(f, "Improperly formatted element"),
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expects`
[INFO] [stdout]    --> importer/src/util/human_date.rs:140:30
[INFO] [stdout]     |
[INFO] [stdout] 140 |             ErrorReason::Unrecognized(expects) => write!(f, "Unrecognized element"),
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expects`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expects`
[INFO] [stdout]    --> importer/src/util/human_date.rs:142:30
[INFO] [stdout]     |
[INFO] [stdout] 142 |             ErrorReason::Insufficient(expects) => write!(f, "Not enough information")
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expects`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `persist`
[INFO] [stdout]   --> importer/src/command/import/core.rs:45:76
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn write<N: NTarget<Persist: From<String>>>(&mut self, data: N::Data, persist: N::Persist) -> Result<(), N::Error> {
[INFO] [stdout]    |                                                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_persist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]   --> importer/src/command/select/core.rs:47:38
[INFO] [stdout]    |
[INFO] [stdout] 47 |             SelectError::AmbiguousCollections(items) => todo!(),
[INFO] [stdout]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> importer/src/command/select/core.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn select(config: &ProgramConfig, verbose: bool, args: SelectArgs) -> Result<(), SelectError> {
[INFO] [stdout]    |               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `persist`
[INFO] [stdout]   --> importer/src/command/import/core.rs:45:76
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn write<N: NTarget<Persist: From<String>>>(&mut self, data: N::Data, persist: N::Persist) -> Result<(), N::Error> {
[INFO] [stdout]    |                                                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_persist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> importer/src/main.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |     if let Err(e) = init::preinit() {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> importer/src/main.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |     if let Err(e) = init::postinit(&config, &cli) {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AnnotationParseError` is never constructed
[INFO] [stdout]   --> importer/src/main.rs:43:2
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum ProgramError {
[INFO] [stdout]    |      ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 43 |     AnnotationParseError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgramError` has derived impls for the traits `Clone` and `Debug`, but these are 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: struct `ConfigFile` is never constructed
[INFO] [stdout]   --> importer/src/main.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct ConfigFile {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `log` is never read
[INFO] [stdout]   --> importer/src/global/init.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PreInitStatus {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     log: bool
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `colour_logs` is never read
[INFO] [stdout]   --> importer/src/panic.rs:34:2
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct PanicWrapper<'a, 'b> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 33 |     info: &'a PanicHookInfo<'b>,
[INFO] [stdout] 34 |     colour_logs: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PanicWrapper` 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: struct `SurroundedString` is never constructed
[INFO] [stdout]  --> importer/src/util/string.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct SurroundedString<T: Display> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> importer/src/util/string.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl<T: Display> SurroundedString<T> {
[INFO] [stdout]   | ------------------------------------ associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(value: T) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `surround` is never used
[INFO] [stdout]   --> importer/src/util/string.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn surround<T: Display>(value: T) -> SurroundedString<T> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ByteOrder` is never used
[INFO] [stdout]  --> importer/src/util/text.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum ByteOrder {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_byte_order` is never used
[INFO] [stdout]  --> importer/src/util/text.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn get_byte_order(bytes: &[u8; 2]) -> Option<ByteOrder> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParseFailure` is never used
[INFO] [stdout]   --> importer/src/util/text.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ParseFailure {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_string` is never used
[INFO] [stdout]   --> importer/src/util/text.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn parse_string(mut data: &[u8]) -> Result<String, ParseFailure> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `help` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl ParseError {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn help(&self) -> String {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `char_index` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl ErrorLocation {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn char_index(&self, input: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `char_range` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl ErrorRange {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn char_range(&self, input: &str) -> Range<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `YEAR_EXPECTED` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | static YEAR_EXPECTED: &str = "Years must be written as a positive integer";
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PUNCTUATION_EXPECTED` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | static PUNCTUATION_EXPECTED: &str = "A period after the month is only allowed if it is abbreviated";
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Whitespace` is never constructed
[INFO] [stdout]    --> importer/src/util/human_date.rs:205:2
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub enum Expected {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] 205 |     Whitespace,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expected` 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: enum `TokenExpectedType` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:317:6
[INFO] [stdout]     |
[INFO] [stdout] 317 | enum TokenExpectedType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImportSourceError` is never used
[INFO] [stdout]   --> importer/src/api/import/source.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub enum ImportSourceError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> importer/src/command/import/core.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Io(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsePersistsError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 21 -     Io(io::Error),
[INFO] [stdout] 21 +     Io(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> importer/src/command/import/core.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ParsePersists(FetchPersistentError)
[INFO] [stdout]    |     ------------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsePersistsError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 22 -     ParsePersists(FetchPersistentError)
[INFO] [stdout] 22 +     ParsePersists(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write` is never used
[INFO] [stdout]   --> importer/src/command/import/core.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl NoteTarget {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 45 |     pub fn write<N: NTarget<Persist: From<String>>>(&mut self, data: N::Data, persist: N::Persist) -> Result<(), N::Error> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> importer/src/command/import/scan/persistent.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     NestedSections(usize),
[INFO] [stdout]   |     -------------- ^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `FetchPersistentError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     NestedSections(usize),
[INFO] [stdout] 7 +     NestedSections(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `NTarget` is never used
[INFO] [stdout]   --> importer/src/command/import/format/target.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait NTarget {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> importer/src/core/library_cache.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_collection_raw(&self, id: i64) -> Option<&CollectionCacheEntry> {
[INFO] [stdout]     |                               ^^^^^                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |                         ||
[INFO] [stdout]     |                               |                         |the same lifetime is hidden here
[INFO] [stdout]     |                               |                         the same lifetime is elided here
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_collection_raw(&self, id: i64) -> Option<&CollectionCacheEntry<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> importer/src/core/library_cache.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn get_collection(&self, id: i64) -> Option<BoundCollectionCacheEntry> {
[INFO] [stdout]     |                           ^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn get_collection(&self, id: i64) -> Option<BoundCollectionCacheEntry<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]   --> importer/src/command/select/core.rs:47:38
[INFO] [stdout]    |
[INFO] [stdout] 47 |             SelectError::AmbiguousCollections(items) => todo!(),
[INFO] [stdout]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> importer/src/command/select/core.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn select(config: &ProgramConfig, verbose: bool, args: SelectArgs) -> Result<(), SelectError> {
[INFO] [stdout]    |               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> importer/src/main.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |     if let Err(e) = init::preinit() {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> importer/src/main.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |     if let Err(e) = init::postinit(&config, &cli) {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AnnotationParseError` is never constructed
[INFO] [stdout]   --> importer/src/main.rs:43:2
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum ProgramError {
[INFO] [stdout]    |      ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 43 |     AnnotationParseError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgramError` has derived impls for the traits `Clone` and `Debug`, but these are 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: struct `ConfigFile` is never constructed
[INFO] [stdout]   --> importer/src/main.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct ConfigFile {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `log` is never read
[INFO] [stdout]   --> importer/src/global/init.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PreInitStatus {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     log: bool
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `colour_logs` is never read
[INFO] [stdout]   --> importer/src/panic.rs:34:2
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct PanicWrapper<'a, 'b> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 33 |     info: &'a PanicHookInfo<'b>,
[INFO] [stdout] 34 |     colour_logs: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PanicWrapper` 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: struct `SurroundedString` is never constructed
[INFO] [stdout]  --> importer/src/util/string.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct SurroundedString<T: Display> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> importer/src/util/string.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl<T: Display> SurroundedString<T> {
[INFO] [stdout]   | ------------------------------------ associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(value: T) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `surround` is never used
[INFO] [stdout]   --> importer/src/util/string.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn surround<T: Display>(value: T) -> SurroundedString<T> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ByteOrder` is never used
[INFO] [stdout]  --> importer/src/util/text.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum ByteOrder {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_byte_order` is never used
[INFO] [stdout]  --> importer/src/util/text.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn get_byte_order(bytes: &[u8; 2]) -> Option<ByteOrder> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParseFailure` is never used
[INFO] [stdout]   --> importer/src/util/text.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ParseFailure {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_string` is never used
[INFO] [stdout]   --> importer/src/util/text.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn parse_string(mut data: &[u8]) -> Result<String, ParseFailure> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `help` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl ParseError {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn help(&self) -> String {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `char_index` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl ErrorLocation {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn char_index(&self, input: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `char_range` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl ErrorRange {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn char_range(&self, input: &str) -> Range<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `YEAR_EXPECTED` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | static YEAR_EXPECTED: &str = "Years must be written as a positive integer";
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PUNCTUATION_EXPECTED` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | static PUNCTUATION_EXPECTED: &str = "A period after the month is only allowed if it is abbreviated";
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Whitespace` is never constructed
[INFO] [stdout]    --> importer/src/util/human_date.rs:205:2
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub enum Expected {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] 205 |     Whitespace,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expected` 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: enum `TokenExpectedType` is never used
[INFO] [stdout]    --> importer/src/util/human_date.rs:317:6
[INFO] [stdout]     |
[INFO] [stdout] 317 | enum TokenExpectedType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImportSourceError` is never used
[INFO] [stdout]   --> importer/src/api/import/source.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub enum ImportSourceError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> importer/src/command/import/core.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Io(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsePersistsError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 21 -     Io(io::Error),
[INFO] [stdout] 21 +     Io(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> importer/src/command/import/core.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ParsePersists(FetchPersistentError)
[INFO] [stdout]    |     ------------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsePersistsError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 22 -     ParsePersists(FetchPersistentError)
[INFO] [stdout] 22 +     ParsePersists(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write` is never used
[INFO] [stdout]   --> importer/src/command/import/core.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl NoteTarget {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 45 |     pub fn write<N: NTarget<Persist: From<String>>>(&mut self, data: N::Data, persist: N::Persist) -> Result<(), N::Error> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> importer/src/command/import/scan/persistent.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     NestedSections(usize),
[INFO] [stdout]   |     -------------- ^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `FetchPersistentError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     NestedSections(usize),
[INFO] [stdout] 7 +     NestedSections(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `NTarget` is never used
[INFO] [stdout]   --> importer/src/command/import/format/target.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait NTarget {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> importer/src/core/library_cache.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_collection_raw(&self, id: i64) -> Option<&CollectionCacheEntry> {
[INFO] [stdout]     |                               ^^^^^                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |                         ||
[INFO] [stdout]     |                               |                         |the same lifetime is hidden here
[INFO] [stdout]     |                               |                         the same lifetime is elided here
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_collection_raw(&self, id: i64) -> Option<&CollectionCacheEntry<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> importer/src/core/library_cache.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn get_collection(&self, id: i64) -> Option<BoundCollectionCacheEntry> {
[INFO] [stdout]     |                           ^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn get_collection(&self, id: i64) -> Option<BoundCollectionCacheEntry<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.91s
[INFO] running `Command { std: "docker" "inspect" "ec70fcb64c8fad88660784ab4a60661c31559c6844b9b37da16503f62bf76f7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec70fcb64c8fad88660784ab4a60661c31559c6844b9b37da16503f62bf76f7a", kill_on_drop: false }`
[INFO] [stdout] ec70fcb64c8fad88660784ab4a60661c31559c6844b9b37da16503f62bf76f7a
