[INFO] cloning repository https://github.com/ffdd270/rapid_python_reader
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ffdd270/rapid_python_reader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fffdd270%2Frapid_python_reader", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fffdd270%2Frapid_python_reader'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4badbb8770e72a5cb4ed1e4154a91aeeb55d283f
[INFO] checking ffdd270/rapid_python_reader against try#3a4cb0edb4040379c037e06efeb5409e44be7b77 for pr-146377
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fffdd270%2Frapid_python_reader" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ffdd270/rapid_python_reader
[INFO] finished tweaking git repo https://github.com/ffdd270/rapid_python_reader
[INFO] tweaked toml for git repo https://github.com/ffdd270/rapid_python_reader written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ffdd270/rapid_python_reader on toolchain 3a4cb0edb4040379c037e06efeb5409e44be7b77
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ffdd270/rapid_python_reader already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.crate-type
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded calamine v0.18.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 67d318737b8a947e486e7870783737622c8aa12a6aa35a9f93133dbc7a5d96b9
[INFO] running `Command { std: "docker" "start" "-a" "67d318737b8a947e486e7870783737622c8aa12a6aa35a9f93133dbc7a5d96b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "67d318737b8a947e486e7870783737622c8aa12a6aa35a9f93133dbc7a5d96b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67d318737b8a947e486e7870783737622c8aa12a6aa35a9f93133dbc7a5d96b9", kill_on_drop: false }`
[INFO] [stdout] 67d318737b8a947e486e7870783737622c8aa12a6aa35a9f93133dbc7a5d96b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f3670f41745dc2852d790f0ad42ae26620f44023cdc3405ba13ac9ffe95dbc83
[INFO] running `Command { std: "docker" "start" "-a" "f3670f41745dc2852d790f0ad42ae26620f44023cdc3405ba13ac9ffe95dbc83", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.crate-type
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]    Compiling target-lexicon v0.12.4
[INFO] [stderr]    Compiling unicode-ident v1.0.3
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling once_cell v1.14.0
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]    Compiling serde v1.0.144
[INFO] [stderr]    Compiling lock_api v0.4.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]     Checking miniz_oxide v0.5.4
[INFO] [stderr]     Checking smallvec v1.9.0
[INFO] [stderr]     Checking aho-corasick v1.0.4
[INFO] [stderr]    Compiling serde_json v1.0.93
[INFO] [stderr]     Checking quick-xml v0.19.0
[INFO] [stderr]     Checking codepage v0.1.1
[INFO] [stderr]     Checking ryu v1.0.12
[INFO] [stderr]    Compiling indoc v1.0.7
[INFO] [stderr]     Checking unindent v0.1.10
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]    Compiling pyo3-build-config v0.17.1
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking regex-automata v0.3.6
[INFO] [stderr]    Compiling pyo3-ffi v0.17.1
[INFO] [stderr]    Compiling pyo3 v0.17.1
[INFO] [stderr]     Checking regex v1.9.3
[INFO] [stderr]    Compiling pyo3-macros-backend v0.17.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.34
[INFO] [stderr]     Checking thiserror v1.0.34
[INFO] [stderr]     Checking zip v0.5.13
[INFO] [stderr]     Checking calamine v0.18.0
[INFO] [stderr]    Compiling pyo3-macros v0.17.1
[INFO] [stderr]     Checking rapid_python_reader v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/sheet.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::hash::Hash;
[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::hash::Hash`
[INFO] [stdout]  --> src/sheet.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::hash::Hash;
[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/sheet.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::io::{BufReader, Error};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pyo3::prelude::*`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pyo3::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/lib.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/sheet.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::io::{BufReader, Error};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_rows_by_id` and `get_sheet`
[INFO] [stdout]  --> src/lib.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::sheet::sheet::{get_sheet, get_rows_by_id};
[INFO] [stdout]   |                           ^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pyo3::prelude::*`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pyo3::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `workbook_option` is never read
[INFO] [stdout]   --> src/sheet.rs:17:67
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut workbook_option : Option<Xlsx<BufReader<File>>> = None;
[INFO] [stdout]    |                                                                   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:101:55
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/sheet.rs:147:30
[INFO] [stdout]     |
[INFO] [stdout] 147 |                         Some(id) => {
[INFO] [stdout]     |                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:127:55
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:167:55
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/sheet.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 214 |         if let worksheet_tuple = &workbook.worksheets()[0] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_main_id_list` is never used
[INFO] [stdout]    --> src/sheet.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_main_id_list( xlsx_path : &str, sheet_index : u32, id_row_index : u32) -> Option<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: function `default_test` is never used
[INFO] [stdout]    --> src/sheet.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn default_test(path : &str)
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `workbook_option` is never read
[INFO] [stdout]   --> src/sheet.rs:17:67
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut workbook_option : Option<Xlsx<BufReader<File>>> = None;
[INFO] [stdout]    |                                                                   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:101:55
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/sheet.rs:147:30
[INFO] [stdout]     |
[INFO] [stdout] 147 |                         Some(id) => {
[INFO] [stdout]     |                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:127:55
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:167:55
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/sheet.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 214 |         if let worksheet_tuple = &workbook.worksheets()[0] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SheetAndIndex` is never used
[INFO] [stdout]   --> src/sheet.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     type SheetAndIndex = (HashMap<usize, String>, Vec<(String, Range<DataType>)>);
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sheets_and_index_to_id` is never used
[INFO] [stdout]   --> src/sheet.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn get_sheets_and_index_to_id(xlsx_path : &str, sheet_index : u32, id_row_index : u32) -> Option<SheetAndIndex>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `row_to_push_string` is never used
[INFO] [stdout]   --> src/sheet.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn row_to_push_string( ref_string : &mut String, index_to_id : &HashMap<usize, String>, row : &[DataType]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `row_to_push_json` is never used
[INFO] [stdout]   --> src/sheet.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn row_to_push_json( ref_json : &mut Vec<serde_json::Value>, index_to_id : &HashMap<usize, String>, row : &[DataType]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sheet` is never used
[INFO] [stdout]   --> src/sheet.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn get_sheet( xlsx_path : &str, sheet_index : u32, id_row_index : u32) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_main_id_list` is never used
[INFO] [stdout]    --> src/sheet.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_main_id_list( xlsx_path : &str, sheet_index : u32, id_row_index : u32) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rows_by_id` is never used
[INFO] [stdout]    --> src/sheet.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn get_rows_by_id( xlsx_path : &str, sheet_index : u32, id_row_index : u32, find_id : &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_test` is never used
[INFO] [stdout]    --> src/sheet.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn default_test(path : &str)
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/sheet.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::hash::Hash;
[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/sheet.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::io::{BufReader, Error};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]  --> src/main.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::{SystemTime};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::Args`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::env::Args;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Error`
[INFO] [stdout]   --> src/main.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::{BufReader, Error};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataType` and `Range`
[INFO] [stdout]   --> src/main.rs:18:45
[INFO] [stdout]    |
[INFO] [stdout] 18 | use calamine::{Reader, open_workbook, Xlsx, DataType, Range};
[INFO] [stdout]    |                                             ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 |             if (output_path !=  "stdout")
[INFO] [stdout]    |                ^                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -             if (output_path !=  "stdout")
[INFO] [stdout] 44 +             if output_path !=  "stdout" 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/main.rs:109:44
[INFO] [stdout]     |
[INFO] [stdout] 109 | ...                   str += (sheet.as_str());
[INFO] [stdout]     |                              ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 109 -                                     str += (sheet.as_str());
[INFO] [stdout] 109 +                                     str += sheet.as_str() ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/sheet.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::hash::Hash;
[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/sheet.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::io::{BufReader, Error};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]  --> src/main.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::{SystemTime};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::Args`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::env::Args;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Error`
[INFO] [stdout]   --> src/main.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::{BufReader, Error};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataType` and `Range`
[INFO] [stdout]   --> src/main.rs:18:45
[INFO] [stdout]    |
[INFO] [stdout] 18 | use calamine::{Reader, open_workbook, Xlsx, DataType, Range};
[INFO] [stdout]    |                                             ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 |             if (output_path !=  "stdout")
[INFO] [stdout]    |                ^                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -             if (output_path !=  "stdout")
[INFO] [stdout] 44 +             if output_path !=  "stdout" 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/main.rs:109:44
[INFO] [stdout]     |
[INFO] [stdout] 109 | ...                   str += (sheet.as_str());
[INFO] [stdout]     |                              ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 109 -                                     str += (sheet.as_str());
[INFO] [stdout] 109 +                                     str += sheet.as_str() ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `workbook_option` is never read
[INFO] [stdout]   --> src/sheet.rs:17:67
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut workbook_option : Option<Xlsx<BufReader<File>>> = None;
[INFO] [stdout]    |                                                                   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:101:55
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `workbook_option` is never read
[INFO] [stdout]   --> src/sheet.rs:17:67
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut workbook_option : Option<Xlsx<BufReader<File>>> = None;
[INFO] [stdout]    |                                                                   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/sheet.rs:147:30
[INFO] [stdout]     |
[INFO] [stdout] 147 |                         Some(id) => {
[INFO] [stdout]     |                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:127:55
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:167:55
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/sheet.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 214 |         if let worksheet_tuple = &workbook.worksheets()[0] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:101:55
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/sheet.rs:147:30
[INFO] [stdout]     |
[INFO] [stdout] 147 |                         Some(id) => {
[INFO] [stdout]     |                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:127:55
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `option_data` is never read
[INFO] [stdout]    --> src/sheet.rs:167:55
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut option_data : Option<SheetAndIndex> = None;
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/sheet.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 214 |         if let worksheet_tuple = &workbook.worksheets()[0] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:22:31
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn export_sheet( path : &str, mut args_iter : &mut std::iter::Enumerate<std::env::Args> )
[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/main.rs:22:31
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn export_sheet( path : &str, mut args_iter : &mut std::iter::Enumerate<std::env::Args> )
[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/main.rs:106:37
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   let mut sheet_names = xlsx.sheet_names();
[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/main.rs:107:37
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                   let mut sheet_name = sheet_names.into_iter().filter(|x| re.is_match(x)).collect::<Vec<_>>();
[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/main.rs:83:22
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn export_sheet_name(mut args_iter : &mut std::iter::Enumerate<std::env::Args>)
[INFO] [stdout]    |                      ----^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `str` is never read
[INFO] [stdout]    --> src/main.rs:102:39
[INFO] [stdout]     |
[INFO] [stdout] 102 |                         let mut str = String::new();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_test` is never used
[INFO] [stdout]    --> src/sheet.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn default_test(path : &str)
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:106:37
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   let mut sheet_names = xlsx.sheet_names();
[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/main.rs:107:37
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                   let mut sheet_name = sheet_names.into_iter().filter(|x| re.is_match(x)).collect::<Vec<_>>();
[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/main.rs:83:22
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn export_sheet_name(mut args_iter : &mut std::iter::Enumerate<std::env::Args>)
[INFO] [stdout]    |                      ----^^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `str` is never read
[INFO] [stdout]    --> src/main.rs:102:39
[INFO] [stdout]     |
[INFO] [stdout] 102 |                         let mut str = String::new();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_test` is never used
[INFO] [stdout]    --> src/sheet.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn default_test(path : &str)
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.19.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "f3670f41745dc2852d790f0ad42ae26620f44023cdc3405ba13ac9ffe95dbc83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3670f41745dc2852d790f0ad42ae26620f44023cdc3405ba13ac9ffe95dbc83", kill_on_drop: false }`
[INFO] [stdout] f3670f41745dc2852d790f0ad42ae26620f44023cdc3405ba13ac9ffe95dbc83
