[INFO] cloning repository https://github.com/WWWWMMM/first_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/WWWWMMM/first_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWWWWMMM%2Ffirst_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWWWWMMM%2Ffirst_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9e2c493b1a69950f562a1e9c4c3369b5105bb9b4
[INFO] testing WWWWMMM/first_rust against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWWWWMMM%2Ffirst_rust" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/WWWWMMM/first_rust
[INFO] finished tweaking git repo https://github.com/WWWWMMM/first_rust
[INFO] tweaked toml for git repo https://github.com/WWWWMMM/first_rust written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/WWWWMMM/first_rust on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/WWWWMMM/first_rust 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e62dcecc4ba81c62093fe0fd521d4e4310c28a0b1390bede887e1173f9a719d7
[INFO] running `Command { std: "docker" "start" "-a" "e62dcecc4ba81c62093fe0fd521d4e4310c28a0b1390bede887e1173f9a719d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e62dcecc4ba81c62093fe0fd521d4e4310c28a0b1390bede887e1173f9a719d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e62dcecc4ba81c62093fe0fd521d4e4310c28a0b1390bede887e1173f9a719d7", kill_on_drop: false }`
[INFO] [stdout] e62dcecc4ba81c62093fe0fd521d4e4310c28a0b1390bede887e1173f9a719d7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4e5ee50b47aced58a07d3305d3882c31d2d8c0788c124cf1e8c8b4f98022c338
[INFO] running `Command { std: "docker" "start" "-a" "4e5ee50b47aced58a07d3305d3882c31d2d8c0788c124cf1e8c8b4f98022c338", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling futures-core v0.3.29
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling ahash v0.8.6
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling anyhow v1.0.76
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling arrow-schema v49.0.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.58
[INFO] [stderr]    Compiling futures-task v0.3.29
[INFO] [stderr]    Compiling zerocopy v0.7.32
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling futures-util v0.3.29
[INFO] [stderr]    Compiling lexical-util v0.8.5
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]    Compiling http v0.2.11
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling futures-sink v0.3.29
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling linux-raw-sys v0.4.12
[INFO] [stderr]    Compiling getrandom v0.2.11
[INFO] [stderr]    Compiling mio v0.8.10
[INFO] [stderr]    Compiling syn v2.0.41
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling socket2 v0.5.5
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling prettyplease v0.2.15
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.17
[INFO] [stderr]    Compiling num-complex v0.4.4
[INFO] [stderr]    Compiling half v2.3.1
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling futures-channel v0.3.29
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling lexical-write-integer v0.8.5
[INFO] [stderr]    Compiling lexical-parse-integer v0.8.6
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling fastrand v2.0.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling async-trait v0.1.75
[INFO] [stderr]    Compiling petgraph v0.6.4
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling lexical-write-float v0.8.5
[INFO] [stderr]    Compiling lexical-parse-float v0.8.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling tower-layer v0.3.2
[INFO] [stderr]    Compiling base64 v0.21.5
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling lexical-core v0.8.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.16
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling tempfile v3.8.1
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling csv-core v0.1.11
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling ryu v1.0.16
[INFO] [stderr]    Compiling crossbeam-deque v0.8.4
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling virtue v0.0.13
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling bincode_derive v2.0.0-rc.3
[INFO] [stderr]    Compiling flate2 v1.0.28
[INFO] [stderr]    Compiling num v0.4.1
[INFO] [stderr]    Compiling arrow-buffer v49.0.0
[INFO] [stderr]    Compiling rayon v1.8.0
[INFO] [stderr]    Compiling bincode v2.0.0-rc.3
[INFO] [stderr]    Compiling arrow-data v49.0.0
[INFO] [stderr]    Compiling arrow-array v49.0.0
[INFO] [stderr]    Compiling csv v1.3.0
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling prost-derive v0.12.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]    Compiling delegate v0.12.0
[INFO] [stderr]    Compiling arrow-select v49.0.0
[INFO] [stderr]    Compiling arrow-arith v49.0.0
[INFO] [stderr]    Compiling arrow-row v49.0.0
[INFO] [stderr]    Compiling async-stream v0.3.5
[INFO] [stderr]    Compiling tokio v1.35.1
[INFO] [stderr]    Compiling prost v0.12.3
[INFO] [stderr]    Compiling pin-project v1.1.3
[INFO] [stderr]    Compiling prost-types v0.12.3
[INFO] [stderr]    Compiling arrow-cast v49.0.0
[INFO] [stderr]    Compiling arrow-string v49.0.0
[INFO] [stderr]    Compiling arrow-ord v49.0.0
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling prost-build v0.12.3
[INFO] [stderr]    Compiling arrow-csv v49.0.0
[INFO] [stderr]    Compiling tonic-build v0.10.2
[INFO] [stderr]    Compiling arrow v49.0.0
[INFO] [stderr]    Compiling first_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tokio-util v0.7.10
[INFO] [stderr]    Compiling tokio-io-timeout v1.2.0
[INFO] [stderr]    Compiling tokio-stream v0.1.14
[INFO] [stderr]    Compiling h2 v0.3.22
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling hyper v0.14.28
[INFO] [stderr]    Compiling hyper-timeout v0.4.1
[INFO] [stderr]    Compiling tonic v0.10.2
[INFO] [stdout] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stdout]  --> src/common/base_structure/edge.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use arrow::array::ArrayRef;
[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: `DataType`, `Field`, and `Schema`
[INFO] [stdout]  --> src/common/base_structure/edge.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use arrow_schema::{Schema, Field, DataType};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use arrow::array::ArrayRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::data::Data`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::data::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decode` and `Encode`
[INFO] [stdout]  --> src/common/util/serilaze.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bincode::{config, Decode, Encode};
[INFO] [stdout]   |                       ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/io.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::read::GzDecoder`
[INFO] [stdout]  --> src/io.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use flate2::read::GzDecoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `fmt::format`, `str::FromStr`, and `time::Instant`
[INFO] [stdout]  --> src/io/csv.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::format, sync::Arc, str::FromStr, time::Instant, fs::File, io::{BufReader, BufRead}};
[INFO] [stdout]   |           ^^^^^^^^^^^             ^^^^^^^^^^^^  ^^^^^^^^^^^^^                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayRef`, `ArrowPrimitiveType`, `Int32Array`, `Int32Type`, and `PrimitiveArray`
[INFO] [stdout]  --> src/io/csv.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPrimitiveType}};
[INFO] [stdout]   |                     ^^^^^^^^^^         ^^^^^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::ParallelExtend`
[INFO] [stdout]  --> src/io/csv.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::iter::ParallelExtend;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data::*`
[INFO] [stdout]  --> src/io.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use data::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::runtime::Runtime`
[INFO] [stdout]   --> src/parallel/server.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::runtime::Runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParallelDrainFull`
[INFO] [stdout]  --> src/graph.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rayon::iter::{IntoParallelRefIterator, ParallelIterator, ParallelDrainFull, IntoParallelIterator, IndexedParallelIterator, ParallelEx...
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/graph.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntoParallelRefIterator` and `IntoParallelRefMutIterator`
[INFO] [stdout]  --> src/algo.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vid`
[INFO] [stdout]  --> src/algo.rs:5:86
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{graph::{Graph, SeqPartition, NearGraph}, common::{base_structure::{Edge, Vid}, util::SharedPtr}, parallel::server::MyMpi};
[INFO] [stdout]   |                                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/io/csv.rs:3:62
[INFO] [stdout]   |
[INFO] [stdout] 3 | use arrow::{csv::ReaderBuilder, array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPr...
[INFO] [stdout]   |                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexedParallelIterator`
[INFO] [stdout]  --> src/algo.rs:3:112
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stdout]   |                                                                                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constrain`
[INFO] [stdout]    --> src/common/base_structure/data.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constrain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/common/base_structure/data.rs:162:38
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/common/base_structure/data.rs:164:29
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let closure = move |x: &DataUnit| -> bool {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:254:15
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:258:15
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:274:17
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/io/csv.rs:96:34
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `option`
[INFO] [stdout]   --> src/io/csv.rs:96:49
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stdout]    |                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/io/example.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn from(arrow_data : Vec<ArrayRef>, _len : usize) -> Vec<Self>
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BYTE_SEND_PER_MSG`
[INFO] [stdout]    |
[INFO] [stdout] 17 -     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout] 17 +     fn from(arrow_data : Vec<ArrayRef>, common::constance::MAX_BYTE_SEND_PER_MSG : usize) -> Vec<Self>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrow_data`
[INFO] [stdout]   --> src/io/example.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrow_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parallel/server.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut all_length = msgs.iter().map(|x| x.len()).fold(0u64, |a, b| a + b as u64);
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t0`
[INFO] [stdout]    --> src/parallel/server.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let t0 = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]    --> src/parallel/server.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let t1 = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/graph.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     data.par_iter().for_each(|item| {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `degrees`
[INFO] [stdout]    --> src/graph.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn new(degrees : Vec<Vid>, graph_info : &GraphInfo, cluster_info : &ClusterInfo) -> Self {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_degrees`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/graph.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 |mut vec1, vec2| {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertexs`
[INFO] [stdout]   --> src/algo.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let _vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BYTE_SEND_PER_MSG`
[INFO] [stdout]    |
[INFO] [stdout] 14 -     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout] 14 +     let common::constance::MAX_BYTE_SEND_PER_MSG = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Empty` is never constructed
[INFO] [stdout]  --> src/common/base_structure/data.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Empty;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/common/base_structure/data.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Data {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 8 |     data : Vec<DataUnit>
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_type`, `from`, and `create_judge` are never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl DataUnit {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] 135 |     /// 获得字符串所表达的类型，返回值用于 `from` 和 `create_judge` 函数的第二个参数。
[INFO] [stdout] 136 |     fn get_type(data_type : &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn from(data : &str, data_type : &Self) -> Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_to` is never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn convert_to<T>(data: DataUnit) -> T
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OperationBuilder` is never constructed
[INFO] [stdout]    --> src/common/base_structure/data.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | struct OperationBuilder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl OperationBuilder {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] 250 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `data` are never read
[INFO] [stdout]   --> src/common/base_structure/vertex.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Vertexus {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 10 |     id : Vid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 11 |     data : String
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `data` are never read
[INFO] [stdout]   --> src/common/base_structure/vertex.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Vertex<T> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 15 |     id : Vid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 16 |     data : T
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from`, `to`, and `data` are never read
[INFO] [stdout]  --> src/io/data.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Edgesss {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 4 |     from : String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     to : String,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 6 |     data : String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from`, `to`, and `data` are never read
[INFO] [stdout]   --> src/io/data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Edgeuss {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     from : Vid,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     to : String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 12 |     data : String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_vec` is never used
[INFO] [stdout]   --> src/graph.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn process_vec<T: Send + Sync>(data: &Vec<T>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HashPartition` is never constructed
[INFO] [stdout]   --> src/graph.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct HashPartition {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hash` is never used
[INFO] [stdout]   --> src/graph.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl HashPartition {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 74 |     fn hash(&self, vid : &Vid) -> u64{
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/graph.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct NearEdge<EDATA> {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 198 |     pub to : Vid,
[INFO] [stdout] 199 |     data : EDATA,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NearEdge` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `iter::IntoParallelRefIterator` and `slice::ParallelSliceMut`
[INFO] [stdout]  --> src/b.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rayon::{iter::IntoParallelRefIterator, slice::ParallelSliceMut};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/b.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut pr = pool.install(||pagerank(graph, &communicatoner));
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decode` and `Encode`
[INFO] [stdout]  --> src/main.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bincode::{Encode, Decode};
[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: `common::base_structure::Edge`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use common::base_structure::Edge;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexedParallelIterator`, `IntoParallelIterator`, `IntoParallelRefIterator`, `ParallelExtend`, and `ParallelIterator`
[INFO] [stdout]  --> src/main.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator, ParallelExtend};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileRead`, `ReadOption`, and `example::MyEDATA`
[INFO] [stdout]  --> src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::io::{FileRead, ReadOption, example::MyEDATA};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::Debug` and `sync::Arc`
[INFO] [stdout]  --> src/main.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{fmt::Debug, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stdout]  --> src/common/base_structure/edge.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use arrow::array::ArrayRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataType`, `Field`, and `Schema`
[INFO] [stdout]  --> src/common/base_structure/edge.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use arrow_schema::{Schema, Field, DataType};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use arrow::array::ArrayRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::data::Data`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::data::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decode` and `Encode`
[INFO] [stdout]  --> src/common/util/serilaze.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bincode::{config, Decode, Encode};
[INFO] [stdout]   |                       ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/io.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::read::GzDecoder`
[INFO] [stdout]  --> src/io.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use flate2::read::GzDecoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `fmt::format`, `str::FromStr`, and `time::Instant`
[INFO] [stdout]  --> src/io/csv.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::format, sync::Arc, str::FromStr, time::Instant, fs::File, io::{BufReader, BufRead}};
[INFO] [stdout]   |           ^^^^^^^^^^^             ^^^^^^^^^^^^  ^^^^^^^^^^^^^                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayRef`, `ArrowPrimitiveType`, `Int32Array`, `Int32Type`, and `PrimitiveArray`
[INFO] [stdout]  --> src/io/csv.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPrimitiveType}};
[INFO] [stdout]   |                     ^^^^^^^^^^         ^^^^^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::ParallelExtend`
[INFO] [stdout]  --> src/io/csv.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::iter::ParallelExtend;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data::*`
[INFO] [stdout]  --> src/io.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use data::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::runtime::Runtime`
[INFO] [stdout]   --> src/parallel/server.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::runtime::Runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParallelDrainFull`
[INFO] [stdout]  --> src/graph.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rayon::iter::{IntoParallelRefIterator, ParallelIterator, ParallelDrainFull, IntoParallelIterator, IndexedParallelIterator, ParallelEx...
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/graph.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntoParallelRefIterator` and `IntoParallelRefMutIterator`
[INFO] [stdout]  --> src/algo.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vid`
[INFO] [stdout]  --> src/algo.rs:5:86
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{graph::{Graph, SeqPartition, NearGraph}, common::{base_structure::{Edge, Vid}, util::SharedPtr}, parallel::server::MyMpi};
[INFO] [stdout]   |                                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `iter::IntoParallelRefIterator` and `slice::ParallelSliceMut`
[INFO] [stdout]  --> src/b.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rayon::{iter::IntoParallelRefIterator, slice::ParallelSliceMut};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/io/csv.rs:3:62
[INFO] [stdout]   |
[INFO] [stdout] 3 | use arrow::{csv::ReaderBuilder, array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPr...
[INFO] [stdout]   |                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexedParallelIterator`
[INFO] [stdout]  --> src/algo.rs:3:112
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stdout]   |                                                                                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constrain`
[INFO] [stdout]    --> src/common/base_structure/data.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constrain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/common/base_structure/data.rs:162:38
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/common/base_structure/data.rs:164:29
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let closure = move |x: &DataUnit| -> bool {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:254:15
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:258:15
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:274:17
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/io/csv.rs:96:34
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `option`
[INFO] [stdout]   --> src/io/csv.rs:96:49
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stdout]    |                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/io/example.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn from(arrow_data : Vec<ArrayRef>, _len : usize) -> Vec<Self>
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BYTE_SEND_PER_MSG`
[INFO] [stdout]    |
[INFO] [stdout] 17 -     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout] 17 +     fn from(arrow_data : Vec<ArrayRef>, common::constance::MAX_BYTE_SEND_PER_MSG : usize) -> Vec<Self>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrow_data`
[INFO] [stdout]   --> src/io/example.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrow_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parallel/server.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut all_length = msgs.iter().map(|x| x.len()).fold(0u64, |a, b| a + b as u64);
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t0`
[INFO] [stdout]    --> src/parallel/server.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let t0 = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]    --> src/parallel/server.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let t1 = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/graph.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     data.par_iter().for_each(|item| {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `degrees`
[INFO] [stdout]    --> src/graph.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn new(degrees : Vec<Vid>, graph_info : &GraphInfo, cluster_info : &ClusterInfo) -> Self {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_degrees`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/graph.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 |mut vec1, vec2| {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertexs`
[INFO] [stdout]   --> src/algo.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let _vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BYTE_SEND_PER_MSG`
[INFO] [stdout]    |
[INFO] [stdout] 14 -     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout] 14 +     let common::constance::MAX_BYTE_SEND_PER_MSG = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/b.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut pr = pool.install(||pagerank(graph, &communicatoner));
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Empty` is never constructed
[INFO] [stdout]  --> src/common/base_structure/data.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Empty;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/common/base_structure/data.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Data {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 8 |     data : Vec<DataUnit>
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_type`, `from`, and `create_judge` are never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl DataUnit {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] 135 |     /// 获得字符串所表达的类型，返回值用于 `from` 和 `create_judge` 函数的第二个参数。
[INFO] [stdout] 136 |     fn get_type(data_type : &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn from(data : &str, data_type : &Self) -> Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_to` is never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn convert_to<T>(data: DataUnit) -> T
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OperationBuilder` is never constructed
[INFO] [stdout]    --> src/common/base_structure/data.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | struct OperationBuilder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl OperationBuilder {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] 250 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `data` are never read
[INFO] [stdout]   --> src/common/base_structure/vertex.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Vertexus {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 10 |     id : Vid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 11 |     data : String
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `data` are never read
[INFO] [stdout]   --> src/common/base_structure/vertex.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Vertex<T> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 15 |     id : Vid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 16 |     data : T
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from`, `to`, and `data` are never read
[INFO] [stdout]  --> src/io/data.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Edgesss {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 4 |     from : String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     to : String,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 6 |     data : String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from`, `to`, and `data` are never read
[INFO] [stdout]   --> src/io/data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Edgeuss {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     from : Vid,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     to : String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 12 |     data : String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_vec` is never used
[INFO] [stdout]   --> src/graph.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn process_vec<T: Send + Sync>(data: &Vec<T>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HashPartition` is never constructed
[INFO] [stdout]   --> src/graph.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct HashPartition {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hash` is never used
[INFO] [stdout]   --> src/graph.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl HashPartition {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 74 |     fn hash(&self, vid : &Vid) -> u64{
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/graph.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct NearEdge<EDATA> {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 198 |     pub to : Vid,
[INFO] [stdout] 199 |     data : EDATA,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NearEdge` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/a.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/b.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn main() {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 06s
[INFO] running `Command { std: "docker" "inspect" "4e5ee50b47aced58a07d3305d3882c31d2d8c0788c124cf1e8c8b4f98022c338", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e5ee50b47aced58a07d3305d3882c31d2d8c0788c124cf1e8c8b4f98022c338", kill_on_drop: false }`
[INFO] [stdout] 4e5ee50b47aced58a07d3305d3882c31d2d8c0788c124cf1e8c8b4f98022c338
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 658931e57bfcf74e4a3cdc2f36d53ab3f07e08f6c6ec9317559986cda6306d6b
[INFO] running `Command { std: "docker" "start" "-a" "658931e57bfcf74e4a3cdc2f36d53ab3f07e08f6c6ec9317559986cda6306d6b", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stdout]  --> src/common/base_structure/edge.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use arrow::array::ArrayRef;
[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: `DataType`, `Field`, and `Schema`
[INFO] [stdout]  --> src/common/base_structure/edge.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use arrow_schema::{Schema, Field, DataType};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use arrow::array::ArrayRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::data::Data`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::data::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decode` and `Encode`
[INFO] [stdout]  --> src/common/util/serilaze.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bincode::{config, Decode, Encode};
[INFO] [stdout]   |                       ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/io.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::read::GzDecoder`
[INFO] [stdout]  --> src/io.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use flate2::read::GzDecoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `fmt::format`, `str::FromStr`, and `time::Instant`
[INFO] [stdout]  --> src/io/csv.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::format, sync::Arc, str::FromStr, time::Instant, fs::File, io::{BufReader, BufRead}};
[INFO] [stdout]   |           ^^^^^^^^^^^             ^^^^^^^^^^^^  ^^^^^^^^^^^^^                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayRef`, `ArrowPrimitiveType`, `Int32Array`, `Int32Type`, and `PrimitiveArray`
[INFO] [stdout]  --> src/io/csv.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPrimitiveType}};
[INFO] [stdout]   |                     ^^^^^^^^^^         ^^^^^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::ParallelExtend`
[INFO] [stdout]  --> src/io/csv.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::iter::ParallelExtend;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data::*`
[INFO] [stdout]  --> src/io.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use data::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::runtime::Runtime`
[INFO] [stdout]   --> src/parallel/server.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::runtime::Runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParallelDrainFull`
[INFO] [stdout]  --> src/graph.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rayon::iter::{IntoParallelRefIterator, ParallelIterator, ParallelDrainFull, IntoParallelIterator, IndexedParallelIterator, ParallelEx...
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/graph.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntoParallelRefIterator` and `IntoParallelRefMutIterator`
[INFO] [stdout]  --> src/algo.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vid`
[INFO] [stdout]  --> src/algo.rs:5:86
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{graph::{Graph, SeqPartition, NearGraph}, common::{base_structure::{Edge, Vid}, util::SharedPtr}, parallel::server::MyMpi};
[INFO] [stdout]   |                                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/io/csv.rs:3:62
[INFO] [stdout]   |
[INFO] [stdout] 3 | use arrow::{csv::ReaderBuilder, array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPr...
[INFO] [stdout]   |                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexedParallelIterator`
[INFO] [stdout]  --> src/algo.rs:3:112
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stdout]   |                                                                                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constrain`
[INFO] [stdout]    --> src/common/base_structure/data.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constrain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/common/base_structure/data.rs:162:38
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/common/base_structure/data.rs:164:29
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let closure = move |x: &DataUnit| -> bool {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:254:15
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:258:15
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:274:17
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/io/csv.rs:96:34
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `option`
[INFO] [stdout]   --> src/io/csv.rs:96:49
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stdout]    |                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/io/example.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn from(arrow_data : Vec<ArrayRef>, _len : usize) -> Vec<Self>
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BYTE_SEND_PER_MSG`
[INFO] [stdout]    |
[INFO] [stdout] 17 -     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout] 17 +     fn from(arrow_data : Vec<ArrayRef>, common::constance::MAX_BYTE_SEND_PER_MSG : usize) -> Vec<Self>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrow_data`
[INFO] [stdout]   --> src/io/example.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrow_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parallel/server.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut all_length = msgs.iter().map(|x| x.len()).fold(0u64, |a, b| a + b as u64);
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t0`
[INFO] [stdout]    --> src/parallel/server.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let t0 = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]    --> src/parallel/server.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let t1 = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/graph.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     data.par_iter().for_each(|item| {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `degrees`
[INFO] [stdout]    --> src/graph.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn new(degrees : Vec<Vid>, graph_info : &GraphInfo, cluster_info : &ClusterInfo) -> Self {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_degrees`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/graph.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 |mut vec1, vec2| {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertexs`
[INFO] [stdout]   --> src/algo.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let _vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BYTE_SEND_PER_MSG`
[INFO] [stdout]    |
[INFO] [stdout] 14 -     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout] 14 +     let common::constance::MAX_BYTE_SEND_PER_MSG = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Empty` is never constructed
[INFO] [stdout]  --> src/common/base_structure/data.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Empty;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/common/base_structure/data.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Data {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 8 |     data : Vec<DataUnit>
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling first_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated functions `get_type`, `from`, and `create_judge` are never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl DataUnit {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] 135 |     /// 获得字符串所表达的类型，返回值用于 `from` 和 `create_judge` 函数的第二个参数。
[INFO] [stdout] 136 |     fn get_type(data_type : &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn from(data : &str, data_type : &Self) -> Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_to` is never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn convert_to<T>(data: DataUnit) -> T
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OperationBuilder` is never constructed
[INFO] [stdout]    --> src/common/base_structure/data.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | struct OperationBuilder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl OperationBuilder {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] 250 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `data` are never read
[INFO] [stdout]   --> src/common/base_structure/vertex.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Vertexus {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 10 |     id : Vid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 11 |     data : String
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `data` are never read
[INFO] [stdout]   --> src/common/base_structure/vertex.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Vertex<T> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 15 |     id : Vid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 16 |     data : T
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from`, `to`, and `data` are never read
[INFO] [stdout]  --> src/io/data.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Edgesss {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 4 |     from : String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     to : String,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 6 |     data : String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from`, `to`, and `data` are never read
[INFO] [stdout]   --> src/io/data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Edgeuss {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     from : Vid,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     to : String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 12 |     data : String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_vec` is never used
[INFO] [stdout]   --> src/graph.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn process_vec<T: Send + Sync>(data: &Vec<T>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HashPartition` is never constructed
[INFO] [stdout]   --> src/graph.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct HashPartition {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hash` is never used
[INFO] [stdout]   --> src/graph.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl HashPartition {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 74 |     fn hash(&self, vid : &Vid) -> u64{
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/graph.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct NearEdge<EDATA> {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 198 |     pub to : Vid,
[INFO] [stdout] 199 |     data : EDATA,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NearEdge` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stdout]  --> src/common/base_structure/edge.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use arrow::array::ArrayRef;
[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: `DataType`, `Field`, and `Schema`
[INFO] [stdout]  --> src/common/base_structure/edge.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use arrow_schema::{Schema, Field, DataType};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use arrow::array::ArrayRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::data::Data`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::data::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/io.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::read::GzDecoder`
[INFO] [stdout]  --> src/io.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use flate2::read::GzDecoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `fmt::format`, `str::FromStr`, and `time::Instant`
[INFO] [stdout]  --> src/io/csv.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::format, sync::Arc, str::FromStr, time::Instant, fs::File, io::{BufReader, BufRead}};
[INFO] [stdout]   |           ^^^^^^^^^^^             ^^^^^^^^^^^^  ^^^^^^^^^^^^^                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayRef`, `ArrowPrimitiveType`, `Int32Array`, `Int32Type`, and `PrimitiveArray`
[INFO] [stdout]  --> src/io/csv.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPrimitiveType}};
[INFO] [stdout]   |                     ^^^^^^^^^^         ^^^^^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::ParallelExtend`
[INFO] [stdout]  --> src/io/csv.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::iter::ParallelExtend;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data::*`
[INFO] [stdout]  --> src/io.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use data::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::runtime::Runtime`
[INFO] [stdout]   --> src/parallel/server.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::runtime::Runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParallelDrainFull`
[INFO] [stdout]  --> src/graph.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rayon::iter::{IntoParallelRefIterator, ParallelIterator, ParallelDrainFull, IntoParallelIterator, IndexedParallelIterator, ParallelEx...
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/graph.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntoParallelRefIterator` and `IntoParallelRefMutIterator`
[INFO] [stdout]  --> src/algo.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vid`
[INFO] [stdout]  --> src/algo.rs:5:86
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{graph::{Graph, SeqPartition, NearGraph}, common::{base_structure::{Edge, Vid}, util::SharedPtr}, parallel::server::MyMpi};
[INFO] [stdout]   |                                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `iter::IntoParallelRefIterator` and `slice::ParallelSliceMut`
[INFO] [stdout]  --> src/b.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rayon::{iter::IntoParallelRefIterator, slice::ParallelSliceMut};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/b.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut pr = pool.install(||pagerank(graph, &communicatoner));
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexedParallelIterator`
[INFO] [stdout]  --> src/algo.rs:3:112
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stdout]   |                                                                                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/io/csv.rs:3:62
[INFO] [stdout]   |
[INFO] [stdout] 3 | use arrow::{csv::ReaderBuilder, array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPr...
[INFO] [stdout]   |                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constrain`
[INFO] [stdout]    --> src/common/base_structure/data.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constrain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/common/base_structure/data.rs:162:38
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/common/base_structure/data.rs:164:29
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let closure = move |x: &DataUnit| -> bool {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:254:15
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:258:15
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:274:17
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/io/csv.rs:96:34
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `option`
[INFO] [stdout]   --> src/io/csv.rs:96:49
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stdout]    |                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/io/example.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn from(arrow_data : Vec<ArrayRef>, _len : usize) -> Vec<Self>
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `LEN`
[INFO] [stdout]    |
[INFO] [stdout] 17 -     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout] 17 +     fn from(arrow_data : Vec<ArrayRef>, graph::tests::LEN : usize) -> Vec<Self>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrow_data`
[INFO] [stdout]   --> src/io/example.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrow_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `edges`
[INFO] [stdout]   --> src/io/example.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let edges = a.read_edge::<MyEmpty>("data/pagerank.csv".into(), read);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_edges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parallel/server.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut all_length = msgs.iter().map(|x| x.len()).fold(0u64, |a, b| a + b as u64);
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decode` and `Encode`
[INFO] [stdout]  --> src/main.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bincode::{Encode, Decode};
[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: `common::base_structure::Edge`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use common::base_structure::Edge;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexedParallelIterator`, `IntoParallelIterator`, `IntoParallelRefIterator`, `ParallelExtend`, and `ParallelIterator`
[INFO] [stdout]  --> src/main.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator, ParallelExtend};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileRead`, `ReadOption`, and `example::MyEDATA`
[INFO] [stdout]  --> src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::io::{FileRead, ReadOption, example::MyEDATA};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::Debug` and `sync::Arc`
[INFO] [stdout]  --> src/main.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{fmt::Debug, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stdout]  --> src/common/base_structure/edge.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use arrow::array::ArrayRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataType`, `Field`, and `Schema`
[INFO] [stdout]  --> src/common/base_structure/edge.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use arrow_schema::{Schema, Field, DataType};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use arrow::array::ArrayRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::data::Data`
[INFO] [stdout]  --> src/common/base_structure/vertex.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::data::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/io.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::read::GzDecoder`
[INFO] [stdout]  --> src/io.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use flate2::read::GzDecoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `fmt::format`, `str::FromStr`, and `time::Instant`
[INFO] [stdout]  --> src/io/csv.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::format, sync::Arc, str::FromStr, time::Instant, fs::File, io::{BufReader, BufRead}};
[INFO] [stdout]   |           ^^^^^^^^^^^             ^^^^^^^^^^^^  ^^^^^^^^^^^^^                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayRef`, `ArrowPrimitiveType`, `Int32Array`, `Int32Type`, and `PrimitiveArray`
[INFO] [stdout]  --> src/io/csv.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPrimitiveType}};
[INFO] [stdout]   |                     ^^^^^^^^^^         ^^^^^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::ParallelExtend`
[INFO] [stdout]  --> src/io/csv.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::iter::ParallelExtend;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data::*`
[INFO] [stdout]  --> src/io.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use data::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::runtime::Runtime`
[INFO] [stdout]   --> src/parallel/server.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::runtime::Runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParallelDrainFull`
[INFO] [stdout]  --> src/graph.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rayon::iter::{IntoParallelRefIterator, ParallelIterator, ParallelDrainFull, IntoParallelIterator, IndexedParallelIterator, ParallelEx...
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/graph.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntoParallelRefIterator` and `IntoParallelRefMutIterator`
[INFO] [stdout]  --> src/algo.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vid`
[INFO] [stdout]  --> src/algo.rs:5:86
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{graph::{Graph, SeqPartition, NearGraph}, common::{base_structure::{Edge, Vid}, util::SharedPtr}, parallel::server::MyMpi};
[INFO] [stdout]   |                                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `iter::IntoParallelRefIterator` and `slice::ParallelSliceMut`
[INFO] [stdout]  --> src/b.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rayon::{iter::IntoParallelRefIterator, slice::ParallelSliceMut};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t0`
[INFO] [stdout]    --> src/parallel/server.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let t0 = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]    --> src/parallel/server.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let t1 = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/graph.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     data.par_iter().for_each(|item| {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `degrees`
[INFO] [stdout]    --> src/graph.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn new(degrees : Vec<Vid>, graph_info : &GraphInfo, cluster_info : &ClusterInfo) -> Self {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_degrees`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/graph.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 |mut vec1, vec2| {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertexs`
[INFO] [stdout]   --> src/algo.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let _vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `LEN`
[INFO] [stdout]    |
[INFO] [stdout] 14 -     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout] 14 +     let graph::tests::LEN = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Empty` is never constructed
[INFO] [stdout]  --> src/common/base_structure/data.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Empty;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/common/base_structure/data.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Data {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 8 |     data : Vec<DataUnit>
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_type`, `from`, and `create_judge` are never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl DataUnit {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] 135 |     /// 获得字符串所表达的类型，返回值用于 `from` 和 `create_judge` 函数的第二个参数。
[INFO] [stdout] 136 |     fn get_type(data_type : &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn from(data : &str, data_type : &Self) -> Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OperationBuilder` is never constructed
[INFO] [stdout]    --> src/common/base_structure/data.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | struct OperationBuilder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl OperationBuilder {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] 250 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `data` are never read
[INFO] [stdout]   --> src/common/base_structure/vertex.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Vertexus {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 10 |     id : Vid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 11 |     data : String
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `data` are never read
[INFO] [stdout]   --> src/common/base_structure/vertex.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Vertex<T> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 15 |     id : Vid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 16 |     data : T
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from`, `to`, and `data` are never read
[INFO] [stdout]  --> src/io/data.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Edgesss {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 4 |     from : String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     to : String,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 6 |     data : String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from`, `to`, and `data` are never read
[INFO] [stdout]   --> src/io/data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Edgeuss {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     from : Vid,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     to : String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 12 |     data : String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_vec` is never used
[INFO] [stdout]   --> src/graph.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn process_vec<T: Send + Sync>(data: &Vec<T>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HashPartition` is never constructed
[INFO] [stdout]   --> src/graph.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct HashPartition {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hash` is never used
[INFO] [stdout]   --> src/graph.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl HashPartition {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 74 |     fn hash(&self, vid : &Vid) -> u64{
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/graph.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct NearEdge<EDATA> {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 198 |     pub to : Vid,
[INFO] [stdout] 199 |     data : EDATA,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NearEdge` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEN` is never used
[INFO] [stdout]    --> src/graph.rs:315:11
[INFO] [stdout]     |
[INFO] [stdout] 315 |     const LEN : usize = 1000000;
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestMsg` is never constructed
[INFO] [stdout]    --> src/graph.rs:318:12
[INFO] [stdout]     |
[INFO] [stdout] 318 |     struct TestMsg {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/io/csv.rs:3:62
[INFO] [stdout]   |
[INFO] [stdout] 3 | use arrow::{csv::ReaderBuilder, array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPr...
[INFO] [stdout]   |                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexedParallelIterator`
[INFO] [stdout]  --> src/algo.rs:3:112
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stdout]   |                                                                                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constrain`
[INFO] [stdout]    --> src/common/base_structure/data.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constrain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_type`
[INFO] [stdout]    --> src/common/base_structure/data.rs:162:38
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/common/base_structure/data.rs:164:29
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let closure = move |x: &DataUnit| -> bool {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:254:15
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:258:15
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str`
[INFO] [stdout]    --> src/common/base_structure/data.rs:274:17
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/io/csv.rs:96:34
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `option`
[INFO] [stdout]   --> src/io/csv.rs:96:49
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stdout]    |                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/io/example.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn from(arrow_data : Vec<ArrayRef>, _len : usize) -> Vec<Self>
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `LEN`
[INFO] [stdout]    |
[INFO] [stdout] 17 -     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout] 17 +     fn from(arrow_data : Vec<ArrayRef>, graph::tests::LEN : usize) -> Vec<Self>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrow_data`
[INFO] [stdout]   --> src/io/example.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrow_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `edges`
[INFO] [stdout]   --> src/io/example.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let edges = a.read_edge::<MyEmpty>("data/pagerank.csv".into(), read);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_edges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parallel/server.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut all_length = msgs.iter().map(|x| x.len()).fold(0u64, |a, b| a + b as u64);
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t0`
[INFO] [stdout]    --> src/parallel/server.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let t0 = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]    --> src/parallel/server.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let t1 = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/graph.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     data.par_iter().for_each(|item| {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `degrees`
[INFO] [stdout]    --> src/graph.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn new(degrees : Vec<Vid>, graph_info : &GraphInfo, cluster_info : &ClusterInfo) -> Self {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_degrees`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/graph.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 |mut vec1, vec2| {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertexs`
[INFO] [stdout]   --> src/algo.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let _vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `LEN`
[INFO] [stdout]    |
[INFO] [stdout] 14 -     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stdout] 14 +     let graph::tests::LEN = graph.graph_info.vertex_num as usize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/b.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut pr = pool.install(||pagerank(graph, &communicatoner));
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Empty` is never constructed
[INFO] [stdout]  --> src/common/base_structure/data.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Empty;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/common/base_structure/data.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Data {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 8 |     data : Vec<DataUnit>
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_type`, `from`, and `create_judge` are never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl DataUnit {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] 135 |     /// 获得字符串所表达的类型，返回值用于 `from` 和 `create_judge` 函数的第二个参数。
[INFO] [stdout] 136 |     fn get_type(data_type : &str) -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn from(data : &str, data_type : &Self) -> Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OperationBuilder` is never constructed
[INFO] [stdout]    --> src/common/base_structure/data.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | struct OperationBuilder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/common/base_structure/data.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl OperationBuilder {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] 250 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `data` are never read
[INFO] [stdout]   --> src/common/base_structure/vertex.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Vertexus {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 10 |     id : Vid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 11 |     data : String
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `data` are never read
[INFO] [stdout]   --> src/common/base_structure/vertex.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Vertex<T> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 15 |     id : Vid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 16 |     data : T
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from`, `to`, and `data` are never read
[INFO] [stdout]  --> src/io/data.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Edgesss {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 4 |     from : String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     to : String,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 6 |     data : String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from`, `to`, and `data` are never read
[INFO] [stdout]   --> src/io/data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Edgeuss {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     from : Vid,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     to : String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 12 |     data : String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_vec` is never used
[INFO] [stdout]   --> src/graph.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn process_vec<T: Send + Sync>(data: &Vec<T>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HashPartition` is never constructed
[INFO] [stdout]   --> src/graph.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct HashPartition {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hash` is never used
[INFO] [stdout]   --> src/graph.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl HashPartition {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 74 |     fn hash(&self, vid : &Vid) -> u64{
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/graph.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct NearEdge<EDATA> {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 198 |     pub to : Vid,
[INFO] [stdout] 199 |     data : EDATA,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NearEdge` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEN` is never used
[INFO] [stdout]    --> src/graph.rs:315:11
[INFO] [stdout]     |
[INFO] [stdout] 315 |     const LEN : usize = 1000000;
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestMsg` is never constructed
[INFO] [stdout]    --> src/graph.rs:318:12
[INFO] [stdout]     |
[INFO] [stdout] 318 |     struct TestMsg {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/a.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/b.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn main() {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.39s
[INFO] running `Command { std: "docker" "inspect" "658931e57bfcf74e4a3cdc2f36d53ab3f07e08f6c6ec9317559986cda6306d6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "658931e57bfcf74e4a3cdc2f36d53ab3f07e08f6c6ec9317559986cda6306d6b", kill_on_drop: false }`
[INFO] [stdout] 658931e57bfcf74e4a3cdc2f36d53ab3f07e08f6c6ec9317559986cda6306d6b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9a2c202d1b35ee1aaaec44061d9aad73e2714c2e486e0fe4e1bd4fad6b094717
[INFO] running `Command { std: "docker" "start" "-a" "9a2c202d1b35ee1aaaec44061d9aad73e2714c2e486e0fe4e1bd4fad6b094717", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stderr]  --> src/common/base_structure/edge.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use arrow::array::ArrayRef;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DataType`, `Field`, and `Schema`
[INFO] [stderr]  --> src/common/base_structure/edge.rs:2:20
[INFO] [stderr]   |
[INFO] [stderr] 2 | use arrow_schema::{Schema, Field, DataType};
[INFO] [stderr]   |                    ^^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]  --> src/common/base_structure/vertex.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::str::FromStr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stderr]  --> src/common/base_structure/vertex.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use arrow::array::ArrayRef;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::data::Data`
[INFO] [stderr]  --> src/common/base_structure/vertex.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use super::data::Data;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Decode` and `Encode`
[INFO] [stderr]  --> src/common/util/serilaze.rs:1:23
[INFO] [stderr]   |
[INFO] [stderr] 1 | use bincode::{config, Decode, Encode};
[INFO] [stderr]   |                       ^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> src/io.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `flate2::read::GzDecoder`
[INFO] [stderr]  --> src/io.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use flate2::read::GzDecoder;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufReader`, `fmt::format`, `str::FromStr`, and `time::Instant`
[INFO] [stderr]  --> src/io/csv.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{fmt::format, sync::Arc, str::FromStr, time::Instant, fs::File, io::{BufReader, BufRead}};
[INFO] [stderr]   |           ^^^^^^^^^^^             ^^^^^^^^^^^^  ^^^^^^^^^^^^^                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ArrayRef`, `ArrowPrimitiveType`, `Int32Array`, `Int32Type`, and `PrimitiveArray`
[INFO] [stderr]  --> src/io/csv.rs:3:50
[INFO] [stderr]   |
[INFO] [stderr] 3 | ...array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPrimitiveType}};
[INFO] [stderr]   |                     ^^^^^^^^^^         ^^^^^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rayon::iter::ParallelExtend`
[INFO] [stderr]  --> src/io/csv.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rayon::iter::ParallelExtend;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `data::*`
[INFO] [stderr]  --> src/io.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use data::*;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::runtime::Runtime`
[INFO] [stderr]   --> src/parallel/server.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tokio::runtime::Runtime;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParallelDrainFull`
[INFO] [stderr]  --> src/graph.rs:2:62
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rayon::iter::{IntoParallelRefIterator, ParallelIterator, ParallelDrainFull, IntoParallelIterator, IndexedParallelIterator, ParallelEx...
[INFO] [stderr]   |                                                              ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> src/graph.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IntoParallelRefIterator` and `IntoParallelRefMutIterator`
[INFO] [stderr]  --> src/algo.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Vid`
[INFO] [stderr]  --> src/algo.rs:5:86
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::{graph::{Graph, SeqPartition, NearGraph}, common::{base_structure::{Edge, Vid}, util::SharedPtr}, parallel::server::MyMpi};
[INFO] [stderr]   |                                                                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Array`
[INFO] [stderr]  --> src/io/csv.rs:3:62
[INFO] [stderr]   |
[INFO] [stderr] 3 | use arrow::{csv::ReaderBuilder, array::{AsArray, Int32Array, Array, PrimitiveArray, ArrayRef}, datatypes::{Int32Type, UInt32Type, ArrowPr...
[INFO] [stderr]   |                                                              ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IndexedParallelIterator`
[INFO] [stderr]  --> src/algo.rs:3:112
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rayon::iter::{IntoParallelRefMutIterator, IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator};
[INFO] [stderr]   |                                                                                                                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `constrain`
[INFO] [stderr]    --> src/common/base_structure/data.rs:162:21
[INFO] [stderr]     |
[INFO] [stderr] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stderr]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constrain`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data_type`
[INFO] [stderr]    --> src/common/base_structure/data.rs:162:38
[INFO] [stderr]     |
[INFO] [stderr] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stderr]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/common/base_structure/data.rs:164:29
[INFO] [stderr]     |
[INFO] [stderr] 164 |         let closure = move |x: &DataUnit| -> bool {
[INFO] [stderr]     |                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `str`
[INFO] [stderr]    --> src/common/base_structure/data.rs:254:15
[INFO] [stderr]     |
[INFO] [stderr] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `str`
[INFO] [stderr]    --> src/common/base_structure/data.rs:258:15
[INFO] [stderr]     |
[INFO] [stderr] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `str`
[INFO] [stderr]    --> src/common/base_structure/data.rs:262:15
[INFO] [stderr]     |
[INFO] [stderr] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `str`
[INFO] [stderr]    --> src/common/base_structure/data.rs:266:17
[INFO] [stderr]     |
[INFO] [stderr] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `str`
[INFO] [stderr]    --> src/common/base_structure/data.rs:270:17
[INFO] [stderr]     |
[INFO] [stderr] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `str`
[INFO] [stderr]    --> src/common/base_structure/data.rs:274:17
[INFO] [stderr]     |
[INFO] [stderr] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_str`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/io/csv.rs:96:34
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stderr]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `option`
[INFO] [stderr]   --> src/io/csv.rs:96:49
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn read_vertex<VDATA>(&self, path : String, option : ReadOption)-> Vec<Vertex<VDATA>>
[INFO] [stderr]    |                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `len`
[INFO] [stderr]   --> src/io/example.rs:17:41
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stderr]    |                                         ^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn from(arrow_data : Vec<ArrayRef>, _len : usize) -> Vec<Self>
[INFO] [stderr]    |                                         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MAX_BYTE_SEND_PER_MSG`
[INFO] [stderr]    |
[INFO] [stderr] 17 -     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stderr] 17 +     fn from(arrow_data : Vec<ArrayRef>, common::constance::MAX_BYTE_SEND_PER_MSG : usize) -> Vec<Self>
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arrow_data`
[INFO] [stderr]   --> src/io/example.rs:38:13
[INFO] [stderr]    |
[INFO] [stderr] 38 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stderr]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrow_data`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parallel/server.rs:96:13
[INFO] [stderr]    |
[INFO] [stderr] 96 |         let mut all_length = msgs.iter().map(|x| x.len()).fold(0u64, |a, b| a + b as u64);
[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: unused variable: `t0`
[INFO] [stderr]    --> src/parallel/server.rs:198:13
[INFO] [stderr]     |
[INFO] [stderr] 198 |         let t0 = Instant::now();
[INFO] [stderr]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t0`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t1`
[INFO] [stderr]    --> src/parallel/server.rs:208:13
[INFO] [stderr]     |
[INFO] [stderr] 208 |         let t1 = Instant::now();
[INFO] [stderr]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]   --> src/graph.rs:25:31
[INFO] [stderr]    |
[INFO] [stderr] 25 |     data.par_iter().for_each(|item| {
[INFO] [stderr]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `degrees`
[INFO] [stderr]    --> src/graph.rs:108:12
[INFO] [stderr]     |
[INFO] [stderr] 108 |     fn new(degrees : Vec<Vid>, graph_info : &GraphInfo, cluster_info : &ClusterInfo) -> Self {
[INFO] [stderr]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_degrees`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/graph.rs:149:18
[INFO] [stderr]     |
[INFO] [stderr] 149 |                 |mut vec1, vec2| {
[INFO] [stderr]     |                  ----^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vertexs`
[INFO] [stderr]   --> src/algo.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 14 |     let _vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stderr]    |         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MAX_BYTE_SEND_PER_MSG`
[INFO] [stderr]    |
[INFO] [stderr] 14 -     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stderr] 14 +     let common::constance::MAX_BYTE_SEND_PER_MSG = graph.graph_info.vertex_num as usize;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Empty` is never constructed
[INFO] [stderr]  --> src/common/base_structure/data.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | struct Empty;
[INFO] [stderr]   |        ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `data` is never read
[INFO] [stderr]  --> src/common/base_structure/data.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct Data {
[INFO] [stderr]   |            ---- field in this struct
[INFO] [stderr] 8 |     data : Vec<DataUnit>
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `get_type`, `from`, and `create_judge` are never used
[INFO] [stderr]    --> src/common/base_structure/data.rs:136:8
[INFO] [stderr]     |
[INFO] [stderr] 134 | impl DataUnit {
[INFO] [stderr]     | ------------- associated functions in this implementation
[INFO] [stderr] 135 |     /// 获得字符串所表达的类型，返回值用于 `from` 和 `create_judge` 函数的第二个参数。
[INFO] [stderr] 136 |     fn get_type(data_type : &str) -> Self {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 149 |     fn from(data : &str, data_type : &Self) -> Self {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 |     fn create_judge(constrain: &str, data_type : Self) -> Box<dyn Fn(&DataUnit) -> bool> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `convert_to` is never used
[INFO] [stderr]    --> src/common/base_structure/data.rs:175:4
[INFO] [stderr]     |
[INFO] [stderr] 175 | fn convert_to<T>(data: DataUnit) -> T
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OperationBuilder` is never constructed
[INFO] [stderr]    --> src/common/base_structure/data.rs:245:8
[INFO] [stderr]     |
[INFO] [stderr] 245 | struct OperationBuilder {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated functions are never used
[INFO] [stderr]    --> src/common/base_structure/data.rs:250:8
[INFO] [stderr]     |
[INFO] [stderr] 249 | impl OperationBuilder {
[INFO] [stderr]     | --------------------- associated functions in this implementation
[INFO] [stderr] 250 |     fn new() -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |     fn judge1(str : &str) -> Box<dyn Fn(&Data) -> bool> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 258 |     fn judge2(str : &str) -> Box<dyn Fn(&Data, &Data) -> bool> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 262 |     fn judge3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> bool> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 266 |     fn combine1(str : &str) -> Box<dyn Fn(&Data) -> Data> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 270 |     fn combine2(str : &str) -> Box<dyn Fn(&Data, &Data) -> Data> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 274 |     fn combine3(str : &str) -> Box<dyn Fn(&Data, &Data, &Data) -> Data> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id` and `data` are never read
[INFO] [stderr]   --> src/common/base_structure/vertex.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct Vertexus {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] 10 |     id : Vid,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 11 |     data : String
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id` and `data` are never read
[INFO] [stderr]   --> src/common/base_structure/vertex.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct Vertex<T> {
[INFO] [stderr]    |            ------ fields in this struct
[INFO] [stderr] 15 |     id : Vid,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 16 |     data : T
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `from`, `to`, and `data` are never read
[INFO] [stderr]  --> src/io/data.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct Edgesss {
[INFO] [stderr]   |            ------- fields in this struct
[INFO] [stderr] 4 |     from : String,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 5 |     to : String,
[INFO] [stderr]   |     ^^
[INFO] [stderr] 6 |     data : String,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `from`, `to`, and `data` are never read
[INFO] [stderr]   --> src/io/data.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct Edgeuss {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 10 |     from : Vid,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 11 |     to : String,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 12 |     data : String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `process_vec` is never used
[INFO] [stderr]   --> src/graph.rs:24:4
[INFO] [stderr]    |
[INFO] [stderr] 24 | fn process_vec<T: Send + Sync>(data: &Vec<T>) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `HashPartition` is never constructed
[INFO] [stderr]   --> src/graph.rs:71:8
[INFO] [stderr]    |
[INFO] [stderr] 71 | struct HashPartition {}
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `hash` is never used
[INFO] [stderr]   --> src/graph.rs:74:8
[INFO] [stderr]    |
[INFO] [stderr] 73 | impl HashPartition {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] 74 |     fn hash(&self, vid : &Vid) -> u64{
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data` is never read
[INFO] [stderr]    --> src/graph.rs:199:5
[INFO] [stderr]     |
[INFO] [stderr] 197 | pub struct NearEdge<EDATA> {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] 198 |     pub to : Vid,
[INFO] [stderr] 199 |     data : EDATA,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `NearEdge` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `len`
[INFO] [stderr]   --> src/io/example.rs:17:41
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stderr]    |                                         ^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn from(arrow_data : Vec<ArrayRef>, _len : usize) -> Vec<Self>
[INFO] [stderr]    |                                         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `LEN`
[INFO] [stderr]    |
[INFO] [stderr] 17 -     fn from(arrow_data : Vec<ArrayRef>, len : usize) -> Vec<Self>
[INFO] [stderr] 17 +     fn from(arrow_data : Vec<ArrayRef>, graph::tests::LEN : usize) -> Vec<Self>
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `edges`
[INFO] [stderr]   --> src/io/example.rs:69:13
[INFO] [stderr]    |
[INFO] [stderr] 69 |         let edges = a.read_edge::<MyEmpty>("data/pagerank.csv".into(), read);
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_edges`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vertexs`
[INFO] [stderr]   --> src/algo.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 14 |     let _vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stderr]    |         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `LEN`
[INFO] [stderr]    |
[INFO] [stderr] 14 -     let vertexs = graph.graph_info.vertex_num as usize;
[INFO] [stderr] 14 +     let graph::tests::LEN = graph.graph_info.vertex_num as usize;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LEN` is never used
[INFO] [stderr]    --> src/graph.rs:315:11
[INFO] [stderr]     |
[INFO] [stderr] 315 |     const LEN : usize = 1000000;
[INFO] [stderr]     |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TestMsg` is never constructed
[INFO] [stderr]    --> src/graph.rs:318:12
[INFO] [stderr]     |
[INFO] [stderr] 318 |     struct TestMsg {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `first_rust` (lib) generated 53 warnings (run `cargo fix --lib -p first_rust` to apply 21 suggestions)
[INFO] [stderr] warning: `first_rust` (lib test) generated 54 warnings (49 duplicates) (run `cargo fix --lib -p first_rust --tests` to apply 2 suggestions)
[INFO] [stderr] warning: unused imports: `iter::IntoParallelRefIterator` and `slice::ParallelSliceMut`
[INFO] [stderr]  --> src/b.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rayon::{iter::IntoParallelRefIterator, slice::ParallelSliceMut};
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/b.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |     let mut pr = pool.install(||pagerank(graph, &communicatoner));
[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: unused imports: `Decode` and `Encode`
[INFO] [stderr]  --> src/main.rs:1:15
[INFO] [stderr]   |
[INFO] [stderr] 1 | use bincode::{Encode, Decode};
[INFO] [stderr]   |               ^^^^^^  ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `common::base_structure::Edge`
[INFO] [stderr]  --> src/main.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use common::base_structure::Edge;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IndexedParallelIterator`, `IntoParallelIterator`, `IntoParallelRefIterator`, `ParallelExtend`, and `ParallelIterator`
[INFO] [stderr]  --> src/main.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rayon::iter::{IntoParallelRefIterator, ParallelIterator, IntoParallelIterator, IndexedParallelIterator, ParallelExtend};
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FileRead`, `ReadOption`, and `example::MyEDATA`
[INFO] [stderr]  --> src/main.rs:5:17
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::io::{FileRead, ReadOption, example::MyEDATA};
[INFO] [stderr]   |                 ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `fmt::Debug` and `sync::Arc`
[INFO] [stderr]  --> src/main.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::{fmt::Debug, sync::Arc};
[INFO] [stderr]   |           ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `arrow::array::ArrayRef`
[INFO] [stderr]  --> src/common/base_structure/edge.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use arrow::array::ArrayRef;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `iter::IntoParallelRefIterator` and `slice::ParallelSliceMut`
[INFO] [stderr]  --> src/b.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rayon::{iter::IntoParallelRefIterator, slice::ParallelSliceMut};
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/b.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |     let mut pr = pool.install(||pagerank(graph, &communicatoner));
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `main` is never used
[INFO] [stderr]  --> src/a.rs:2:4
[INFO] [stderr]   |
[INFO] [stderr] 2 | fn main() {
[INFO] [stderr]   |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `main` is never used
[INFO] [stderr]  --> src/b.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn main() {
[INFO] [stderr]   |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `first_rust` (bin "b" test) generated 2 warnings (run `cargo fix --bin "b" --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `first_rust` (bin "first_rust" test) generated 63 warnings (53 duplicates) (run `cargo fix --bin "first_rust" --tests` to apply 8 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lib-59b2d7e7dc65a205)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test common::base_structure::data::tests::convert_dataunit ... ok
[INFO] [stdout] test common::base_structure::data::tests::data_encode ... ok
[INFO] [stdout] test common::util::serilaze::tests::test_encode_decode ... ok
[INFO] [stdout] test common::util::sharedptr::tests::update_on_vec_in_multi_threads ... ok
[INFO] [stdout] test algo::tests::send_recv0 ... FAILED
[INFO] [stdout] test io::example::tests::test_read_empty ... FAILED
[INFO] [stdout] test graph::tests::send_recv0 ... FAILED
[INFO] [stdout] test io::example::tests::test_read ... ok
[INFO] [stdout] test parallel::server::tests::send_recv1 ... ok
[INFO] [stdout] test parallel::server::tests::send_recv0 ... ok
[INFO] [stdout] test algo::tests::send_recv1 has been running for over 60 seconds
[INFO] [stdout] test graph::tests::send_recv1 has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "9a2c202d1b35ee1aaaec44061d9aad73e2714c2e486e0fe4e1bd4fad6b094717", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a2c202d1b35ee1aaaec44061d9aad73e2714c2e486e0fe4e1bd4fad6b094717", kill_on_drop: false }`
[INFO] [stdout] 9a2c202d1b35ee1aaaec44061d9aad73e2714c2e486e0fe4e1bd4fad6b094717
