[INFO] cloning repository https://github.com/kka6658569/table-generator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kka6658569/table-generator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkka6658569%2Ftable-generator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkka6658569%2Ftable-generator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e5680026f33b159772dc08ca3d739c134388ebe8
[INFO] testing kka6658569/table-generator against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkka6658569%2Ftable-generator" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kka6658569/table-generator
[INFO] finished tweaking git repo https://github.com/kka6658569/table-generator
[INFO] tweaked toml for git repo https://github.com/kka6658569/table-generator written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kka6658569/table-generator on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kka6658569/table-generator 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.99
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.99
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.99
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.99
[INFO] [stderr]   Downloaded js-sys v0.3.76
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.99
[INFO] [stderr]   Downloaded serde_json v1.0.135
[INFO] [stderr]   Downloaded cc v1.2.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5e380fb6cf5843159c5d7dbc1ca602d7a96846183d17e2d3fb4f0aab118bd75d
[INFO] running `Command { std: "docker" "start" "-a" "5e380fb6cf5843159c5d7dbc1ca602d7a96846183d17e2d3fb4f0aab118bd75d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5e380fb6cf5843159c5d7dbc1ca602d7a96846183d17e2d3fb4f0aab118bd75d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e380fb6cf5843159c5d7dbc1ca602d7a96846183d17e2d3fb4f0aab118bd75d", kill_on_drop: false }`
[INFO] [stdout] 5e380fb6cf5843159c5d7dbc1ca602d7a96846183d17e2d3fb4f0aab118bd75d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cdd4f4426ecbe56a61c8c14b8f6e0adb4edd37819ee0e149d57d2122812c4856
[INFO] running `Command { std: "docker" "start" "-a" "cdd4f4426ecbe56a61c8c14b8f6e0adb4edd37819ee0e149d57d2122812c4856", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling serde_json v1.0.135
[INFO] [stderr]    Compiling iana-time-zone v0.1.61
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling chrono v0.4.39
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling table-generator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/data_processor.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Display};
[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 imports: `Serialize` and `Serializer`
[INFO] [stdout]  --> src/data_processor.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Serialize, Serializer};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]  --> src/data_processor/formater.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/executor/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formater`
[INFO] [stdout]  --> src/executor/worker.rs:3:54
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_processor::formater::{AllFormatData, Formater};
[INFO] [stdout]   |                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/data_processor/formater/dict_dict_json.rs:45:47
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let dd = Value::try_from(dd).map_err(|x|"UnExcept error: convert to vec".to_string())?;
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/data_processor/generator.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             for mut row in &mut self.rows {
[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/data_processor/modifier/from_source_column_adder.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let mut from_join_pk_map: HashMap<PkCellValue, Vec<PkCellValue>> = HashMap::new();  // TODO
[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/data_processor/modifier/from_source_column_adder.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             for mut value in &mut self.values {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `FormatData::get_pk_jk_pair2value_mapping`
[INFO] [stdout]    --> src/data_processor/formater.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_pk_jk_pair2value_mapping(&self, column: &str) -> Option<HashMap<PkJkPair, CellValue>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pair2value_mapping` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValue` is more private than the item `FormatData::get_pk_jk_pair2value_mapping`
[INFO] [stdout]    --> src/data_processor/formater.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_pk_jk_pair2value_mapping(&self, column: &str) -> Option<HashMap<PkJkPair, CellValue>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pair2value_mapping` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub(self) enum CellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `FormatData::get_pk_jk_pairs`
[INFO] [stdout]    --> src/data_processor/formater.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn get_pk_jk_pairs(&self) -> Vec<PkJkPair> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pairs` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValueType` is more private than the item `FormatData::is_data_same_type_as_input`
[INFO] [stdout]    --> src/data_processor/formater.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn is_data_same_type_as_input(&self, column: &str, data_type: &CellValueType) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::is_data_same_type_as_input` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CellValueType` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/data_processor.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pub(super) enum CellValueType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Jk2Source` is more private than the item `FormatData::jk2source`
[INFO] [stdout]    --> src/data_processor/formater.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn jk2source(&self) -> Result<Jk2Source, String> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::jk2source` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Jk2Source` is only usable at visibility `pub(in crate::data_processor)`
[INFO] [stdout]    --> src/data_processor/formater.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | pub(super) struct Jk2Source {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FormatDataRow` is more private than the item `FormatData::rows`
[INFO] [stdout]    --> src/data_processor/formater.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn rows(&self) -> Vec<&FormatDataRow> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::rows` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FormatDataRow` is only usable at visibility `pub(in crate::data_processor)`
[INFO] [stdout]    --> src/data_processor/formater.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | pub(super) struct FormatDataRow {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `PkChain`
[INFO] [stdout]   --> src/data_processor/modifier.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) type PkChain = Vec<PkCellValue>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^ type alias `PkChain` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/data_processor.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(self) enum PkCellValue {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ModifyDataColumn` is more private than the item `ModifyData::get_modify_column`
[INFO] [stdout]   --> src/data_processor/modifier.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn get_modify_column(&self, column: &str) -> Result<&ModifyDataColumn, String> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyData::get_modify_column` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ModifyDataColumn` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_processor/modifier.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct ModifyDataColumn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkChainValues` is more private than the item `ModifyData::pk_chain_values`
[INFO] [stdout]   --> src/data_processor/modifier.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn pk_chain_values(&self) -> &PkChainValues {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyData::pk_chain_values` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `PkChainValues` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_processor/modifier.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) struct PkChainValues {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `ModifyDataColumn::try_get_cell_value`
[INFO] [stdout]    --> src/data_processor/modifier.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn try_get_cell_value(&self, pk_value: &PkCellValue) -> Option<CellValue> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyDataColumn::try_get_cell_value` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValue` is more private than the item `ModifyDataColumn::try_get_cell_value`
[INFO] [stdout]    --> src/data_processor/modifier.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn try_get_cell_value(&self, pk_value: &PkCellValue) -> Option<CellValue> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyDataColumn::try_get_cell_value` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub(self) enum CellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `PkChainValues::values`
[INFO] [stdout]    --> src/data_processor/modifier.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn values(&self) -> Vec<PkChain> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `PkChainValues::values` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValueType` is more private than the item `FromSourceColumnAdder::new`
[INFO] [stdout]   --> src/data_processor/modifier/from_source_column_adder.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | /     pub fn new(
[INFO] [stdout] 35 | |         source_name: &str,
[INFO] [stdout] 36 | |         source_column_name: &str,
[INFO] [stdout] 37 | |         script_column_name: &str,
[INFO] [stdout] 38 | |         value_type: CellValueType,
[INFO] [stdout] 39 | |     ) -> FromSourceColumnAdder {
[INFO] [stdout]    | |______________________________^ associated function `FromSourceColumnAdder::new` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `CellValueType` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_processor.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(super) enum CellValueType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Date`, `Datetime`, and `TimeDuration` are never constructed
[INFO] [stdout]   --> src/data_processor.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(self) enum CellValue {
[INFO] [stdout]    |                --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Date(DateTime<Utc>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     Datetime(DateTime<Utc>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     TimeDuration(Duration),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CellValue` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pk_column` is never read
[INFO] [stdout]   --> src/data_processor/formater.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct FormatData {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 23 |     rename_as: String,
[INFO] [stdout] 24 |     pk_column: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jk_column` is never read
[INFO] [stdout]   --> src/data_processor/formater.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(super) struct Jk2Source {
[INFO] [stdout]    |                   --------- field in this struct
[INFO] [stdout] 37 |     jk_column: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Jk2Source` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_duplicated_pk_value` is never used
[INFO] [stdout]   --> src/data_processor/formater.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl FormatData {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn find_duplicated_pk_value(&self) -> Option<Vec<PkCellValue>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value_type` is never read
[INFO] [stdout]   --> src/data_processor/modifier.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct ModifyDataColumn {
[INFO] [stdout]    |                   ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     value_type: CellValueType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModifyDataColumn` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.53s
[INFO] running `Command { std: "docker" "inspect" "cdd4f4426ecbe56a61c8c14b8f6e0adb4edd37819ee0e149d57d2122812c4856", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cdd4f4426ecbe56a61c8c14b8f6e0adb4edd37819ee0e149d57d2122812c4856", kill_on_drop: false }`
[INFO] [stdout] cdd4f4426ecbe56a61c8c14b8f6e0adb4edd37819ee0e149d57d2122812c4856
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b9e90142ab2649f7d30dd4ae96ea6d60b69a1fc920904d6d54d14b2a02e1631d
[INFO] running `Command { std: "docker" "start" "-a" "b9e90142ab2649f7d30dd4ae96ea6d60b69a1fc920904d6d54d14b2a02e1631d", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/data_processor.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Display};
[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 imports: `Serialize` and `Serializer`
[INFO] [stdout]  --> src/data_processor.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Serialize, Serializer};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]  --> src/data_processor/formater.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/executor/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formater`
[INFO] [stdout]  --> src/executor/worker.rs:3:54
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_processor::formater::{AllFormatData, Formater};
[INFO] [stdout]   |                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/data_processor/formater/dict_dict_json.rs:45:47
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let dd = Value::try_from(dd).map_err(|x|"UnExcept error: convert to vec".to_string())?;
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/data_processor/generator.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             for mut row in &mut self.rows {
[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/data_processor/modifier/from_source_column_adder.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let mut from_join_pk_map: HashMap<PkCellValue, Vec<PkCellValue>> = HashMap::new();  // TODO
[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/data_processor/modifier/from_source_column_adder.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             for mut value in &mut self.values {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `FormatData::get_pk_jk_pair2value_mapping`
[INFO] [stdout]    --> src/data_processor/formater.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_pk_jk_pair2value_mapping(&self, column: &str) -> Option<HashMap<PkJkPair, CellValue>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pair2value_mapping` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValue` is more private than the item `FormatData::get_pk_jk_pair2value_mapping`
[INFO] [stdout]    --> src/data_processor/formater.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_pk_jk_pair2value_mapping(&self, column: &str) -> Option<HashMap<PkJkPair, CellValue>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pair2value_mapping` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub(self) enum CellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `FormatData::get_pk_jk_pairs`
[INFO] [stdout]    --> src/data_processor/formater.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn get_pk_jk_pairs(&self) -> Vec<PkJkPair> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pairs` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValueType` is more private than the item `FormatData::is_data_same_type_as_input`
[INFO] [stdout]    --> src/data_processor/formater.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn is_data_same_type_as_input(&self, column: &str, data_type: &CellValueType) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::is_data_same_type_as_input` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CellValueType` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/data_processor.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pub(super) enum CellValueType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Jk2Source` is more private than the item `FormatData::jk2source`
[INFO] [stdout]    --> src/data_processor/formater.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn jk2source(&self) -> Result<Jk2Source, String> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::jk2source` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Jk2Source` is only usable at visibility `pub(in crate::data_processor)`
[INFO] [stdout]    --> src/data_processor/formater.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | pub(super) struct Jk2Source {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FormatDataRow` is more private than the item `FormatData::rows`
[INFO] [stdout]    --> src/data_processor/formater.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn rows(&self) -> Vec<&FormatDataRow> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::rows` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FormatDataRow` is only usable at visibility `pub(in crate::data_processor)`
[INFO] [stdout]    --> src/data_processor/formater.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | pub(super) struct FormatDataRow {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `PkChain`
[INFO] [stdout]   --> src/data_processor/modifier.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) type PkChain = Vec<PkCellValue>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^ type alias `PkChain` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/data_processor.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(self) enum PkCellValue {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ModifyDataColumn` is more private than the item `ModifyData::get_modify_column`
[INFO] [stdout]   --> src/data_processor/modifier.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn get_modify_column(&self, column: &str) -> Result<&ModifyDataColumn, String> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyData::get_modify_column` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ModifyDataColumn` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_processor/modifier.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct ModifyDataColumn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkChainValues` is more private than the item `ModifyData::pk_chain_values`
[INFO] [stdout]   --> src/data_processor/modifier.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn pk_chain_values(&self) -> &PkChainValues {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyData::pk_chain_values` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `PkChainValues` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_processor/modifier.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) struct PkChainValues {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `ModifyDataColumn::try_get_cell_value`
[INFO] [stdout]    --> src/data_processor/modifier.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn try_get_cell_value(&self, pk_value: &PkCellValue) -> Option<CellValue> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyDataColumn::try_get_cell_value` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValue` is more private than the item `ModifyDataColumn::try_get_cell_value`
[INFO] [stdout]    --> src/data_processor/modifier.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn try_get_cell_value(&self, pk_value: &PkCellValue) -> Option<CellValue> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyDataColumn::try_get_cell_value` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub(self) enum CellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `PkChainValues::values`
[INFO] [stdout]    --> src/data_processor/modifier.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn values(&self) -> Vec<PkChain> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `PkChainValues::values` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValueType` is more private than the item `FromSourceColumnAdder::new`
[INFO] [stdout]   --> src/data_processor/modifier/from_source_column_adder.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | /     pub fn new(
[INFO] [stdout] 35 | |         source_name: &str,
[INFO] [stdout] 36 | |         source_column_name: &str,
[INFO] [stdout] 37 | |         script_column_name: &str,
[INFO] [stdout] 38 | |         value_type: CellValueType,
[INFO] [stdout] 39 | |     ) -> FromSourceColumnAdder {
[INFO] [stdout]    | |______________________________^ associated function `FromSourceColumnAdder::new` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `CellValueType` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_processor.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(super) enum CellValueType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Date`, `Datetime`, and `TimeDuration` are never constructed
[INFO] [stdout]   --> src/data_processor.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(self) enum CellValue {
[INFO] [stdout]    |                --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Date(DateTime<Utc>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     Datetime(DateTime<Utc>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     TimeDuration(Duration),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CellValue` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pk_column` is never read
[INFO] [stdout]   --> src/data_processor/formater.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct FormatData {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 23 |     rename_as: String,
[INFO] [stdout] 24 |     pk_column: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jk_column` is never read
[INFO] [stdout]   --> src/data_processor/formater.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(super) struct Jk2Source {
[INFO] [stdout]    |                   --------- field in this struct
[INFO] [stdout] 37 |     jk_column: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Jk2Source` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_duplicated_pk_value` is never used
[INFO] [stdout]   --> src/data_processor/formater.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl FormatData {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn find_duplicated_pk_value(&self) -> Option<Vec<PkCellValue>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value_type` is never read
[INFO] [stdout]   --> src/data_processor/modifier.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct ModifyDataColumn {
[INFO] [stdout]    |                   ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     value_type: CellValueType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModifyDataColumn` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling table-generator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/data_processor.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Display};
[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 imports: `Serialize` and `Serializer`
[INFO] [stdout]  --> src/data_processor.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Serialize, Serializer};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]  --> src/data_processor/formater.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/executor/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formater`
[INFO] [stdout]  --> src/executor/worker.rs:3:54
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::data_processor::formater::{AllFormatData, Formater};
[INFO] [stdout]   |                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/data_processor/formater/dict_dict_json.rs:45:47
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let dd = Value::try_from(dd).map_err(|x|"UnExcept error: convert to vec".to_string())?;
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/data_processor/generator.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             for mut row in &mut self.rows {
[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/data_processor/modifier/from_source_column_adder.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let mut from_join_pk_map: HashMap<PkCellValue, Vec<PkCellValue>> = HashMap::new();  // TODO
[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/data_processor/modifier/from_source_column_adder.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             for mut value in &mut self.values {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `FormatData::get_pk_jk_pair2value_mapping`
[INFO] [stdout]    --> src/data_processor/formater.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_pk_jk_pair2value_mapping(&self, column: &str) -> Option<HashMap<PkJkPair, CellValue>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pair2value_mapping` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValue` is more private than the item `FormatData::get_pk_jk_pair2value_mapping`
[INFO] [stdout]    --> src/data_processor/formater.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_pk_jk_pair2value_mapping(&self, column: &str) -> Option<HashMap<PkJkPair, CellValue>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pair2value_mapping` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub(self) enum CellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `FormatData::get_pk_jk_pairs`
[INFO] [stdout]    --> src/data_processor/formater.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn get_pk_jk_pairs(&self) -> Vec<PkJkPair> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pairs` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValueType` is more private than the item `FormatData::is_data_same_type_as_input`
[INFO] [stdout]    --> src/data_processor/formater.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn is_data_same_type_as_input(&self, column: &str, data_type: &CellValueType) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::is_data_same_type_as_input` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CellValueType` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/data_processor.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pub(super) enum CellValueType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Jk2Source` is more private than the item `FormatData::jk2source`
[INFO] [stdout]    --> src/data_processor/formater.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn jk2source(&self) -> Result<Jk2Source, String> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::jk2source` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Jk2Source` is only usable at visibility `pub(in crate::data_processor)`
[INFO] [stdout]    --> src/data_processor/formater.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | pub(super) struct Jk2Source {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FormatDataRow` is more private than the item `FormatData::rows`
[INFO] [stdout]    --> src/data_processor/formater.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn rows(&self) -> Vec<&FormatDataRow> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::rows` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FormatDataRow` is only usable at visibility `pub(in crate::data_processor)`
[INFO] [stdout]    --> src/data_processor/formater.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | pub(super) struct FormatDataRow {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `PkChain`
[INFO] [stdout]   --> src/data_processor/modifier.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) type PkChain = Vec<PkCellValue>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^ type alias `PkChain` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/data_processor.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(self) enum PkCellValue {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ModifyDataColumn` is more private than the item `ModifyData::get_modify_column`
[INFO] [stdout]   --> src/data_processor/modifier.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn get_modify_column(&self, column: &str) -> Result<&ModifyDataColumn, String> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyData::get_modify_column` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ModifyDataColumn` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_processor/modifier.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct ModifyDataColumn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkChainValues` is more private than the item `ModifyData::pk_chain_values`
[INFO] [stdout]   --> src/data_processor/modifier.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn pk_chain_values(&self) -> &PkChainValues {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyData::pk_chain_values` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `PkChainValues` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_processor/modifier.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) struct PkChainValues {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `ModifyDataColumn::try_get_cell_value`
[INFO] [stdout]    --> src/data_processor/modifier.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn try_get_cell_value(&self, pk_value: &PkCellValue) -> Option<CellValue> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyDataColumn::try_get_cell_value` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValue` is more private than the item `ModifyDataColumn::try_get_cell_value`
[INFO] [stdout]    --> src/data_processor/modifier.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn try_get_cell_value(&self, pk_value: &PkCellValue) -> Option<CellValue> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyDataColumn::try_get_cell_value` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub(self) enum CellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PkCellValue` is more private than the item `PkChainValues::values`
[INFO] [stdout]    --> src/data_processor/modifier.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn values(&self) -> Vec<PkChain> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `PkChainValues::values` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/data_processor.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | pub(self) enum PkCellValue {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CellValueType` is more private than the item `FromSourceColumnAdder::new`
[INFO] [stdout]   --> src/data_processor/modifier/from_source_column_adder.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | /     pub fn new(
[INFO] [stdout] 35 | |         source_name: &str,
[INFO] [stdout] 36 | |         source_column_name: &str,
[INFO] [stdout] 37 | |         script_column_name: &str,
[INFO] [stdout] 38 | |         value_type: CellValueType,
[INFO] [stdout] 39 | |     ) -> FromSourceColumnAdder {
[INFO] [stdout]    | |______________________________^ associated function `FromSourceColumnAdder::new` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `CellValueType` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_processor.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(super) enum CellValueType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Date`, `Datetime`, and `TimeDuration` are never constructed
[INFO] [stdout]   --> src/data_processor.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(self) enum CellValue {
[INFO] [stdout]    |                --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Date(DateTime<Utc>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     Datetime(DateTime<Utc>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     TimeDuration(Duration),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CellValue` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pk_column` is never read
[INFO] [stdout]   --> src/data_processor/formater.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct FormatData {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 23 |     rename_as: String,
[INFO] [stdout] 24 |     pk_column: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jk_column` is never read
[INFO] [stdout]   --> src/data_processor/formater.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(super) struct Jk2Source {
[INFO] [stdout]    |                   --------- field in this struct
[INFO] [stdout] 37 |     jk_column: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Jk2Source` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_duplicated_pk_value` is never used
[INFO] [stdout]   --> src/data_processor/formater.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl FormatData {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn find_duplicated_pk_value(&self) -> Option<Vec<PkCellValue>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value_type` is never read
[INFO] [stdout]   --> src/data_processor/modifier.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) struct ModifyDataColumn {
[INFO] [stdout]    |                   ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     value_type: CellValueType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModifyDataColumn` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.66s
[INFO] running `Command { std: "docker" "inspect" "b9e90142ab2649f7d30dd4ae96ea6d60b69a1fc920904d6d54d14b2a02e1631d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9e90142ab2649f7d30dd4ae96ea6d60b69a1fc920904d6d54d14b2a02e1631d", kill_on_drop: false }`
[INFO] [stdout] b9e90142ab2649f7d30dd4ae96ea6d60b69a1fc920904d6d54d14b2a02e1631d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] fa340aec8e4ea691afe4e4481b869bb3b973de9df55ac3cbcc681f0bf46b4471
[INFO] running `Command { std: "docker" "start" "-a" "fa340aec8e4ea691afe4e4481b869bb3b973de9df55ac3cbcc681f0bf46b4471", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Display`
[INFO] [stderr]  --> src/data_processor.rs:1:23
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt::{Debug, Display};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Serialize` and `Serializer`
[INFO] [stderr]  --> src/data_processor.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::{Serialize, Serializer};
[INFO] [stderr]   |             ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Index`
[INFO] [stderr]  --> src/data_processor/formater.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::ops::Index;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::format`
[INFO] [stderr]  --> src/executor/builder.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fmt::format;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Formater`
[INFO] [stderr]  --> src/executor/worker.rs:3:54
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::data_processor::formater::{AllFormatData, Formater};
[INFO] [stderr]   |                                                      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/data_processor/formater/dict_dict_json.rs:45:47
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let dd = Value::try_from(dd).map_err(|x|"UnExcept error: convert to vec".to_string())?;
[INFO] [stderr]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/data_processor/generator.rs:68:17
[INFO] [stderr]    |
[INFO] [stderr] 68 |             for mut row in &mut self.rows {
[INFO] [stderr]    |                 ----^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data_processor/modifier/from_source_column_adder.rs:109:17
[INFO] [stderr]     |
[INFO] [stderr] 109 |             let mut from_join_pk_map: HashMap<PkCellValue, Vec<PkCellValue>> = HashMap::new();  // TODO
[INFO] [stderr]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/data_processor/modifier/from_source_column_adder.rs:139:17
[INFO] [stderr]     |
[INFO] [stderr] 139 |             for mut value in &mut self.values {
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: type `PkCellValue` is more private than the item `FormatData::get_pk_jk_pair2value_mapping`
[INFO] [stderr]    --> src/data_processor/formater.rs:147:5
[INFO] [stderr]     |
[INFO] [stderr] 147 |     pub fn get_pk_jk_pair2value_mapping(&self, column: &str) -> Option<HashMap<PkJkPair, CellValue>> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pair2value_mapping` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/data_processor.rs:24:1
[INFO] [stderr]     |
[INFO] [stderr]  24 | pub(self) enum PkCellValue {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `CellValue` is more private than the item `FormatData::get_pk_jk_pair2value_mapping`
[INFO] [stderr]    --> src/data_processor/formater.rs:147:5
[INFO] [stderr]     |
[INFO] [stderr] 147 |     pub fn get_pk_jk_pair2value_mapping(&self, column: &str) -> Option<HashMap<PkJkPair, CellValue>> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pair2value_mapping` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `CellValue` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/data_processor.rs:12:1
[INFO] [stderr]     |
[INFO] [stderr]  12 | pub(self) enum CellValue {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `PkCellValue` is more private than the item `FormatData::get_pk_jk_pairs`
[INFO] [stderr]    --> src/data_processor/formater.rs:157:5
[INFO] [stderr]     |
[INFO] [stderr] 157 |     pub fn get_pk_jk_pairs(&self) -> Vec<PkJkPair> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::get_pk_jk_pairs` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/data_processor.rs:24:1
[INFO] [stderr]     |
[INFO] [stderr]  24 | pub(self) enum PkCellValue {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `CellValueType` is more private than the item `FormatData::is_data_same_type_as_input`
[INFO] [stderr]    --> src/data_processor/formater.rs:167:5
[INFO] [stderr]     |
[INFO] [stderr] 167 |     pub fn is_data_same_type_as_input(&self, column: &str, data_type: &CellValueType) -> bool {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::is_data_same_type_as_input` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `CellValueType` is only usable at visibility `pub(crate)`
[INFO] [stderr]    --> src/data_processor.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr]  31 | pub(super) enum CellValueType {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `Jk2Source` is more private than the item `FormatData::jk2source`
[INFO] [stderr]    --> src/data_processor/formater.rs:185:5
[INFO] [stderr]     |
[INFO] [stderr] 185 |     pub fn jk2source(&self) -> Result<Jk2Source, String> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::jk2source` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `Jk2Source` is only usable at visibility `pub(in crate::data_processor)`
[INFO] [stderr]    --> src/data_processor/formater.rs:36:1
[INFO] [stderr]     |
[INFO] [stderr]  36 | pub(super) struct Jk2Source {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `FormatDataRow` is more private than the item `FormatData::rows`
[INFO] [stderr]    --> src/data_processor/formater.rs:194:5
[INFO] [stderr]     |
[INFO] [stderr] 194 |     pub fn rows(&self) -> Vec<&FormatDataRow> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormatData::rows` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `FormatDataRow` is only usable at visibility `pub(in crate::data_processor)`
[INFO] [stderr]    --> src/data_processor/formater.rs:29:1
[INFO] [stderr]     |
[INFO] [stderr]  29 | pub(super) struct FormatDataRow {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `PkCellValue` is more private than the item `PkChain`
[INFO] [stderr]   --> src/data_processor/modifier.rs:35:1
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub(crate) type PkChain = Vec<PkCellValue>;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^ type alias `PkChain` is reachable at visibility `pub(crate)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/data_processor.rs:24:1
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub(self) enum PkCellValue {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `ModifyDataColumn` is more private than the item `ModifyData::get_modify_column`
[INFO] [stderr]   --> src/data_processor/modifier.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub fn get_modify_column(&self, column: &str) -> Result<&ModifyDataColumn, String> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyData::get_modify_column` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `ModifyDataColumn` is only usable at visibility `pub(crate)`
[INFO] [stderr]   --> src/data_processor/modifier.rs:28:1
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub(crate) struct ModifyDataColumn {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `PkChainValues` is more private than the item `ModifyData::pk_chain_values`
[INFO] [stderr]   --> src/data_processor/modifier.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 74 |     pub fn pk_chain_values(&self) -> &PkChainValues {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyData::pk_chain_values` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `PkChainValues` is only usable at visibility `pub(crate)`
[INFO] [stderr]   --> src/data_processor/modifier.rs:38:1
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub(crate) struct PkChainValues {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `PkCellValue` is more private than the item `ModifyDataColumn::try_get_cell_value`
[INFO] [stderr]    --> src/data_processor/modifier.rs:144:5
[INFO] [stderr]     |
[INFO] [stderr] 144 |     pub fn try_get_cell_value(&self, pk_value: &PkCellValue) -> Option<CellValue> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyDataColumn::try_get_cell_value` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/data_processor.rs:24:1
[INFO] [stderr]     |
[INFO] [stderr]  24 | pub(self) enum PkCellValue {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `CellValue` is more private than the item `ModifyDataColumn::try_get_cell_value`
[INFO] [stderr]    --> src/data_processor/modifier.rs:144:5
[INFO] [stderr]     |
[INFO] [stderr] 144 |     pub fn try_get_cell_value(&self, pk_value: &PkCellValue) -> Option<CellValue> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ModifyDataColumn::try_get_cell_value` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `CellValue` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/data_processor.rs:12:1
[INFO] [stderr]     |
[INFO] [stderr]  12 | pub(self) enum CellValue {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `PkCellValue` is more private than the item `PkChainValues::values`
[INFO] [stderr]    --> src/data_processor/modifier.rs:161:5
[INFO] [stderr]     |
[INFO] [stderr] 161 |     pub fn values(&self) -> Vec<PkChain> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `PkChainValues::values` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `PkCellValue` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/data_processor.rs:24:1
[INFO] [stderr]     |
[INFO] [stderr]  24 | pub(self) enum PkCellValue {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `CellValueType` is more private than the item `FromSourceColumnAdder::new`
[INFO] [stderr]   --> src/data_processor/modifier/from_source_column_adder.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | /     pub fn new(
[INFO] [stderr] 35 | |         source_name: &str,
[INFO] [stderr] 36 | |         source_column_name: &str,
[INFO] [stderr] 37 | |         script_column_name: &str,
[INFO] [stderr] 38 | |         value_type: CellValueType,
[INFO] [stderr] 39 | |     ) -> FromSourceColumnAdder {
[INFO] [stderr]    | |______________________________^ associated function `FromSourceColumnAdder::new` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `CellValueType` is only usable at visibility `pub(crate)`
[INFO] [stderr]   --> src/data_processor.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub(super) enum CellValueType {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Date`, `Datetime`, and `TimeDuration` are never constructed
[INFO] [stderr]   --> src/data_processor.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub(self) enum CellValue {
[INFO] [stderr]    |                --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 18 |     Date(DateTime<Utc>),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 19 |     Datetime(DateTime<Utc>),
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 20 |     TimeDuration(Duration),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CellValue` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `pk_column` is never read
[INFO] [stderr]   --> src/data_processor/formater.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct FormatData {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] 23 |     rename_as: String,
[INFO] [stderr] 24 |     pk_column: String,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `jk_column` is never read
[INFO] [stderr]   --> src/data_processor/formater.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub(super) struct Jk2Source {
[INFO] [stderr]    |                   --------- field in this struct
[INFO] [stderr] 37 |     jk_column: String,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Jk2Source` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `find_duplicated_pk_value` is never used
[INFO] [stderr]   --> src/data_processor/formater.rs:88:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | impl FormatData {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 88 |     fn find_duplicated_pk_value(&self) -> Option<Vec<PkCellValue>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `value_type` is never read
[INFO] [stderr]   --> src/data_processor/modifier.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub(crate) struct ModifyDataColumn {
[INFO] [stderr]    |                   ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 32 |     value_type: CellValueType,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ModifyDataColumn` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `table-generator` (lib) generated 27 warnings (run `cargo fix --lib -p table-generator` to apply 8 suggestions)
[INFO] [stderr] warning: `table-generator` (lib test) generated 27 warnings (27 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/table_generator-a37981cb506a1403)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/table_generator-2263974ab9a73fc5)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests table_generator
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "fa340aec8e4ea691afe4e4481b869bb3b973de9df55ac3cbcc681f0bf46b4471", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa340aec8e4ea691afe4e4481b869bb3b973de9df55ac3cbcc681f0bf46b4471", kill_on_drop: false }`
[INFO] [stdout] fa340aec8e4ea691afe4e4481b869bb3b973de9df55ac3cbcc681f0bf46b4471
