[INFO] cloning repository https://github.com/s-d-m/local_jira
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/s-d-m/local_jira" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fs-d-m%2Flocal_jira", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fs-d-m%2Flocal_jira'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 50422a26e8c1ba4c30e1f87f5b3c170d23d5128b
[INFO] checking s-d-m/local_jira against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fs-d-m%2Flocal_jira" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/s-d-m/local_jira
[INFO] finished tweaking git repo https://github.com/s-d-m/local_jira
[INFO] tweaked toml for git repo https://github.com/s-d-m/local_jira written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/s-d-m/local_jira on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/s-d-m/local_jira 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: build
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded getrandom v0.2.13
[INFO] [stderr]   Downloaded syn v2.0.57
[INFO] [stderr]   Downloaded html2text v0.12.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c6cd07d3189b0cf6efb3905211480aa37d6d7300aa200f262fb126b94bba3cc3
[INFO] running `Command { std: "docker" "start" "-a" "c6cd07d3189b0cf6efb3905211480aa37d6d7300aa200f262fb126b94bba3cc3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c6cd07d3189b0cf6efb3905211480aa37d6d7300aa200f262fb126b94bba3cc3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6cd07d3189b0cf6efb3905211480aa37d6d7300aa200f262fb126b94bba3cc3", kill_on_drop: false }`
[INFO] [stdout] c6cd07d3189b0cf6efb3905211480aa37d6d7300aa200f262fb126b94bba3cc3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2a014a8c482552fc8b334bbec41f8cb81db431965ab0789c9a2d20501460c307
[INFO] running `Command { std: "docker" "start" "-a" "2a014a8c482552fc8b334bbec41f8cb81db431965ab0789c9a2d20501460c307", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: build
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]    Compiling serde v1.0.198
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling getrandom v0.2.13
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling serde_json v1.0.116
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling libsqlite3-sys v0.27.0
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]    Compiling rustix v0.38.32
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling allocator-api2 v0.2.16
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.23
[INFO] [stderr]    Compiling socket2 v0.5.6
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling syn v2.0.57
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling tokio v1.37.0
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.2
[INFO] [stderr]    Compiling crc v3.0.1
[INFO] [stderr]    Compiling url v2.5.0
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]     Checking http-body v1.0.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.11
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.13
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking futf v0.1.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]    Compiling flume v0.11.0
[INFO] [stderr]    Compiling fastrand v2.0.2
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]     Checking tendril v0.4.3
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]     Checking http-body-util v0.1.1
[INFO] [stderr]     Checking base64 v0.22.0
[INFO] [stderr]     Checking winnow v0.6.5
[INFO] [stderr]     Checking rustls-pki-types v1.4.1
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking unicode-width v0.1.12
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking rustls-pemfile v2.1.2
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Compiling serde_derive v1.0.198
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]    Compiling tokio-stream v0.1.15
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.4.4
[INFO] [stderr]    Compiling either v1.10.0
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]     Checking string_cache v0.8.7
[INFO] [stderr]     Checking serde_spanned v0.6.5
[INFO] [stderr]     Checking toml_datetime v0.6.5
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml_edit v0.22.9
[INFO] [stderr]     Checking sqlformat v0.2.3
[INFO] [stderr]     Checking html2text v0.12.5
[INFO] [stderr]     Checking toml v0.8.12
[INFO] [stderr]     Checking hyper v1.2.0
[INFO] [stderr]     Checking hyper-util v0.1.3
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.4
[INFO] [stderr]     Checking sqlx-core v0.7.4
[INFO] [stderr]     Checking sqlx-sqlite v0.7.4
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stderr]     Checking local_jira v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ffi::OsStr`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ffi::OsStr;
[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: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_issues_that_need_updating::update_interesting_projects_in_db`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::find_issues_that_need_updating::update_interesting_projects_in_db;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::Engine`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use base64::Engine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Execute`, `FromRow`, and `Statement`
[INFO] [stdout]   --> src/main.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use sqlx::{Execute, Executor, FromRow, Pool, Sqlite, SqlitePool, Statement};
[INFO] [stdout]    |            ^^^^^^^            ^^^^^^^                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::atlassian_document_format::root_elt_doc_to_string`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::atlassian_document_format::root_elt_doc_to_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::atlassian_document_format_html_output::root_elt_doc_to_html_string`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::atlassian_document_format_html_output::root_elt_doc_to_html_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Config`
[INFO] [stdout]   --> src/main.rs:17:37
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::get_config::{get_config, Config};
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_issue_details::add_details_to_issue_in_db`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::get_issue_details::add_details_to_issue_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_field_table::update_fields_in_db`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::manage_field_table::update_fields_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_interesting_projects::initialise_interesting_projects_in_db`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::manage_interesting_projects::initialise_interesting_projects_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_issuelinktype_table::update_issue_link_types_in_db`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::manage_issuelinktype_table::update_issue_link_types_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_issuetype_table::update_issue_types_in_db`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::manage_issuetype_table::update_issue_types_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_project_table::update_project_list_in_db`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::manage_project_table::update_project_list_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `atlassian_document_format`
[INFO] [stdout]  --> src/atlassian_document_format.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{atlassian_document_format, atlassian_document_utils};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::Unexpected::Str`
[INFO] [stdout]  --> src/atlassian_document_format.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::de::Unexpected::Str;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/atlassian_document_format.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `to_string_pretty` and `to_string`
[INFO] [stdout]  --> src/atlassian_document_format.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use toml::{to_string, to_string_pretty};
[INFO] [stdout]   |            ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_background_colour_mark_kind`, `get_link_mark_kind`, and `get_text_colour_mark_kind`
[INFO] [stdout]  --> src/atlassian_document_format.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::atlassian_document_utils::{get_background_colour_mark_kind, get_link_mark_kind, get_mark_kind, get_text_colour_mark_kind, inde...
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_issuelinktype_table::IssueLinkType`
[INFO] [stdout]  --> src/find_issues_that_need_updating.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::manage_issuelinktype_table::IssueLinkType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_project_tasks_from_server::get_project_tasks_from_server`
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::get_project_tasks_from_server::get_project_tasks_from_server;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fill_issues_fields_from_json`
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:13:53
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::manage_issue_field::{fill_issues_fields, fill_issues_fields_from_json, IssueProperties, KeyValueProperty};
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `issue_data` should have an upper camel case name
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct issue_data {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `IssueData`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `issue_and_links` should have an upper camel case name
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct issue_and_links {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IssueAndLinks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NO_ISSUE_IS_UP_TO_DATE` should have an upper camel case name
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     NO_ISSUE_IS_UP_TO_DATE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NoIssueIsUpToDate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ONE_ISSUE_IS_UP_TO_DATE` should have an upper camel case name
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     ONE_ISSUE_IS_UP_TO_DATE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OneIssueIsUpToDate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/get_attachment_content.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sqlx::{Error, FromRow};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/get_attachment_content.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderValue` and `ToStrError`
[INFO] [stdout]  --> src/get_attachment_content.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use reqwest::header::{HeaderValue, ToStrError};
[INFO] [stdout]   |                       ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Response`
[INFO] [stdout]  --> src/get_attachment_content.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use reqwest::Response;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `toml::to_string`
[INFO] [stdout]  --> src/get_attachment_content.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use toml::to_string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `cookie_expiration` should have an upper camel case name
[INFO] [stdout]   --> src/get_attachment_content.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct cookie_expiration {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CookieExpiration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `file_data` should have an upper camel case name
[INFO] [stdout]    --> src/get_attachment_content.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct file_data {
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case: `FileData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/get_config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Issue`
[INFO] [stdout]  --> src/get_issue_details.rs:6:50
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::manage_interesting_projects::{get_id, Issue};
[INFO] [stdout]   |                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_project_table::Project`
[INFO] [stdout]  --> src/get_issue_details.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::manage_project_table::Project;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `html2text::parse`
[INFO] [stdout]   --> src/get_issue_details.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use html2text::parse;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Map`
[INFO] [stdout]   --> src/get_issue_details.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json::{Map, Value};
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::sqlite::SqliteRow`
[INFO] [stdout]   --> src/get_issue_details.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use sqlx::sqlite::SqliteRow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/get_issue_details.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/get_issue_details.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]   --> src/get_issue_details.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::fmt::format;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::ParseIntError`
[INFO] [stdout]   --> src/get_issue_details.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::num::ParseIntError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_issues_that_need_updating::issue_data`
[INFO] [stdout]   --> src/get_issue_details.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::find_issues_that_need_updating::issue_data;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::Engine`
[INFO] [stdout]  --> src/get_json_from_url.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use base64::Engine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Map` and `Value`
[INFO] [stdout]  --> src/get_project_tasks_from_server.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::{Map, Value};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/manage_field_table.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/manage_field_table.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_str_for_key`
[INFO] [stdout]  --> src/manage_field_table.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::get_str_for_key;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `query`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use sqlx::{Error, FromRow, Pool, query, Sqlite};
[INFO] [stdout]   |            ^^^^^                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsonValue` and `Json`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sqlx::types::{Json, JsonValue};
[INFO] [stdout]   |                   ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::tcp::ReuniteError`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::net::tcp::ReuniteError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_project_table::Project`
[INFO] [stdout]   --> src/manage_interesting_projects.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::manage_project_table::Project;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `fields_in_db` should have an upper camel case name
[INFO] [stdout]   --> src/manage_interesting_projects.rs:84:19
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) struct fields_in_db {
[INFO] [stdout]    |                   ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FieldsInDb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_field_table::FieldMetadata`
[INFO] [stdout]  --> src/manage_issue_comments.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::manage_field_table::FieldMetadata;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_interesting_projects::Issue`
[INFO] [stdout]  --> src/manage_issue_comments.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::manage_interesting_projects::Issue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::sqlite::SqliteQueryResult`
[INFO] [stdout]  --> src/manage_issue_comments.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sqlx::sqlite::SqliteQueryResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/manage_issue_comments.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/manage_issue_comments.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `commentFromJson` should have an upper camel case name
[INFO] [stdout]   --> src/manage_issue_comments.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct commentFromJson {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `CommentFromJson`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Issue`
[INFO] [stdout]  --> src/manage_issue_field.rs:1:50
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::manage_interesting_projects::{get_id, Issue};
[INFO] [stdout]   |                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_issuetype_table::IssueType`
[INFO] [stdout]  --> src/manage_issue_field.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::manage_issuetype_table::IssueType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/manage_issuelinktype_table.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/manage_issuelinktype_table.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/manage_issuetype_table.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_issuetype_table::IssueType`
[INFO] [stdout]  --> src/manage_project_table.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::manage_issuetype_table::IssueType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::types::Json`
[INFO] [stdout]  --> src/manage_project_table.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sqlx::types::Json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/manage_project_table.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::ParseIntError`
[INFO] [stdout]  --> src/manage_project_table.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::num::ParseIntError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync`
[INFO] [stdout]  --> src/server.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{io, sync, thread};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `read_to_string`
[INFO] [stdout]  --> src/server.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{ErrorKind, Read, read_to_string};
[INFO] [stdout]   |                          ^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `addr_of_mut` and `read`
[INFO] [stdout]  --> src/server.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr::{addr_of_mut, read};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `RecvTimeoutError`, `Sender`, and `TryRecvError`
[INFO] [stdout]  --> src/server.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::mpsc::{Receiver, RecvTimeoutError, Sender, TryRecvError};
[INFO] [stdout]   |                       ^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]   --> src/server.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::time::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fetch_Ticket` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:31:3
[INFO] [stdout]    |
[INFO] [stdout] 31 |   Fetch_Ticket(String /* issue key */),
[INFO] [stdout]    |   ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FetchTicket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fetch_Ticket_List` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 32 |   Fetch_Ticket_List,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FetchTicketList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fetch_Ticket_Key_Value_Fields` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:33:3
[INFO] [stdout]    |
[INFO] [stdout] 33 |   Fetch_Ticket_Key_Value_Fields(String /* issue key */),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FetchTicketKeyValueFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fetch_Attachment_List_For_Ticket` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:34:3
[INFO] [stdout]    |
[INFO] [stdout] 34 |   Fetch_Attachment_List_For_Ticket(String /* issue key */),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FetchAttachmentListForTicket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fetch_Attachment_Content` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:35:3
[INFO] [stdout]    |
[INFO] [stdout] 35 |   Fetch_Attachment_Content(String /* attachment uuid */),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FetchAttachmentContent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Synchronise_Ticket` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:36:3
[INFO] [stdout]    |
[INFO] [stdout] 36 |   Synchronise_Ticket(String /* issue key */),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SynchroniseTicket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Synchronise_Updated` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 37 |   Synchronise_Updated,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SynchroniseUpdated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Synchronise_All` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:38:3
[INFO] [stdout]    |
[INFO] [stdout] 38 |   Synchronise_All,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SynchroniseAll`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Exit_Server_After_Requests` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:39:3
[INFO] [stdout]    |
[INFO] [stdout] 39 |   Exit_Server_After_Requests,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ExitServerAfterRequests`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Exit_Server_Now` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 |   Exit_Server_Now,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ExitServerNow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Push_error_message` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 41 |   Push_error_message(String),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PushErrorMessage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json`
[INFO] [stdout]  --> src/srv_fetch_ticket.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::{json, Map, Value};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_issues_that_need_updating::update_interesting_projects_in_db`
[INFO] [stdout]  --> src/srv_fetch_ticket.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::find_issues_that_need_updating::update_interesting_projects_in_db;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `add_details_to_issue_in_db`
[INFO] [stdout]   --> src/srv_fetch_ticket.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::get_issue_details::{add_details_to_issue_in_db, get_json_for_issue};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `output_format` should have an upper camel case name
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:330:6
[INFO] [stdout]     |
[INFO] [stdout] 330 | enum output_format {
[INFO] [stdout]     |      ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OutputFormat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/srv_fetch_ticket_list.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `keys_in_db` should have an upper camel case name
[INFO] [stdout]  --> src/srv_fetch_ticket_list.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct keys_in_db {
[INFO] [stdout]   |        ^^^^^^^^^^ help: convert the identifier to upper camel case: `KeysInDb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Map` and `Value`
[INFO] [stdout]  --> src/srv_fetch_ticket_key_value_list.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::{Map, Value};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/srv_fetch_ticket_key_value_list.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IssueAttachment`
[INFO] [stdout]  --> src/srv_fetch_ticket_key_value_list.rs:6:52
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::get_issue_details::{get_json_for_issue, IssueAttachment};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `key_value_in_db` should have an upper camel case name
[INFO] [stdout]   --> src/srv_fetch_ticket_key_value_list.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct key_value_in_db {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `KeyValueInDb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `key_human_name` should have an upper camel case name
[INFO] [stdout]   --> src/srv_fetch_ticket_key_value_list.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct key_human_name {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `KeyHumanName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/srv_fetch_attachment_list_for_ticket.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `add_details_to_issue_in_db`
[INFO] [stdout]  --> src/srv_fetch_attachment_list_for_ticket.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::get_issue_details::{add_details_to_issue_in_db, get_ticket_attachment_list_from_json, IssueAttachment};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `attachment_name_in_db` should have an upper camel case name
[INFO] [stdout]   --> src/srv_fetch_attachment_list_for_ticket.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct attachment_name_in_db {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AttachmentNameInDb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `uuid_id` should have an upper camel case name
[INFO] [stdout]   --> src/srv_fetch_attachment_list_for_ticket.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct uuid_id {
[INFO] [stdout]    |        ^^^^^^^ help: convert the identifier to upper camel case: `UuidId`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::OsStr`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ffi::OsStr;
[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: `Error`
[INFO] [stdout]  --> src/srv_fetch_attachment_content.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_issues_that_need_updating::update_interesting_projects_in_db`
[INFO] [stdout]  --> src/srv_fetch_attachment_content.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::find_issues_that_need_updating::update_interesting_projects_in_db;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_config::Config`
[INFO] [stdout]  --> src/srv_fetch_attachment_content.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::get_config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::ffi::OsStrExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_issue_details::add_details_to_issue_in_db`
[INFO] [stdout]  --> src/srv_fetch_attachment_content.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::get_issue_details::add_details_to_issue_in_db;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `attachment_data_in_db` should have an upper camel case name
[INFO] [stdout]  --> src/srv_fetch_attachment_content.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct attachment_data_in_db {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AttachmentDataInDb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_issue_details::add_details_to_issue_in_db`
[INFO] [stdout]  --> src/srv_synchronise_ticket.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::get_issue_details::add_details_to_issue_in_db;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_issues_that_need_updating::update_interesting_projects_in_db`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::find_issues_that_need_updating::update_interesting_projects_in_db;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/atlassian_document_format_html_output.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::Engine`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use base64::Engine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/atlassian_document_format_html_output.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/atlassian_document_format_html_output.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Runtime`
[INFO] [stdout]  --> src/atlassian_document_format_html_output.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::runtime::{Handle, Runtime};
[INFO] [stdout]   |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Execute`, `FromRow`, and `Statement`
[INFO] [stdout]   --> src/main.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use sqlx::{Execute, Executor, FromRow, Pool, Sqlite, SqlitePool, Statement};
[INFO] [stdout]    |            ^^^^^^^            ^^^^^^^                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::atlassian_document_format::root_elt_doc_to_string`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::atlassian_document_format::root_elt_doc_to_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::atlassian_document_format_html_output::root_elt_doc_to_html_string`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::atlassian_document_format_html_output::root_elt_doc_to_html_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Config`
[INFO] [stdout]   --> src/main.rs:17:37
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::get_config::{get_config, Config};
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_issue_details::add_details_to_issue_in_db`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::get_issue_details::add_details_to_issue_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_field_table::update_fields_in_db`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::manage_field_table::update_fields_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_interesting_projects::initialise_interesting_projects_in_db`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::manage_interesting_projects::initialise_interesting_projects_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_issuelinktype_table::update_issue_link_types_in_db`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::manage_issuelinktype_table::update_issue_link_types_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_issuetype_table::update_issue_types_in_db`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::manage_issuetype_table::update_issue_types_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_project_table::update_project_list_in_db`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::manage_project_table::update_project_list_in_db;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `atlassian_document_format`
[INFO] [stdout]  --> src/atlassian_document_format.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{atlassian_document_format, atlassian_document_utils};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::Unexpected::Str`
[INFO] [stdout]  --> src/atlassian_document_format.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::de::Unexpected::Str;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/atlassian_document_format.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `to_string_pretty` and `to_string`
[INFO] [stdout]  --> src/atlassian_document_format.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use toml::{to_string, to_string_pretty};
[INFO] [stdout]   |            ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_background_colour_mark_kind`, `get_link_mark_kind`, and `get_text_colour_mark_kind`
[INFO] [stdout]  --> src/atlassian_document_format.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::atlassian_document_utils::{get_background_colour_mark_kind, get_link_mark_kind, get_mark_kind, get_text_colour_mark_kind, inde...
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_issuelinktype_table::IssueLinkType`
[INFO] [stdout]  --> src/find_issues_that_need_updating.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::manage_issuelinktype_table::IssueLinkType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_project_tasks_from_server::get_project_tasks_from_server`
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::get_project_tasks_from_server::get_project_tasks_from_server;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fill_issues_fields_from_json`
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:13:53
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::manage_issue_field::{fill_issues_fields, fill_issues_fields_from_json, IssueProperties, KeyValueProperty};
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `issue_data` should have an upper camel case name
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct issue_data {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `IssueData`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `issue_and_links` should have an upper camel case name
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct issue_and_links {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IssueAndLinks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NO_ISSUE_IS_UP_TO_DATE` should have an upper camel case name
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     NO_ISSUE_IS_UP_TO_DATE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NoIssueIsUpToDate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ONE_ISSUE_IS_UP_TO_DATE` should have an upper camel case name
[INFO] [stdout]   --> src/find_issues_that_need_updating.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     ONE_ISSUE_IS_UP_TO_DATE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OneIssueIsUpToDate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/get_attachment_content.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sqlx::{Error, FromRow};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/get_attachment_content.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderValue` and `ToStrError`
[INFO] [stdout]  --> src/get_attachment_content.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use reqwest::header::{HeaderValue, ToStrError};
[INFO] [stdout]   |                       ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Response`
[INFO] [stdout]  --> src/get_attachment_content.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use reqwest::Response;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `toml::to_string`
[INFO] [stdout]  --> src/get_attachment_content.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use toml::to_string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `cookie_expiration` should have an upper camel case name
[INFO] [stdout]   --> src/get_attachment_content.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct cookie_expiration {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CookieExpiration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `file_data` should have an upper camel case name
[INFO] [stdout]    --> src/get_attachment_content.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct file_data {
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case: `FileData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/get_config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Issue`
[INFO] [stdout]  --> src/get_issue_details.rs:6:50
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::manage_interesting_projects::{get_id, Issue};
[INFO] [stdout]   |                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_project_table::Project`
[INFO] [stdout]  --> src/get_issue_details.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::manage_project_table::Project;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `html2text::parse`
[INFO] [stdout]   --> src/get_issue_details.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use html2text::parse;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Map`
[INFO] [stdout]   --> src/get_issue_details.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json::{Map, Value};
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::sqlite::SqliteRow`
[INFO] [stdout]   --> src/get_issue_details.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use sqlx::sqlite::SqliteRow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/get_issue_details.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/get_issue_details.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]   --> src/get_issue_details.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::fmt::format;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::ParseIntError`
[INFO] [stdout]   --> src/get_issue_details.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::num::ParseIntError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_issues_that_need_updating::issue_data`
[INFO] [stdout]   --> src/get_issue_details.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::find_issues_that_need_updating::issue_data;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::Engine`
[INFO] [stdout]  --> src/get_json_from_url.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use base64::Engine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Map` and `Value`
[INFO] [stdout]  --> src/get_project_tasks_from_server.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::{Map, Value};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/manage_field_table.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/manage_field_table.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_str_for_key`
[INFO] [stdout]  --> src/manage_field_table.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::get_str_for_key;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `query`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use sqlx::{Error, FromRow, Pool, query, Sqlite};
[INFO] [stdout]   |            ^^^^^                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsonValue` and `Json`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sqlx::types::{Json, JsonValue};
[INFO] [stdout]   |                   ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::tcp::ReuniteError`
[INFO] [stdout]  --> src/manage_interesting_projects.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::net::tcp::ReuniteError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_project_table::Project`
[INFO] [stdout]   --> src/manage_interesting_projects.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::manage_project_table::Project;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `fields_in_db` should have an upper camel case name
[INFO] [stdout]   --> src/manage_interesting_projects.rs:84:19
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) struct fields_in_db {
[INFO] [stdout]    |                   ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FieldsInDb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_field_table::FieldMetadata`
[INFO] [stdout]  --> src/manage_issue_comments.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::manage_field_table::FieldMetadata;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_interesting_projects::Issue`
[INFO] [stdout]  --> src/manage_issue_comments.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::manage_interesting_projects::Issue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::sqlite::SqliteQueryResult`
[INFO] [stdout]  --> src/manage_issue_comments.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sqlx::sqlite::SqliteQueryResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/manage_issue_comments.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/manage_issue_comments.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `commentFromJson` should have an upper camel case name
[INFO] [stdout]   --> src/manage_issue_comments.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct commentFromJson {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `CommentFromJson`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Issue`
[INFO] [stdout]  --> src/manage_issue_field.rs:1:50
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::manage_interesting_projects::{get_id, Issue};
[INFO] [stdout]   |                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_issuetype_table::IssueType`
[INFO] [stdout]  --> src/manage_issue_field.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::manage_issuetype_table::IssueType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/manage_issuelinktype_table.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/manage_issuelinktype_table.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/manage_issuetype_table.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manage_issuetype_table::IssueType`
[INFO] [stdout]  --> src/manage_project_table.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::manage_issuetype_table::IssueType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::types::Json`
[INFO] [stdout]  --> src/manage_project_table.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sqlx::types::Json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/manage_project_table.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::ParseIntError`
[INFO] [stdout]  --> src/manage_project_table.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::num::ParseIntError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync`
[INFO] [stdout]  --> src/server.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{io, sync, thread};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `read_to_string`
[INFO] [stdout]  --> src/server.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{ErrorKind, Read, read_to_string};
[INFO] [stdout]   |                          ^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `addr_of_mut` and `read`
[INFO] [stdout]  --> src/server.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr::{addr_of_mut, read};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `RecvTimeoutError`, `Sender`, and `TryRecvError`
[INFO] [stdout]  --> src/server.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::mpsc::{Receiver, RecvTimeoutError, Sender, TryRecvError};
[INFO] [stdout]   |                       ^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]   --> src/server.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::time::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fetch_Ticket` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:31:3
[INFO] [stdout]    |
[INFO] [stdout] 31 |   Fetch_Ticket(String /* issue key */),
[INFO] [stdout]    |   ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FetchTicket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fetch_Ticket_List` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 32 |   Fetch_Ticket_List,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FetchTicketList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fetch_Ticket_Key_Value_Fields` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:33:3
[INFO] [stdout]    |
[INFO] [stdout] 33 |   Fetch_Ticket_Key_Value_Fields(String /* issue key */),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FetchTicketKeyValueFields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fetch_Attachment_List_For_Ticket` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:34:3
[INFO] [stdout]    |
[INFO] [stdout] 34 |   Fetch_Attachment_List_For_Ticket(String /* issue key */),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FetchAttachmentListForTicket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fetch_Attachment_Content` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:35:3
[INFO] [stdout]    |
[INFO] [stdout] 35 |   Fetch_Attachment_Content(String /* attachment uuid */),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FetchAttachmentContent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Synchronise_Ticket` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:36:3
[INFO] [stdout]    |
[INFO] [stdout] 36 |   Synchronise_Ticket(String /* issue key */),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SynchroniseTicket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Synchronise_Updated` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 37 |   Synchronise_Updated,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SynchroniseUpdated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Synchronise_All` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:38:3
[INFO] [stdout]    |
[INFO] [stdout] 38 |   Synchronise_All,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SynchroniseAll`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Exit_Server_After_Requests` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:39:3
[INFO] [stdout]    |
[INFO] [stdout] 39 |   Exit_Server_After_Requests,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ExitServerAfterRequests`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Exit_Server_Now` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 |   Exit_Server_Now,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ExitServerNow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Push_error_message` should have an upper camel case name
[INFO] [stdout]   --> src/server.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 41 |   Push_error_message(String),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PushErrorMessage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json`
[INFO] [stdout]  --> src/srv_fetch_ticket.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::{json, Map, Value};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_issues_that_need_updating::update_interesting_projects_in_db`
[INFO] [stdout]  --> src/srv_fetch_ticket.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::find_issues_that_need_updating::update_interesting_projects_in_db;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `add_details_to_issue_in_db`
[INFO] [stdout]   --> src/srv_fetch_ticket.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::get_issue_details::{add_details_to_issue_in_db, get_json_for_issue};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `output_format` should have an upper camel case name
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:330:6
[INFO] [stdout]     |
[INFO] [stdout] 330 | enum output_format {
[INFO] [stdout]     |      ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OutputFormat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/srv_fetch_ticket_list.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `keys_in_db` should have an upper camel case name
[INFO] [stdout]  --> src/srv_fetch_ticket_list.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct keys_in_db {
[INFO] [stdout]   |        ^^^^^^^^^^ help: convert the identifier to upper camel case: `KeysInDb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Map` and `Value`
[INFO] [stdout]  --> src/srv_fetch_ticket_key_value_list.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::{Map, Value};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/srv_fetch_ticket_key_value_list.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IssueAttachment`
[INFO] [stdout]  --> src/srv_fetch_ticket_key_value_list.rs:6:52
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::get_issue_details::{get_json_for_issue, IssueAttachment};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `key_value_in_db` should have an upper camel case name
[INFO] [stdout]   --> src/srv_fetch_ticket_key_value_list.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct key_value_in_db {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `KeyValueInDb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `key_human_name` should have an upper camel case name
[INFO] [stdout]   --> src/srv_fetch_ticket_key_value_list.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct key_human_name {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `KeyHumanName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/srv_fetch_attachment_list_for_ticket.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `add_details_to_issue_in_db`
[INFO] [stdout]  --> src/srv_fetch_attachment_list_for_ticket.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::get_issue_details::{add_details_to_issue_in_db, get_ticket_attachment_list_from_json, IssueAttachment};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `attachment_name_in_db` should have an upper camel case name
[INFO] [stdout]   --> src/srv_fetch_attachment_list_for_ticket.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct attachment_name_in_db {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AttachmentNameInDb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `uuid_id` should have an upper camel case name
[INFO] [stdout]   --> src/srv_fetch_attachment_list_for_ticket.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct uuid_id {
[INFO] [stdout]    |        ^^^^^^^ help: convert the identifier to upper camel case: `UuidId`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/srv_fetch_attachment_content.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_issues_that_need_updating::update_interesting_projects_in_db`
[INFO] [stdout]  --> src/srv_fetch_attachment_content.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::find_issues_that_need_updating::update_interesting_projects_in_db;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_config::Config`
[INFO] [stdout]  --> src/srv_fetch_attachment_content.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::get_config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_issue_details::add_details_to_issue_in_db`
[INFO] [stdout]  --> src/srv_fetch_attachment_content.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::get_issue_details::add_details_to_issue_in_db;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `attachment_data_in_db` should have an upper camel case name
[INFO] [stdout]  --> src/srv_fetch_attachment_content.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct attachment_data_in_db {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AttachmentDataInDb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_issue_details::add_details_to_issue_in_db`
[INFO] [stdout]  --> src/srv_synchronise_ticket.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::get_issue_details::add_details_to_issue_in_db;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/atlassian_document_format_html_output.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/atlassian_document_format_html_output.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/atlassian_document_format_html_output.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sqlx::{Error, FromRow, Pool, Sqlite};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Runtime`
[INFO] [stdout]  --> src/atlassian_document_format_html_output.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::runtime::{Handle, Runtime};
[INFO] [stdout]   |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/find_issues_that_need_updating.rs:256:24
[INFO] [stdout]     |
[INFO] [stdout] 256 |                     Ok(mut v) => {
[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]    --> src/find_issues_that_need_updating.rs:256:24
[INFO] [stdout]     |
[INFO] [stdout] 256 |                     Ok(mut v) => {
[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]    --> src/manage_project_table.rs:474:64
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub(crate) async fn update_project_list_in_db(config: &Config, mut db_conn: &mut Pool<Sqlite>) {
[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]    --> src/manage_project_table.rs:474:64
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub(crate) async fn update_project_list_in_db(config: &Config, mut db_conn: &mut Pool<Sqlite>) {
[INFO] [stdout]     |                                                                ----^^^^^^^
[INFO] [stdout]     |                                                                |
[INFO] [stdout]     |                                                                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:779:11
[INFO] [stdout]     |
[INFO] [stdout] 773 |           (Ok(newest_data), _) => if newest_data.is_empty() {
[INFO] [stdout]     |           -------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 779 |           (Ok(newest_data), _) => {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/local_jira-fc1742337ed7ef18.long-type-3067884228428097205.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:779:11
[INFO] [stdout]     |
[INFO] [stdout] 773 |           (Ok(newest_data), _) => if newest_data.is_empty() {
[INFO] [stdout]     |           -------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 779 |           (Ok(newest_data), _) => {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/local_jira-c9b3b36322c5a414.long-type-8751400408133795356.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server.rs:507:43
[INFO] [stdout]     |
[INFO] [stdout] 507 | async fn background_tasks(config: Config, mut db_conn: Pool<Sqlite>) {
[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]    --> src/server.rs:507:43
[INFO] [stdout]     |
[INFO] [stdout] 507 | async fn background_tasks(config: Config, mut db_conn: Pool<Sqlite>) {
[INFO] [stdout]     |                                           ----^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/get_issue_details.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Executor`
[INFO] [stdout]   --> src/main.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use sqlx::{Execute, Executor, FromRow, Pool, Sqlite, SqlitePool, Statement};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/atlassian_document_format.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/atlassian_document_format.rs:710:15
[INFO] [stdout]     |
[INFO] [stdout] 710 |         (Some(url), Some(data)) => {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/atlassian_document_format.rs:710:26
[INFO] [stdout]     |
[INFO] [stdout] 710 |         (Some(url), Some(data)) => {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `link_type_id`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:351:32
[INFO] [stdout]     |
[INFO] [stdout] 351 |       for &IssueLink{ jira_id, link_type_id, outward_issue_id, inward_issue_id } in links_to_remove {
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: try ignoring the field: `link_type_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outward_issue_id`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:351:46
[INFO] [stdout]     |
[INFO] [stdout] 351 |       for &IssueLink{ jira_id, link_type_id, outward_issue_id, inward_issue_id } in links_to_remove {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^ help: try ignoring the field: `outward_issue_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inward_issue_id`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:351:64
[INFO] [stdout]     |
[INFO] [stdout] 351 |       for &IssueLink{ jira_id, link_type_id, outward_issue_id, inward_issue_id } in links_to_remove {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^ help: try ignoring the field: `inward_issue_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/get_issue_details.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |         .filter(|(key, value)| value.as_null().is_none())
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/get_issue_details.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Executor`
[INFO] [stdout]   --> src/main.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use sqlx::{Execute, Executor, FromRow, Pool, Sqlite, SqlitePool, Statement};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/get_issue_details.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 |     config: &Config,
[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]   --> src/atlassian_document_format.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/get_issue_details.rs:483:5
[INFO] [stdout]     |
[INFO] [stdout] 483 |     config: &Config,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `copy_ret_code`
[INFO] [stdout]   --> src/get_attachment_content.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let Ok(copy_ret_code) = copy_ret_code else {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_copy_ret_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/find_issues_that_need_updating.rs:358:20
[INFO] [stdout]     |
[INFO] [stdout] 358 |     while let Some(res) = tasks.join_next().await {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/atlassian_document_format.rs:710:15
[INFO] [stdout]     |
[INFO] [stdout] 710 |         (Some(url), Some(data)) => {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/atlassian_document_format.rs:710:26
[INFO] [stdout]     |
[INFO] [stdout] 710 |         (Some(url), Some(data)) => {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/get_issue_details.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> src/manage_field_table.rs:156:53
[INFO] [stdout]     |
[INFO] [stdout] 156 |       for FieldMetadata { jira_id, key, human_name, schema, is_custom } in fields_to_remove
[INFO] [stdout]     |                                                     ^^^^^^ help: try ignoring the field: `schema: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `link_type_id`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:351:32
[INFO] [stdout]     |
[INFO] [stdout] 351 |       for &IssueLink{ jira_id, link_type_id, outward_issue_id, inward_issue_id } in links_to_remove {
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: try ignoring the field: `link_type_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outward_issue_id`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:351:46
[INFO] [stdout]     |
[INFO] [stdout] 351 |       for &IssueLink{ jira_id, link_type_id, outward_issue_id, inward_issue_id } in links_to_remove {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^ help: try ignoring the field: `outward_issue_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inward_issue_id`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:351:64
[INFO] [stdout]     |
[INFO] [stdout] 351 |       for &IssueLink{ jira_id, link_type_id, outward_issue_id, inward_issue_id } in links_to_remove {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^ help: try ignoring the field: `inward_issue_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_tickets`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:474:21
[INFO] [stdout]     |
[INFO] [stdout] 474 |       .filter_map(|(json_tickets, issues, links)| {
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_tickets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `links`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:474:43
[INFO] [stdout]     |
[INFO] [stdout] 474 |       .filter_map(|(json_tickets, issues, links)| {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_links`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_tickets`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:458:10
[INFO] [stdout]     |
[INFO] [stdout] 458 |     for (json_tickets, issues, links) in &issues_and_links {
[INFO] [stdout]     |          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_tickets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:500:18
[INFO] [stdout]     |
[INFO] [stdout] 500 |   while let Some(res) = tasks.join_next().await {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/get_issue_details.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |         .filter(|(key, value)| value.as_null().is_none())
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/get_issue_details.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 |     config: &Config,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/get_issue_details.rs:483:5
[INFO] [stdout]     |
[INFO] [stdout] 483 |     config: &Config,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `copy_ret_code`
[INFO] [stdout]   --> src/get_attachment_content.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let Ok(copy_ret_code) = copy_ret_code else {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_copy_ret_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/manage_issuetype_table.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 | async fn get_issue_types_from_database(config: &Config, db_conn: &Pool<Sqlite>) -> Vec<IssueType> {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `description`
[INFO] [stdout]    --> src/manage_issuetype_table.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 description,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `description: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/find_issues_that_need_updating.rs:358:20
[INFO] [stdout]     |
[INFO] [stdout] 358 |     while let Some(res) = tasks.join_next().await {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `description`
[INFO] [stdout]    --> src/manage_project_table.rs:276:17
[INFO] [stdout]     |
[INFO] [stdout] 276 |                 description,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `description: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_archived`
[INFO] [stdout]    --> src/manage_project_table.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |                 is_archived,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `is_archived: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/get_issue_details.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> src/manage_field_table.rs:156:53
[INFO] [stdout]     |
[INFO] [stdout] 156 |       for FieldMetadata { jira_id, key, human_name, schema, is_custom } in fields_to_remove
[INFO] [stdout]     |                                                     ^^^^^^ help: try ignoring the field: `schema: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:473:15
[INFO] [stdout]     |
[INFO] [stdout] 473 |     .filter(|(key, value)| !value.is_null())
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_tickets`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:474:21
[INFO] [stdout]     |
[INFO] [stdout] 474 |       .filter_map(|(json_tickets, issues, links)| {
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_tickets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `links`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:474:43
[INFO] [stdout]     |
[INFO] [stdout] 474 |       .filter_map(|(json_tickets, issues, links)| {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_links`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_tickets`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:458:10
[INFO] [stdout]     |
[INFO] [stdout] 458 |     for (json_tickets, issues, links) in &issues_and_links {
[INFO] [stdout]     |          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_tickets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/manage_interesting_projects.rs:500:18
[INFO] [stdout]     |
[INFO] [stdout] 500 |   while let Some(res) = tasks.join_next().await {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `issue_key`
[INFO] [stdout]   --> src/srv_synchronise_ticket.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let issue_key = splitted_params[0];
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_issue_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/manage_issuetype_table.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 | async fn get_issue_types_from_database(config: &Config, db_conn: &Pool<Sqlite>) -> Vec<IssueType> {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `description`
[INFO] [stdout]    --> src/manage_issuetype_table.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 description,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `description: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `creation`
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:148:11
[INFO] [stdout]     |
[INFO] [stdout] 148 |       let creation = html_escape::encode_safe(creation);
[INFO] [stdout]     |           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_creation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `custom_fields`
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:195:27
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           custom_fields: &[Field],
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `creation`
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:276:11
[INFO] [stdout]     |
[INFO] [stdout] 276 |       let creation = &x.creation_time;
[INFO] [stdout]     |           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_creation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `custom_fields`
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:291:31
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...                   custom_fields: &[Field],
[INFO] [stdout]     |                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `description`
[INFO] [stdout]    --> src/manage_project_table.rs:276:17
[INFO] [stdout]     |
[INFO] [stdout] 276 |                 description,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `description: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_archived`
[INFO] [stdout]    --> src/manage_project_table.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |                 is_archived,
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: try ignoring the field: `is_archived: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/atlassian_document_format_html_output.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Err(e) => { tmp }
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:473:15
[INFO] [stdout]     |
[INFO] [stdout] 473 |     .filter(|(key, value)| !value.is_null())
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `issue_key`
[INFO] [stdout]   --> src/srv_synchronise_ticket.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let issue_key = splitted_params[0];
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_issue_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]     --> src/atlassian_document_format_html_output.rs:1249:11
[INFO] [stdout]      |
[INFO] [stdout] 1249 |     (Some(url), Some(data)) => {
[INFO] [stdout]      |           ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]     --> src/atlassian_document_format_html_output.rs:1249:22
[INFO] [stdout]      |
[INFO] [stdout] 1249 |     (Some(url), Some(data)) => {
[INFO] [stdout]      |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `creation`
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:148:11
[INFO] [stdout]     |
[INFO] [stdout] 148 |       let creation = html_escape::encode_safe(creation);
[INFO] [stdout]     |           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_creation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `custom_fields`
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:195:27
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           custom_fields: &[Field],
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `creation`
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:276:11
[INFO] [stdout]     |
[INFO] [stdout] 276 |       let creation = &x.creation_time;
[INFO] [stdout]     |           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_creation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `custom_fields`
[INFO] [stdout]    --> src/srv_fetch_ticket.rs:291:31
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...                   custom_fields: &[Field],
[INFO] [stdout]     |                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_html_verbatim` is never used
[INFO] [stdout]    --> src/atlassian_document_format.rs:461:4
[INFO] [stdout]     |
[INFO] [stdout] 461 | fn to_html_verbatim(val: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_file_size_to_download` is never read
[INFO] [stdout]   --> src/get_config.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct FileOnDiskConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     max_file_size_to_download: Option<i64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `user_login` and `api_token` are never read
[INFO] [stdout]   --> src/get_config.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct Config {
[INFO] [stdout]    |                   ------ fields in this struct
[INFO] [stdout] 23 |     server_address: String,
[INFO] [stdout] 24 |     user_login: String, // likely email address
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     api_token: String, // taken from environment variable when not passed.
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` 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: methods `user_login` and `api_token` are never used
[INFO] [stdout]   --> src/get_config.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Config {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn user_login(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn api_token(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IssueType` is never constructed
[INFO] [stdout]   --> src/manage_interesting_projects.rs:62:19
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) struct IssueType {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `fields_in_db` is never constructed
[INFO] [stdout]   --> src/manage_interesting_projects.rs:84:19
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) struct fields_in_db {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `issue_id` is never read
[INFO] [stdout]   --> src/manage_issue_comments.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct commentFromJson {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     issue_id: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `commentFromJson` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IssueId` is never constructed
[INFO] [stdout]    --> src/manage_issue_comments.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | struct IssueId {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_properties_in_db_not_in_remote` is never used
[INFO] [stdout]    --> src/manage_issue_field.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn get_properties_in_db_not_in_remote<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_issue_key` is never used
[INFO] [stdout]   --> src/server.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn is_valid_issue_key(candidate: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_html_colour_from_mark` is never used
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn get_html_colour_from_mark(colour_kind: &Map<String, Value>) -> Result<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_background_html_colour_mark_kind` is never used
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn get_background_html_colour_mark_kind(colour_kind: &Map<String, Value>) -> Result<MarkKind, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_text_html_colour_mark_kind` is never used
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:251:4
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn get_text_html_colour_mark_kind(colour_kind: &Map<String, Value>) -> Result<MarkKind, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_link_mark_kind` is never used
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:259:4
[INFO] [stdout]     |
[INFO] [stdout] 259 | fn get_link_mark_kind(link_kind: &Map<String, Value>) -> Result<MarkKind, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_html_verbatim` is never used
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:659:4
[INFO] [stdout]     |
[INFO] [stdout] 659 | fn to_html_verbatim(val: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]     --> src/atlassian_document_format_html_output.rs:1138:3
[INFO] [stdout]      |
[INFO] [stdout] 1136 | struct FileData {
[INFO] [stdout]      |        -------- field in this struct
[INFO] [stdout] 1137 |   filename: String,
[INFO] [stdout] 1138 |   size: i64,
[INFO] [stdout]      |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `collection`, `id`, and `occurrenceKey` are never read
[INFO] [stdout]   --> src/atlassian_document_utils.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) struct LinkAttrs {
[INFO] [stdout]    |                   --------- fields in this struct
[INFO] [stdout] 58 |   // https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/link/
[INFO] [stdout] 59 |   pub collection: Option<String>,
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 60 |   pub href: String,
[INFO] [stdout] 61 |   pub id: Option<String>,
[INFO] [stdout]    |       ^^
[INFO] [stdout] 62 |   pub occurrenceKey: Option<String>,
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `accountId` should have a snake case name
[INFO] [stdout]   --> src/manage_issue_comments.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     accountId: String,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `account_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `displayName` should have a snake case name
[INFO] [stdout]   --> src/manage_issue_comments.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     displayName: String,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `display_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occurrenceKey` should have a snake case name
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:287:7
[INFO] [stdout]     |
[INFO] [stdout] 287 |   let occurrenceKey = attrs.get("occurrenceKey");
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `occurrence_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occurrenceKey` should have a snake case name
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:298:7
[INFO] [stdout]     |
[INFO] [stdout] 298 |   let occurrenceKey = to_option_string(occurrenceKey);
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `occurrence_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `occurrenceKey` should have a snake case name
[INFO] [stdout]   --> src/atlassian_document_utils.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub occurrenceKey: Option<String>,
[INFO] [stdout]    |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `occurrence_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occurrenceKey` should have a snake case name
[INFO] [stdout]    --> src/atlassian_document_utils.rs:175:7
[INFO] [stdout]     |
[INFO] [stdout] 175 |   let occurrenceKey = attrs.get("occurrenceKey");
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `occurrence_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occurrenceKey` should have a snake case name
[INFO] [stdout]    --> src/atlassian_document_utils.rs:185:7
[INFO] [stdout]     |
[INFO] [stdout] 185 |   let occurrenceKey = to_option_string(occurrenceKey);
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `occurrence_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/atlassian_document_format_html_output.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Err(e) => { tmp }
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]     --> src/atlassian_document_format_html_output.rs:1249:11
[INFO] [stdout]      |
[INFO] [stdout] 1249 |     (Some(url), Some(data)) => {
[INFO] [stdout]      |           ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]     --> src/atlassian_document_format_html_output.rs:1249:22
[INFO] [stdout]      |
[INFO] [stdout] 1249 |     (Some(url), Some(data)) => {
[INFO] [stdout]      |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_html_verbatim` is never used
[INFO] [stdout]    --> src/atlassian_document_format.rs:461:4
[INFO] [stdout]     |
[INFO] [stdout] 461 | fn to_html_verbatim(val: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_file_size_to_download` is never read
[INFO] [stdout]   --> src/get_config.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct FileOnDiskConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     max_file_size_to_download: Option<i64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `user_login` and `api_token` are never read
[INFO] [stdout]   --> src/get_config.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct Config {
[INFO] [stdout]    |                   ------ fields in this struct
[INFO] [stdout] 23 |     server_address: String,
[INFO] [stdout] 24 |     user_login: String, // likely email address
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     api_token: String, // taken from environment variable when not passed.
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` 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: methods `user_login` and `api_token` are never used
[INFO] [stdout]   --> src/get_config.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Config {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn user_login(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn api_token(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IssueType` is never constructed
[INFO] [stdout]   --> src/manage_interesting_projects.rs:62:19
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) struct IssueType {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `fields_in_db` is never constructed
[INFO] [stdout]   --> src/manage_interesting_projects.rs:84:19
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) struct fields_in_db {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `issue_id` is never read
[INFO] [stdout]   --> src/manage_issue_comments.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct commentFromJson {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     issue_id: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `commentFromJson` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IssueId` is never constructed
[INFO] [stdout]    --> src/manage_issue_comments.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | struct IssueId {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_properties_in_db_not_in_remote` is never used
[INFO] [stdout]    --> src/manage_issue_field.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn get_properties_in_db_not_in_remote<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_issue_key` is never used
[INFO] [stdout]   --> src/server.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn is_valid_issue_key(candidate: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_html_colour_from_mark` is never used
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn get_html_colour_from_mark(colour_kind: &Map<String, Value>) -> Result<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_background_html_colour_mark_kind` is never used
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn get_background_html_colour_mark_kind(colour_kind: &Map<String, Value>) -> Result<MarkKind, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_text_html_colour_mark_kind` is never used
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:251:4
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn get_text_html_colour_mark_kind(colour_kind: &Map<String, Value>) -> Result<MarkKind, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_link_mark_kind` is never used
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:259:4
[INFO] [stdout]     |
[INFO] [stdout] 259 | fn get_link_mark_kind(link_kind: &Map<String, Value>) -> Result<MarkKind, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_html_verbatim` is never used
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:659:4
[INFO] [stdout]     |
[INFO] [stdout] 659 | fn to_html_verbatim(val: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]     --> src/atlassian_document_format_html_output.rs:1138:3
[INFO] [stdout]      |
[INFO] [stdout] 1136 | struct FileData {
[INFO] [stdout]      |        -------- field in this struct
[INFO] [stdout] 1137 |   filename: String,
[INFO] [stdout] 1138 |   size: i64,
[INFO] [stdout]      |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `collection`, `id`, and `occurrenceKey` are never read
[INFO] [stdout]   --> src/atlassian_document_utils.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) struct LinkAttrs {
[INFO] [stdout]    |                   --------- fields in this struct
[INFO] [stdout] 58 |   // https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/link/
[INFO] [stdout] 59 |   pub collection: Option<String>,
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 60 |   pub href: String,
[INFO] [stdout] 61 |   pub id: Option<String>,
[INFO] [stdout]    |       ^^
[INFO] [stdout] 62 |   pub occurrenceKey: Option<String>,
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `accountId` should have a snake case name
[INFO] [stdout]   --> src/manage_issue_comments.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     accountId: String,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `account_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `displayName` should have a snake case name
[INFO] [stdout]   --> src/manage_issue_comments.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     displayName: String,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `display_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occurrenceKey` should have a snake case name
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:287:7
[INFO] [stdout]     |
[INFO] [stdout] 287 |   let occurrenceKey = attrs.get("occurrenceKey");
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `occurrence_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occurrenceKey` should have a snake case name
[INFO] [stdout]    --> src/atlassian_document_format_html_output.rs:298:7
[INFO] [stdout]     |
[INFO] [stdout] 298 |   let occurrenceKey = to_option_string(occurrenceKey);
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `occurrence_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `occurrenceKey` should have a snake case name
[INFO] [stdout]   --> src/atlassian_document_utils.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub occurrenceKey: Option<String>,
[INFO] [stdout]    |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `occurrence_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occurrenceKey` should have a snake case name
[INFO] [stdout]    --> src/atlassian_document_utils.rs:175:7
[INFO] [stdout]     |
[INFO] [stdout] 175 |   let occurrenceKey = attrs.get("occurrenceKey");
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `occurrence_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occurrenceKey` should have a snake case name
[INFO] [stdout]    --> src/atlassian_document_utils.rs:185:7
[INFO] [stdout]     |
[INFO] [stdout] 185 |   let occurrenceKey = to_option_string(occurrenceKey);
[INFO] [stdout]     |       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `occurrence_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.69s
[INFO] running `Command { std: "docker" "inspect" "2a014a8c482552fc8b334bbec41f8cb81db431965ab0789c9a2d20501460c307", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a014a8c482552fc8b334bbec41f8cb81db431965ab0789c9a2d20501460c307", kill_on_drop: false }`
[INFO] [stdout] 2a014a8c482552fc8b334bbec41f8cb81db431965ab0789c9a2d20501460c307
