[INFO] cloning repository https://github.com/ShuoYang512/lydia [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ShuoYang512/lydia" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShuoYang512%2Flydia", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShuoYang512%2Flydia'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0e5de0ba2501cb33d8516fd1ce1475cd0d162573 [INFO] building ShuoYang512/lydia against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShuoYang512%2Flydia" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ShuoYang512/lydia [INFO] finished tweaking git repo https://github.com/ShuoYang512/lydia [INFO] tweaked toml for git repo https://github.com/ShuoYang512/lydia written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ShuoYang512/lydia on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ShuoYang512/lydia 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded unicode-bidi v0.3.14 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.39 [INFO] [stderr] Downloaded proc-macro-crate v2.0.1 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.89 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.89 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.89 [INFO] [stderr] Downloaded openssl-sys v0.9.98 [INFO] [stderr] Downloaded secp256k1 v0.27.0 [INFO] [stderr] Downloaded js-sys v0.3.66 [INFO] [stderr] Downloaded serde v1.0.194 [INFO] [stderr] Downloaded serde_derive v1.0.194 [INFO] [stderr] Downloaded winnow v0.5.32 [INFO] [stderr] Downloaded web3 v0.19.0 [INFO] [stderr] Downloaded wasm-bindgen v0.2.89 [INFO] [stderr] Downloaded soketto v0.7.1 [INFO] [stderr] Downloaded proc-macro2 v1.0.75 [INFO] [stderr] Downloaded pkg-config v0.3.28 [INFO] [stderr] Downloaded web3-async-native-tls v0.4.0 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.89 [INFO] [stderr] Downloaded openssl v0.10.62 [INFO] [stderr] Downloaded tempfile v3.9.0 [INFO] [stderr] Downloaded rustix v0.38.28 [INFO] [stderr] Downloaded libc v0.2.151 [INFO] [stderr] Downloaded web-sys v0.3.66 [INFO] [stderr] Downloaded linux-raw-sys v0.4.12 [INFO] [stderr] Downloaded secp256k1-sys v0.8.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e83a720daa705d3b0b6e2d524b8da84f5722b7f76cdd489959ebcf2acadb776f [INFO] running `Command { std: "docker" "start" "-a" "e83a720daa705d3b0b6e2d524b8da84f5722b7f76cdd489959ebcf2acadb776f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e83a720daa705d3b0b6e2d524b8da84f5722b7f76cdd489959ebcf2acadb776f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e83a720daa705d3b0b6e2d524b8da84f5722b7f76cdd489959ebcf2acadb776f", kill_on_drop: false }` [INFO] [stdout] e83a720daa705d3b0b6e2d524b8da84f5722b7f76cdd489959ebcf2acadb776f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3a54a6bb9337709b17070845f90197c5819333eca81981c654ec8b1710e49c0e [INFO] running `Command { std: "docker" "start" "-a" "3a54a6bb9337709b17070845f90197c5819333eca81981c654ec8b1710e49c0e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.75 [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Compiling memchr v2.7.1 [INFO] [stderr] Compiling itoa v1.0.10 [INFO] [stderr] Compiling futures-core v0.3.30 [INFO] [stderr] Compiling serde v1.0.194 [INFO] [stderr] Compiling pkg-config v0.3.28 [INFO] [stderr] Compiling smallvec v1.11.2 [INFO] [stderr] Compiling futures-io v0.3.30 [INFO] [stderr] Compiling futures-task v0.3.30 [INFO] [stderr] Compiling openssl v0.10.62 [INFO] [stderr] Compiling ryu v1.0.16 [INFO] [stderr] Compiling rlp v0.5.2 [INFO] [stderr] Compiling serde_json v1.0.111 [INFO] [stderr] Compiling unicode-bidi v0.3.14 [INFO] [stderr] Compiling indexmap v2.1.0 [INFO] [stderr] Compiling futures-channel v0.3.30 [INFO] [stderr] Compiling http v0.2.11 [INFO] [stderr] Compiling uint v0.9.5 [INFO] [stderr] Compiling rustix v0.38.28 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.12 [INFO] [stderr] Compiling keccak v0.1.4 [INFO] [stderr] Compiling sha-1 v0.9.8 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling impl-rlp v0.3.0 [INFO] [stderr] Compiling idna v0.5.0 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling headers-core v0.2.0 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling os_str_bytes v6.6.1 [INFO] [stderr] Compiling headers v0.3.9 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling aho-corasick v1.1.2 [INFO] [stderr] Compiling csv-core v0.1.11 [INFO] [stderr] Compiling textwrap v0.16.1 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling url v2.5.0 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling socket2 v0.5.5 [INFO] [stderr] Compiling mio v0.8.10 [INFO] [stderr] Compiling getrandom v0.2.11 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling is-terminal v0.4.10 [INFO] [stderr] Compiling regex-automata v0.4.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling openssl-sys v0.9.98 [INFO] [stderr] Compiling secp256k1-sys v0.8.1 [INFO] [stderr] Compiling fixed-hash v0.8.0 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling regex v1.10.2 [INFO] [stderr] Compiling env_logger v0.10.1 [INFO] [stderr] Compiling serde_derive v1.0.194 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v1.0.56 [INFO] [stderr] Compiling pin-project-internal v1.1.3 [INFO] [stderr] Compiling secp256k1 v0.27.0 [INFO] [stderr] Compiling tokio v1.35.1 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling thiserror v1.0.56 [INFO] [stderr] Compiling pin-project v1.1.3 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling futures-executor v0.3.30 [INFO] [stderr] Compiling futures v0.3.30 [INFO] [stderr] Compiling soketto v0.7.1 [INFO] [stderr] Compiling tokio-util v0.7.10 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling web3-async-native-tls v0.4.0 [INFO] [stderr] Compiling tokio-stream v0.1.14 [INFO] [stderr] Compiling h2 v0.3.22 [INFO] [stderr] Compiling impl-serde v0.4.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling csv v1.3.0 [INFO] [stderr] Compiling primitive-types v0.12.2 [INFO] [stderr] Compiling ethbloom v0.13.0 [INFO] [stderr] Compiling jsonrpc-core v18.0.0 [INFO] [stderr] Compiling ethereum-types v0.14.1 [INFO] [stderr] Compiling ethabi v18.0.0 [INFO] [stderr] Compiling hyper v0.14.28 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.11.23 [INFO] [stderr] Compiling web3 v0.19.0 [INFO] [stderr] Compiling lydia v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: type `data_structure::ExternalCall` is more private than the item `contract::contract::Contract::external_calls` [INFO] [stdout] --> src/contract/contract.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | pub external_calls: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `contract::contract::Contract::external_calls` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `data_structure::ExternalCall` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/contract/data_structure.rs:135:1 [INFO] [stdout] | [INFO] [stdout] 135 | pub(crate) struct ExternalCall { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/graph/call_graph.rs:13:83 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(platform: String, contracts: &'a mut HashMap) -> CallGraph { [INFO] [stdout] | -- the lifetime is named here ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(platform: String, contracts: &'a mut HashMap) -> CallGraph<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_stmt`, `sensitive_var`, and `source_op` are never read [INFO] [stdout] --> src/contract/data_structure.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct SensitiveOpOfBadRandomnessAfterExternalCall { [INFO] [stdout] | ------------------------------------------- fields in this struct [INFO] [stdout] 146 | pub func_sign: String, [INFO] [stdout] 147 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 148 | pub sensitive_var: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 149 | pub source_op: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SensitiveOpOfBadRandomnessAfterExternalCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_stmt`, `call_ret_var`, `call_ret_index`, and `sensitive_var` are never read [INFO] [stdout] --> src/contract/data_structure.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct SensitiveOpOfDoSAfterExternalCall { [INFO] [stdout] | --------------------------------- fields in this struct [INFO] [stdout] 165 | pub func_sign: String, [INFO] [stdout] 166 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 167 | pub call_ret_var: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 168 | pub call_ret_index: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 169 | pub sensitive_var: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_ret`, `func_ret_index`, and `func_ret` are never read [INFO] [stdout] --> src/contract/data_structure.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 226 | pub struct CallRetToFuncRet { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 227 | pub call_stmt: String, [INFO] [stdout] 228 | pub call_ret: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub func_ret_index: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 232 | pub func_ret: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_ret` and `call_arg` are never read [INFO] [stdout] --> src/contract/data_structure.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 249 | pub struct CallRetToCallArg { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 250 | pub call_stmt1: String, [INFO] [stdout] 251 | pub call_ret: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub call_arg: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `func_arg` and `call_arg` are never read [INFO] [stdout] --> src/contract/data_structure.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 277 | pub struct FuncArgToCallArg { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 280 | pub func_arg: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub call_arg: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `func_arg` and `call_arg_index` are never read [INFO] [stdout] --> src/contract/data_structure.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 300 | pub struct FuncArgToCallee { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 303 | pub func_arg: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 304 | pub call_stmt: String, [INFO] [stdout] 305 | pub call_arg_index: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `func_arg` and `func_ret` are never read [INFO] [stdout] --> src/contract/data_structure.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 320 | pub struct FuncArgToFuncRet { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 323 | pub func_arg: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 324 | pub func_ret_index: String, [INFO] [stdout] 325 | pub func_ret: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `env_var` and `tainted_var` are never read [INFO] [stdout] --> src/contract/data_structure.rs:343:9 [INFO] [stdout] | [INFO] [stdout] 341 | pub struct EnvVarFlowsToTaintedVar { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 342 | pub func_sign: String, [INFO] [stdout] 343 | pub env_var: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 344 | pub tainted_var: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stmt` is never read [INFO] [stdout] --> src/contract/data_structure.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 358 | pub struct OpCreateInLoop { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 359 | pub func_sign: String, [INFO] [stdout] 360 | pub stmt: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stmt` is never read [INFO] [stdout] --> src/contract/data_structure.rs:375:9 [INFO] [stdout] | [INFO] [stdout] 373 | pub struct OpSoleCreate { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 374 | pub func_sign: String, [INFO] [stdout] 375 | pub stmt: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `target` is never read [INFO] [stdout] --> src/contract/data_structure.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 388 | pub struct OpSelfdestruct { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 389 | pub func_sign: String, [INFO] [stdout] 390 | pub target: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `call_stmt` is never read [INFO] [stdout] --> src/contract/data_structure.rs:404:9 [INFO] [stdout] | [INFO] [stdout] 403 | pub struct ExternalCallInHook { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 404 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `call_stmt` is never read [INFO] [stdout] --> src/contract/data_structure.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 418 | pub struct ExternalCallInFallback { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 419 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `callee` is never read [INFO] [stdout] --> src/contract/data_structure.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 433 | pub struct DoubleCallToSameContract { [INFO] [stdout] | ------------------------ field in this struct [INFO] [stdout] 434 | pub func_sign: String, [INFO] [stdout] 435 | pub callee: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_stmt`, `call_ret_var`, `call_ret_index`, and `sensitive_var` are never read [INFO] [stdout] --> src/contract/data_structure.rs:450:9 [INFO] [stdout] | [INFO] [stdout] 448 | pub struct DoubleCallToSameContractByStorage { [INFO] [stdout] | --------------------------------- fields in this struct [INFO] [stdout] 449 | pub func_sign: String, [INFO] [stdout] 450 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 451 | pub call_ret_var: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 452 | pub call_ret_index: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 453 | pub sensitive_var: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_stmt` and `storage_slot` are never read [INFO] [stdout] --> src/contract/data_structure.rs:471:9 [INFO] [stdout] | [INFO] [stdout] 469 | pub struct CallInStandardTransfer { [INFO] [stdout] | ---------------------- fields in this struct [INFO] [stdout] 470 | pub func_sign: String, [INFO] [stdout] 471 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 472 | pub storage_slot: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FlowAnalysis`, `Network`, and `General` are never constructed [INFO] [stdout] --> src/error.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum LydiaError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | FlowAnalysis(String), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | Network(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 25 | /// General application errors [INFO] [stdout] 26 | General(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LydiaError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_duration` is never used [INFO] [stdout] --> src/utils.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn format_duration(duration: std::time::Duration) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid_ethereum_address` is never used [INFO] [stdout] --> src/utils.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn is_valid_ethereum_address(address: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/graph/call_graph.rs:13:83 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(platform: String, contracts: &'a mut HashMap) -> CallGraph { [INFO] [stdout] | -- the lifetime is named here ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(platform: String, contracts: &'a mut HashMap) -> CallGraph<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.31s [INFO] running `Command { std: "docker" "inspect" "3a54a6bb9337709b17070845f90197c5819333eca81981c654ec8b1710e49c0e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a54a6bb9337709b17070845f90197c5819333eca81981c654ec8b1710e49c0e", kill_on_drop: false }` [INFO] [stdout] 3a54a6bb9337709b17070845f90197c5819333eca81981c654ec8b1710e49c0e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4289fbd7c5fb35aa0b1ce5adbb401a2561d120ac7b4e0d61f6ab2770a412f133 [INFO] running `Command { std: "docker" "start" "-a" "4289fbd7c5fb35aa0b1ce5adbb401a2561d120ac7b4e0d61f6ab2770a412f133", kill_on_drop: false }` [INFO] [stdout] warning: type `data_structure::ExternalCall` is more private than the item `contract::contract::Contract::external_calls` [INFO] [stdout] --> src/contract/contract.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | pub external_calls: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `contract::contract::Contract::external_calls` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `data_structure::ExternalCall` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/contract/data_structure.rs:135:1 [INFO] [stdout] | [INFO] [stdout] 135 | pub(crate) struct ExternalCall { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/graph/call_graph.rs:13:83 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(platform: String, contracts: &'a mut HashMap) -> CallGraph { [INFO] [stdout] | -- the lifetime is named here ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(platform: String, contracts: &'a mut HashMap) -> CallGraph<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling lydia v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: type `data_structure::ExternalCall` is more private than the item `contract::contract::Contract::external_calls` [INFO] [stdout] --> src/contract/contract.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | pub external_calls: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `contract::contract::Contract::external_calls` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `data_structure::ExternalCall` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/contract/data_structure.rs:135:1 [INFO] [stdout] | [INFO] [stdout] 135 | pub(crate) struct ExternalCall { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/graph/call_graph.rs:13:83 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(platform: String, contracts: &'a mut HashMap) -> CallGraph { [INFO] [stdout] | -- the lifetime is named here ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(platform: String, contracts: &'a mut HashMap) -> CallGraph<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_stmt`, `sensitive_var`, and `source_op` are never read [INFO] [stdout] --> src/contract/data_structure.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct SensitiveOpOfBadRandomnessAfterExternalCall { [INFO] [stdout] | ------------------------------------------- fields in this struct [INFO] [stdout] 146 | pub func_sign: String, [INFO] [stdout] 147 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 148 | pub sensitive_var: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 149 | pub source_op: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SensitiveOpOfBadRandomnessAfterExternalCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_stmt`, `call_ret_var`, `call_ret_index`, and `sensitive_var` are never read [INFO] [stdout] --> src/contract/data_structure.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct SensitiveOpOfDoSAfterExternalCall { [INFO] [stdout] | --------------------------------- fields in this struct [INFO] [stdout] 165 | pub func_sign: String, [INFO] [stdout] 166 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 167 | pub call_ret_var: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 168 | pub call_ret_index: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 169 | pub sensitive_var: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_ret`, `func_ret_index`, and `func_ret` are never read [INFO] [stdout] --> src/contract/data_structure.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 226 | pub struct CallRetToFuncRet { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 227 | pub call_stmt: String, [INFO] [stdout] 228 | pub call_ret: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub func_ret_index: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 232 | pub func_ret: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_ret` and `call_arg` are never read [INFO] [stdout] --> src/contract/data_structure.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 249 | pub struct CallRetToCallArg { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 250 | pub call_stmt1: String, [INFO] [stdout] 251 | pub call_ret: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub call_arg: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `func_arg` and `call_arg` are never read [INFO] [stdout] --> src/contract/data_structure.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 277 | pub struct FuncArgToCallArg { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 280 | pub func_arg: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub call_arg: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `func_arg` and `call_arg_index` are never read [INFO] [stdout] --> src/contract/data_structure.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 300 | pub struct FuncArgToCallee { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 303 | pub func_arg: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 304 | pub call_stmt: String, [INFO] [stdout] 305 | pub call_arg_index: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `func_arg` and `func_ret` are never read [INFO] [stdout] --> src/contract/data_structure.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 320 | pub struct FuncArgToFuncRet { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 323 | pub func_arg: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 324 | pub func_ret_index: String, [INFO] [stdout] 325 | pub func_ret: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `env_var` and `tainted_var` are never read [INFO] [stdout] --> src/contract/data_structure.rs:343:9 [INFO] [stdout] | [INFO] [stdout] 341 | pub struct EnvVarFlowsToTaintedVar { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 342 | pub func_sign: String, [INFO] [stdout] 343 | pub env_var: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 344 | pub tainted_var: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stmt` is never read [INFO] [stdout] --> src/contract/data_structure.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 358 | pub struct OpCreateInLoop { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 359 | pub func_sign: String, [INFO] [stdout] 360 | pub stmt: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stmt` is never read [INFO] [stdout] --> src/contract/data_structure.rs:375:9 [INFO] [stdout] | [INFO] [stdout] 373 | pub struct OpSoleCreate { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 374 | pub func_sign: String, [INFO] [stdout] 375 | pub stmt: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `target` is never read [INFO] [stdout] --> src/contract/data_structure.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 388 | pub struct OpSelfdestruct { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 389 | pub func_sign: String, [INFO] [stdout] 390 | pub target: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `call_stmt` is never read [INFO] [stdout] --> src/contract/data_structure.rs:404:9 [INFO] [stdout] | [INFO] [stdout] 403 | pub struct ExternalCallInHook { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 404 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `call_stmt` is never read [INFO] [stdout] --> src/contract/data_structure.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 418 | pub struct ExternalCallInFallback { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 419 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `callee` is never read [INFO] [stdout] --> src/contract/data_structure.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 433 | pub struct DoubleCallToSameContract { [INFO] [stdout] | ------------------------ field in this struct [INFO] [stdout] 434 | pub func_sign: String, [INFO] [stdout] 435 | pub callee: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_stmt`, `call_ret_var`, `call_ret_index`, and `sensitive_var` are never read [INFO] [stdout] --> src/contract/data_structure.rs:450:9 [INFO] [stdout] | [INFO] [stdout] 448 | pub struct DoubleCallToSameContractByStorage { [INFO] [stdout] | --------------------------------- fields in this struct [INFO] [stdout] 449 | pub func_sign: String, [INFO] [stdout] 450 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 451 | pub call_ret_var: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 452 | pub call_ret_index: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 453 | pub sensitive_var: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `call_stmt` and `storage_slot` are never read [INFO] [stdout] --> src/contract/data_structure.rs:471:9 [INFO] [stdout] | [INFO] [stdout] 469 | pub struct CallInStandardTransfer { [INFO] [stdout] | ---------------------- fields in this struct [INFO] [stdout] 470 | pub func_sign: String, [INFO] [stdout] 471 | pub call_stmt: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 472 | pub storage_slot: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FlowAnalysis`, `Network`, and `General` are never constructed [INFO] [stdout] --> src/error.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum LydiaError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | FlowAnalysis(String), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | Network(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 25 | /// General application errors [INFO] [stdout] 26 | General(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LydiaError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/graph/call_graph.rs:13:83 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(platform: String, contracts: &'a mut HashMap) -> CallGraph { [INFO] [stdout] | -- the lifetime is named here ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(platform: String, contracts: &'a mut HashMap) -> CallGraph<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.68s [INFO] running `Command { std: "docker" "inspect" "4289fbd7c5fb35aa0b1ce5adbb401a2561d120ac7b4e0d61f6ab2770a412f133", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4289fbd7c5fb35aa0b1ce5adbb401a2561d120ac7b4e0d61f6ab2770a412f133", kill_on_drop: false }` [INFO] [stdout] 4289fbd7c5fb35aa0b1ce5adbb401a2561d120ac7b4e0d61f6ab2770a412f133