[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] testing ShuoYang512/lydia against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShuoYang512%2Flydia" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ShuoYang512/lydia on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e533b6e8c29da85176e1931736a895d8ab1a55f7305058b3e5d68c49fc8f48f2
[INFO] running `Command { std: "docker" "start" "-a" "e533b6e8c29da85176e1931736a895d8ab1a55f7305058b3e5d68c49fc8f48f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e533b6e8c29da85176e1931736a895d8ab1a55f7305058b3e5d68c49fc8f48f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e533b6e8c29da85176e1931736a895d8ab1a55f7305058b3e5d68c49fc8f48f2", kill_on_drop: false }`
[INFO] [stdout] e533b6e8c29da85176e1931736a895d8ab1a55f7305058b3e5d68c49fc8f48f2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 24b6c09dac7fb559c76a1ea8a0217626d4812020698fd06732179b5cbdebac5d
[INFO] running `Command { std: "docker" "start" "-a" "24b6c09dac7fb559c76a1ea8a0217626d4812020698fd06732179b5cbdebac5d", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.75
[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 pin-project-lite v0.2.13
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling serde v1.0.194
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling pkg-config v0.3.28
[INFO] [stderr]    Compiling smallvec v1.11.2
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling openssl v0.10.62
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling ryu v1.0.16
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]    Compiling unicode-bidi v0.3.14
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cpufeatures v0.2.12
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling uint v0.9.5
[INFO] [stderr]    Compiling http v0.2.11
[INFO] [stderr]    Compiling rlp v0.5.2
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling impl-rlp v0.3.0
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling socket2 v0.5.5
[INFO] [stderr]    Compiling mio v0.8.10
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling getrandom v0.2.11
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling url v2.5.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling base64 v0.21.5
[INFO] [stderr]    Compiling keccak v0.1.4
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling linux-raw-sys v0.4.12
[INFO] [stderr]    Compiling sha-1 v0.9.8
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling fixed-hash v0.8.0
[INFO] [stderr]    Compiling encoding_rs v0.8.33
[INFO] [stderr]    Compiling ipnet v2.9.0
[INFO] [stderr]    Compiling os_str_bytes v6.6.1
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling termcolor v1.4.0
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling headers v0.3.9
[INFO] [stderr]    Compiling is-terminal v0.4.10
[INFO] [stderr]    Compiling idna v0.4.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling csv-core v0.1.11
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling textwrap v0.16.1
[INFO] [stderr]    Compiling futures-timer v3.0.2
[INFO] [stderr]    Compiling arrayvec v0.7.4
[INFO] [stderr]    Compiling clap v3.2.25
[INFO] [stderr]    Compiling openssl-sys v0.9.98
[INFO] [stderr]    Compiling secp256k1-sys v0.8.1
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling env_logger v0.10.1
[INFO] [stderr]    Compiling secp256k1 v0.27.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[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 tokio v1.35.1
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling pin-project v1.1.3
[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-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.14
[INFO] [stderr]    Compiling web3-async-native-tls v0.4.0
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling tokio-util v0.7.10
[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 ethbloom v0.13.0
[INFO] [stderr]    Compiling primitive-types v0.12.2
[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<ExternalCall>,
[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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/graph/call_graph.rs:13:46
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> CallGraph {
[INFO] [stdout]    |                                              ^^ this lifetime flows to the output --------- the lifetime gets resolved as `'a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> 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)]` 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/graph/call_graph.rs:13:46
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> CallGraph {
[INFO] [stdout]    |                                              ^^ this lifetime flows to the output --------- the lifetime gets resolved as `'a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> CallGraph<'a> {
[INFO] [stdout]    |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 02s
[INFO] running `Command { std: "docker" "inspect" "24b6c09dac7fb559c76a1ea8a0217626d4812020698fd06732179b5cbdebac5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24b6c09dac7fb559c76a1ea8a0217626d4812020698fd06732179b5cbdebac5d", kill_on_drop: false }`
[INFO] [stdout] 24b6c09dac7fb559c76a1ea8a0217626d4812020698fd06732179b5cbdebac5d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 187a0185c1eb0469a4fbf5de8173c76c21df873e1273c2fe71177b15cab0bfed
[INFO] running `Command { std: "docker" "start" "-a" "187a0185c1eb0469a4fbf5de8173c76c21df873e1273c2fe71177b15cab0bfed", kill_on_drop: false }`
[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<ExternalCall>,
[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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/graph/call_graph.rs:13:46
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> CallGraph {
[INFO] [stdout]    |                                              ^^ this lifetime flows to the output --------- the lifetime gets resolved as `'a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> CallGraph<'a> {
[INFO] [stdout]    |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[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<ExternalCall>,
[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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/graph/call_graph.rs:13:46
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> CallGraph {
[INFO] [stdout]    |                                              ^^ this lifetime flows to the output --------- the lifetime gets resolved as `'a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> 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)]` 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/graph/call_graph.rs:13:46
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> CallGraph {
[INFO] [stdout]    |                                              ^^ this lifetime flows to the output --------- the lifetime gets resolved as `'a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> CallGraph<'a> {
[INFO] [stdout]    |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.36s
[INFO] running `Command { std: "docker" "inspect" "187a0185c1eb0469a4fbf5de8173c76c21df873e1273c2fe71177b15cab0bfed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "187a0185c1eb0469a4fbf5de8173c76c21df873e1273c2fe71177b15cab0bfed", kill_on_drop: false }`
[INFO] [stdout] 187a0185c1eb0469a4fbf5de8173c76c21df873e1273c2fe71177b15cab0bfed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7b018f55507f1bbe8c4da7998350bcee4b31e7821057367c2b0824b8d00bf840
[INFO] running `Command { std: "docker" "start" "-a" "7b018f55507f1bbe8c4da7998350bcee4b31e7821057367c2b0824b8d00bf840", kill_on_drop: false }`
[INFO] [stderr] warning: type `data_structure::ExternalCall` is more private than the item `contract::contract::Contract::external_calls`
[INFO] [stderr]    --> src/contract/contract.rs:49:5
[INFO] [stderr]     |
[INFO] [stderr] 49  |     pub external_calls: Vec<ExternalCall>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `contract::contract::Contract::external_calls` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `data_structure::ExternalCall` is only usable at visibility `pub(crate)`
[INFO] [stderr]    --> src/contract/data_structure.rs:135:1
[INFO] [stderr]     |
[INFO] [stderr] 135 | pub(crate) struct ExternalCall {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/graph/call_graph.rs:13:46
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> CallGraph {
[INFO] [stderr]    |                                              ^^ this lifetime flows to the output --------- the lifetime gets resolved as `'a`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub fn new(platform: String, contracts: &'a mut HashMap<String, Contract>) -> CallGraph<'a> {
[INFO] [stderr]    |                                                                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `lydia` (lib) generated 2 warnings
[INFO] [stderr] warning: `lydia` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: fields `call_stmt`, `sensitive_var`, and `source_op` are never read
[INFO] [stderr]    --> src/contract/data_structure.rs:147:9
[INFO] [stderr]     |
[INFO] [stderr] 145 | pub struct SensitiveOpOfBadRandomnessAfterExternalCall {
[INFO] [stderr]     |            ------------------------------------------- fields in this struct
[INFO] [stderr] 146 |     pub func_sign: String,
[INFO] [stderr] 147 |     pub call_stmt: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 148 |     pub sensitive_var: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 149 |     pub source_op: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SensitiveOpOfBadRandomnessAfterExternalCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `call_stmt`, `call_ret_var`, `call_ret_index`, and `sensitive_var` are never read
[INFO] [stderr]    --> src/contract/data_structure.rs:166:9
[INFO] [stderr]     |
[INFO] [stderr] 164 | pub struct SensitiveOpOfDoSAfterExternalCall {
[INFO] [stderr]     |            --------------------------------- fields in this struct
[INFO] [stderr] 165 |     pub func_sign: String,
[INFO] [stderr] 166 |     pub call_stmt: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 167 |     pub call_ret_var: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 168 |     pub call_ret_index: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 169 |     pub sensitive_var: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `call_ret`, `func_ret_index`, and `func_ret` are never read
[INFO] [stderr]    --> src/contract/data_structure.rs:228:9
[INFO] [stderr]     |
[INFO] [stderr] 226 | pub struct CallRetToFuncRet {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 227 |     pub call_stmt: String,
[INFO] [stderr] 228 |     pub call_ret: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 |     pub func_ret_index: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 232 |     pub func_ret: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `call_ret` and `call_arg` are never read
[INFO] [stderr]    --> src/contract/data_structure.rs:251:9
[INFO] [stderr]     |
[INFO] [stderr] 249 | pub struct CallRetToCallArg {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 250 |     pub call_stmt1: String,
[INFO] [stderr] 251 |     pub call_ret: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 255 |     pub call_arg: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `func_arg` and `call_arg` are never read
[INFO] [stderr]    --> src/contract/data_structure.rs:280:9
[INFO] [stderr]     |
[INFO] [stderr] 277 | pub struct FuncArgToCallArg {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 280 |     pub func_arg: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 283 |     pub call_arg: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `func_arg` and `call_arg_index` are never read
[INFO] [stderr]    --> src/contract/data_structure.rs:303:9
[INFO] [stderr]     |
[INFO] [stderr] 300 | pub struct FuncArgToCallee {
[INFO] [stderr]     |            --------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 303 |     pub func_arg: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 304 |     pub call_stmt: String,
[INFO] [stderr] 305 |     pub call_arg_index: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `func_arg` and `func_ret` are never read
[INFO] [stderr]    --> src/contract/data_structure.rs:323:9
[INFO] [stderr]     |
[INFO] [stderr] 320 | pub struct FuncArgToFuncRet {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 323 |     pub func_arg: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 324 |     pub func_ret_index: String,
[INFO] [stderr] 325 |     pub func_ret: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `env_var` and `tainted_var` are never read
[INFO] [stderr]    --> src/contract/data_structure.rs:343:9
[INFO] [stderr]     |
[INFO] [stderr] 341 | pub struct EnvVarFlowsToTaintedVar {
[INFO] [stderr]     |            ----------------------- fields in this struct
[INFO] [stderr] 342 |     pub func_sign: String,
[INFO] [stderr] 343 |     pub env_var: String,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] 344 |     pub tainted_var: String,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `stmt` is never read
[INFO] [stderr]    --> src/contract/data_structure.rs:360:9
[INFO] [stderr]     |
[INFO] [stderr] 358 | pub struct OpCreateInLoop {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] 359 |     pub func_sign: String,
[INFO] [stderr] 360 |     pub stmt: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `stmt` is never read
[INFO] [stderr]    --> src/contract/data_structure.rs:375:9
[INFO] [stderr]     |
[INFO] [stderr] 373 | pub struct OpSoleCreate {
[INFO] [stderr]     |            ------------ field in this struct
[INFO] [stderr] 374 |     pub func_sign: String,
[INFO] [stderr] 375 |     pub stmt: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `target` is never read
[INFO] [stderr]    --> src/contract/data_structure.rs:390:9
[INFO] [stderr]     |
[INFO] [stderr] 388 | pub struct OpSelfdestruct {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] 389 |     pub func_sign: String,
[INFO] [stderr] 390 |     pub target: String,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `call_stmt` is never read
[INFO] [stderr]    --> src/contract/data_structure.rs:404:9
[INFO] [stderr]     |
[INFO] [stderr] 403 | pub struct ExternalCallInHook {
[INFO] [stderr]     |            ------------------ field in this struct
[INFO] [stderr] 404 |     pub call_stmt: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `call_stmt` is never read
[INFO] [stderr]    --> src/contract/data_structure.rs:419:9
[INFO] [stderr]     |
[INFO] [stderr] 418 | pub struct ExternalCallInFallback {
[INFO] [stderr]     |            ---------------------- field in this struct
[INFO] [stderr] 419 |     pub call_stmt: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `callee` is never read
[INFO] [stderr]    --> src/contract/data_structure.rs:435:9
[INFO] [stderr]     |
[INFO] [stderr] 433 | pub struct DoubleCallToSameContract {
[INFO] [stderr]     |            ------------------------ field in this struct
[INFO] [stderr] 434 |     pub func_sign: String,
[INFO] [stderr] 435 |     pub callee: String,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `call_stmt`, `call_ret_var`, `call_ret_index`, and `sensitive_var` are never read
[INFO] [stderr]    --> src/contract/data_structure.rs:450:9
[INFO] [stderr]     |
[INFO] [stderr] 448 | pub struct DoubleCallToSameContractByStorage {
[INFO] [stderr]     |            --------------------------------- fields in this struct
[INFO] [stderr] 449 |     pub func_sign: String,
[INFO] [stderr] 450 |     pub call_stmt: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 451 |     pub call_ret_var: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 452 |     pub call_ret_index: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 453 |     pub sensitive_var: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `call_stmt` and `storage_slot` are never read
[INFO] [stderr]    --> src/contract/data_structure.rs:471:9
[INFO] [stderr]     |
[INFO] [stderr] 469 | pub struct CallInStandardTransfer {
[INFO] [stderr]     |            ---------------------- fields in this struct
[INFO] [stderr] 470 |     pub func_sign: String,
[INFO] [stderr] 471 |     pub call_stmt: String,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 472 |     pub storage_slot: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `FlowAnalysis`, `Network`, and `General` are never constructed
[INFO] [stderr]   --> src/error.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub enum LydiaError {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 18 |     FlowAnalysis(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     Network(String),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 25 |     /// General application errors
[INFO] [stderr] 26 |     General(String),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LydiaError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `lydia` (bin "lydia" test) generated 18 warnings (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lydia-0ad75c1a9f7e6f72)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tests::test_config_creation ... ok
[INFO] [stdout] test tests::test_error_conversion ... ok
[INFO] [stdout] test utils::tests::test_format_duration ... ok
[INFO] [stdout] test utils::tests::test_valid_ethereum_address ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lydia-c47c856ab9e8d130)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test utils::tests::test_format_duration ... ok
[INFO] [stdout] test utils::tests::test_valid_ethereum_address ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests lydia
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7b018f55507f1bbe8c4da7998350bcee4b31e7821057367c2b0824b8d00bf840", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b018f55507f1bbe8c4da7998350bcee4b31e7821057367c2b0824b8d00bf840", kill_on_drop: false }`
[INFO] [stdout] 7b018f55507f1bbe8c4da7998350bcee4b31e7821057367c2b0824b8d00bf840
