[INFO] cloning repository https://github.com/Ishogbon/rustenium
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ishogbon/rustenium" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIshogbon%2Frustenium", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIshogbon%2Frustenium'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f9a3cbb28335408771414d5dbe56ce76c9cfe20f
[INFO] testing Ishogbon/rustenium against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIshogbon%2Frustenium" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/Ishogbon/rustenium
[INFO] finished tweaking git repo https://github.com/Ishogbon/rustenium
[INFO] tweaked toml for git repo https://github.com/Ishogbon/rustenium written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Ishogbon/rustenium on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Ishogbon/rustenium 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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded fastwebsockets v0.10.0
[INFO] [stderr]   Downloaded miniz_oxide v0.8.4
[INFO] [stderr]   Downloaded serde_valid_literal v2.0.0
[INFO] [stderr]   Downloaded serde_valid_derive v2.0.0
[INFO] [stderr]   Downloaded serde_valid v2.0.0
[INFO] [stderr]   Downloaded h2 v0.4.9
[INFO] [stderr]   Downloaded rustls v0.23.26
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bf0e12e5d2467bb2bc6f86f5c7f4743616097165eb35aa2461b891d435a089c7
[INFO] running `Command { std: "docker" "start" "-a" "bf0e12e5d2467bb2bc6f86f5c7f4743616097165eb35aa2461b891d435a089c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf0e12e5d2467bb2bc6f86f5c7f4743616097165eb35aa2461b891d435a089c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf0e12e5d2467bb2bc6f86f5c7f4743616097165eb35aa2461b891d435a089c7", kill_on_drop: false }`
[INFO] [stdout] bf0e12e5d2467bb2bc6f86f5c7f4743616097165eb35aa2461b891d435a089c7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bf3d7ac2c4c7180aed80eff919ec39575820a9e9c4c1eeb3369770250a995be6
[INFO] running `Command { std: "docker" "start" "-a" "bf3d7ac2c4c7180aed80eff919ec39575820a9e9c4c1eeb3369770250a995be6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.16
[INFO] [stderr]    Compiling bytes v1.10.0
[INFO] [stderr]    Compiling cc v1.2.19
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling httparse v1.10.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling ryu v1.0.19
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling bitflags v2.8.0
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling http v1.2.0
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling openssl-sys v0.9.107
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling openssl v0.10.72
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.2
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling serde_valid_literal v2.0.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_valid_derive v2.0.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.8
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling pin-project v1.1.8
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling serde_valid v2.0.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling rustenium-bidi-commands v0.1.0 (/opt/rustwide/workdir/rustenium-bidi-commands)
[INFO] [stderr]    Compiling rustenium-generator v0.1.0 (/opt/rustwide/workdir/rustenium-generator)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> rustenium-generator/src/extractor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> rustenium-generator/src/extractor.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CommandParams`
[INFO] [stdout]  --> rustenium-generator/src/parser.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::command_parser::{CommandParams, CommandDefinition};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EventDefinition` and `EventParams`
[INFO] [stdout]  --> rustenium-generator/src/parser.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::event_parser::{EventParams, EventDefinition};
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Context`
[INFO] [stdout]  --> rustenium-generator/src/parser.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tokio-util v0.7.14
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stdout] warning: unused variable: `module`
[INFO] [stdout]     --> rustenium-generator/src/output.rs:1299:71
[INFO] [stdout]      |
[INFO] [stdout] 1299 | fn generate_result_struct(result: &crate::command_parser::BidiResult, module: &Module) -> String {
[INFO] [stdout]      |                                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attributes`
[INFO] [stdout]   --> rustenium-generator/src/command_parser.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let attributes = extract_attributes(line)?;
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attributes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> rustenium-generator/src/command_parser.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let mut attributes = Vec::new();
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> rustenium-generator/src/command_parser.rs:150:23
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn extract_attributes(line: &str) -> Result<Vec<String>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_def`
[INFO] [stdout]    --> rustenium-generator/src/command_parser.rs:361:88
[INFO] [stdout]     |
[INFO] [stdout] 361 | ...result: &mut BidiResult, result_def: &mut ResultDefinition, module: &mut Module) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cddl_content`
[INFO] [stdout]    --> rustenium-generator/src/parser.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn extract_parameter_types(cddl_content: &str) -> Result<Vec<String>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cddl_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta_comment`
[INFO] [stdout]    --> rustenium-generator/src/parser.rs:274:24
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let (property, meta_comment) = parse_cddl_property_line(line, &updated_cddl_refs, module, type_name)?;
[INFO] [stdout]     |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_meta_comment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> rustenium-generator/src/parser.rs:417:82
[INFO] [stdout]     |
[INFO] [stdout] 417 | fn preprocess_nested_structs(cddl_content: &str, parent_type_name: Option<&str>, mut cddl_strings: Vec<&str>, module: &mut Module) -> Res...
[INFO] [stdout]     |                                                                                  ----^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                  |
[INFO] [stdout]     |                                                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `commands`, `events`, and `results` are never read
[INFO] [stdout]   --> rustenium-generator/src/module.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Module {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub commands: Vec<Command>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 24 |     pub events: Vec<Event>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 25 |     pub types: Vec<BidiType>,
[INFO] [stdout] 26 |     pub results: Vec<BidiResult>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Module` 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: field `properties` is never read
[INFO] [stdout]   --> rustenium-generator/src/module.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct EmptyParamsType {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 42 |     pub properties: Vec<crate::parser::Property>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EmptyParamsType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `properties` is never read
[INFO] [stdout]   --> rustenium-generator/src/module.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct EmptyResultType {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 67 |     pub properties: Vec<crate::parser::Property>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EmptyResultType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `empty_params` and `empty_result` are never read
[INFO] [stdout]   --> rustenium-generator/src/module.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct RootProtocol {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub empty_params: EmptyParamsType,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub empty_result: EmptyResultType,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RootProtocol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EventDefinition` is never constructed
[INFO] [stdout]  --> rustenium-generator/src/extractor.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct EventDefinition {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_commands_in_module` is never used
[INFO] [stdout]   --> rustenium-generator/src/output.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn has_commands_in_module(module: &crate::module::Module) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_events_in_module` is never used
[INFO] [stdout]   --> rustenium-generator/src/output.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn has_events_in_module(module: &crate::module::Module) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content` is never read
[INFO] [stdout]   --> rustenium-generator/src/command_parser.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct CommandDefinition {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub content: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CommandDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content` is never read
[INFO] [stdout]   --> rustenium-generator/src/command_parser.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ResultDefinition {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub content: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content` is never read
[INFO] [stdout]   --> rustenium-generator/src/event_parser.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct EventDefinition {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub content: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_primitive` is never read
[INFO] [stdout]   --> rustenium-generator/src/parser.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct Property {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 53 |     pub is_enum: bool,
[INFO] [stdout] 54 |     pub is_primitive: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Property` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_parameter_types` is never used
[INFO] [stdout]    --> rustenium-generator/src/parser.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn extract_parameter_types(cddl_content: &str) -> Result<Vec<String>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling h2 v0.4.9
[INFO] [stdout] warning: type `setNetworkConditionsParameters` should have an upper camel case name
[INFO] [stdout]    --> rustenium-bidi-commands/src/emulation/commands.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct setNetworkConditionsParameters {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `SetNetworkConditionsParameters`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `disownDataParameters` should have an upper camel case name
[INFO] [stdout]    --> rustenium-bidi-commands/src/network/commands.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct disownDataParameters {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DisownDataParameters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EmptyParams`
[INFO] [stdout]  --> rustenium-bidi-commands/src/session/types.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{EmptyParams, Extensible};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.10
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling fastwebsockets v0.10.0
[INFO] [stderr]    Compiling reqwest v0.12.15
[INFO] [stderr]    Compiling rustenium-core v0.1.0 (/opt/rustwide/workdir/rustenium-core)
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> rustenium-core/src/connection.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> rustenium-core/src/connection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CommandResponse`
[INFO] [stdout]  --> rustenium-core/src/connection.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rustenium_bidi_commands::{CommandResponse, Event};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transport::WebsocketConnectionTransport`
[INFO] [stdout]   --> rustenium-core/src/connection.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::transport::WebsocketConnectionTransport;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandResponse` and `ErrorResponse`
[INFO] [stdout]  --> rustenium-core/src/session.rs:5:53
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rustenium_bidi_commands::{Command, CommandData, CommandResponse, ErrorResponse, ResultData};
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::contexts::BrowsingContext`
[INFO] [stdout]   --> rustenium-core/src/session.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::contexts::BrowsingContext;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SessionSendError`
[INFO] [stdout]  --> rustenium-core/src/contexts.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::error::{CommandResultError, SessionSendError};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventData`
[INFO] [stdout]  --> rustenium-core/src/listeners.rs:3:70
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rustenium_bidi_commands::{CommandResponse, ErrorResponse, Event, EventData, Message};
[INFO] [stdout]   |                                                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unbounded_channel`
[INFO] [stdout]  --> rustenium-core/src/listeners.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::sync::{mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender}, oneshot, Mutex};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoFuture`
[INFO] [stdout]   --> rustenium-core/src/events.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::future::{Future, IntoFuture};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> rustenium-core/src/process.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut child = self.child.as_mut().unwrap();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> rustenium-core/src/process.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut check_line = |label: &str, line: Result<Option<String>, _>| -> Option<String> {
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> rustenium-core/src/process.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut check_line = |label: &str, line: Result<Option<String>, _>| -> Option<String> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_contexts`
[INFO] [stdout]    --> rustenium-core/src/events.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         user_contexts: Option<Vec<&str>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_contexts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> rustenium-core/src/transport.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     async fn send(&mut self, message: String) -> ();
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 78 -     async fn send(&mut self, message: String) -> ();
[INFO] [stdout] 78 +     fn send(&mut self, message: String) -> impl std::future::Future<Output = ()> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     async fn send_event(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 101 ~     fn send_event(
[INFO] [stdout] 102 |         &mut self,
[INFO] [stdout] 103 |         command_data: CommandData,
[INFO] [stdout] 104 ~     ) -> impl std::future::Future<Output = Result<ResultData, SessionSendError>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     async fn subscribe_events<F, R>(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 111 ~     fn subscribe_events<F, R>(
[INFO] [stdout] 112 |         &mut self,
[INFO] [stdout] ...
[INFO] [stdout] 116 |         user_contexts: Option<Vec<&str>>,
[INFO] [stdout] 117 ~     ) -> impl std::future::Future<Output = Result<Option<SubscribeResult>, CommandResultError>> + Send
[INFO] [stdout] 118 |     where
[INFO] [stdout] 119 |         F: FnMut(Event) -> R + Send + Sync + 'static,
[INFO] [stdout] 120 |         R: Future<Output=()> + Send + 'static,
[INFO] [stdout] 121 ~     {async {
[INFO] [stdout] 122 |         let browsing_context_strings = match &browsing_contexts {
[INFO] [stdout] ...
[INFO] [stdout] 192 |         }
[INFO] [stdout] 193 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 |     async fn unsubscribe_events_by_names(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 196 ~     fn unsubscribe_events_by_names(
[INFO] [stdout] 197 |         &mut self,
[INFO] [stdout] 198 |         events: HashSet<&str>,
[INFO] [stdout] 199 ~     ) -> impl std::future::Future<Output = Result<Option<UnsubscribeResult>, CommandResultError>> + Send {async {
[INFO] [stdout] 200 |         let unsubscribe_command =
[INFO] [stdout] ...
[INFO] [stdout] 237 |         }
[INFO] [stdout] 238 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 |     async fn unsubscribe_events_by_ids(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 241 ~     fn unsubscribe_events_by_ids(
[INFO] [stdout] 242 |         &mut self,
[INFO] [stdout] 243 |         subscription_ids: Vec<Subscription>,
[INFO] [stdout] 244 ~     ) -> impl std::future::Future<Output = Result<Option<UnsubscribeResult>, CommandResultError>> + Send {async {
[INFO] [stdout] 245 |         let unsubscribe_command =
[INFO] [stdout] ...
[INFO] [stdout] 263 |         }
[INFO] [stdout] 264 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     async fn event_dispatch(&mut self) -> (JoinHandle<()>, UnboundedSender<Event>) {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 266 ~     fn event_dispatch(&mut self) -> impl std::future::Future<Output = (JoinHandle<()>, UnboundedSender<Event>)> + Send {async {
[INFO] [stdout] 267 |         let (tx, mut rx) = unbounded_channel::<Event>();
[INFO] [stdout] ...
[INFO] [stdout] 286 |         )
[INFO] [stdout] 287 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustenium v0.1.0 (/opt/rustwide/workdir/rustenium)
[INFO] [stdout] warning: unused import: `SessionResult`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ResultData, ScriptCommand, ScriptResult, SessionResult,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::nodes::{Node, NodePosition};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RemoteReference`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:41:79
[INFO] [stdout]    |
[INFO] [stdout] 41 |     ContextTarget, EvaluateResultSuccess, LocalValue, PrimitiveProtocolValue, RemoteReference,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SessionSendError`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:44:49
[INFO] [stdout]    |
[INFO] [stdout] 44 | use rustenium_core::error::{CommandResultError, SessionSendError};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |         if (self
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 124 |             > 0)
[INFO] [stdout]     |                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 119 ~         if self
[INFO] [stdout] 120 |             .browsing_contexts
[INFO] [stdout] ...
[INFO] [stdout] 123 |             .len()
[INFO] [stdout] 124 ~             > 0 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodePosition`
[INFO] [stdout]  --> rustenium/src/drivers/chrome.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::nodes::{Node, NodePosition};
[INFO] [stdout]   |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PrimitiveProtocolValue` and `RemoteValue`
[INFO] [stdout]  --> rustenium/src/drivers/chrome.rs:8:75
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rustenium_bidi_commands::script::types::{LocalValue, RemoteReference, PrimitiveProtocolValue, RemoteValue, SerializationOptions, Seri...
[INFO] [stdout]   |                                                                           ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> rustenium/src/drivers/chrome.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustenium_bidi_commands::ErrorResponse`
[INFO] [stdout]  --> rustenium/src/error.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rustenium_bidi_commands::ErrorResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocateNodesResult` and `LocateNodes`
[INFO] [stdout]  --> rustenium/src/browsers/chrome.rs:1:59
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rustenium_bidi_commands::browsing_context::commands::{LocateNodes, LocateNodesResult, NavigateResult};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::nodes::Node`
[INFO] [stdout]  --> rustenium/src/browsers/chrome.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::nodes::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Handle` and `SharedId`
[INFO] [stdout]  --> rustenium/src/nodes/bidi/node.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rustenium_bidi_commands::script::types::{Handle, NodeRemoteValue, SharedId};
[INFO] [stdout]   |                                              ^^^^^^                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]   --> rustenium/src/nodes/chrome.rs:21:37
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn get_children_nodes(&self) -> &Vec<ChromeNode> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: rustenium/src/nodes/node.rs:60:37
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_children_nodes(&self) -> &Vec<impl Node>;
[INFO] [stdout]    |                                     --------------- return type from trait method defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout]    = note: `#[warn(refining_impl_trait_reachable)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]    |
[INFO] [stdout] 21 -     fn get_children_nodes(&self) -> &Vec<ChromeNode> {
[INFO] [stdout] 21 +     fn get_children_nodes(&self) -> &Vec<impl nodes::node::Node> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connection_type`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         connection_type: SessionConnectionType,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_type`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `locator`
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:251:36
[INFO] [stdout]     |
[INFO] [stdout] 251 |         if let Locator::CssLocator(locator) = locator {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_locator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_index`
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:486:30
[INFO] [stdout]     |
[INFO] [stdout] 486 |     fn get_context_id(&self, context_index: usize) -> Result<String, ContextIndexError> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `serialization_options`
[INFO] [stdout]   --> rustenium/src/drivers/chrome.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         serialization_options: Option<SerializationOptions>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_serialization_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> rustenium/src/drivers/chrome.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |         for (i, node) in node_result.nodes.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_connection_refused` is never used
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn is_connection_refused(e: &reqwest::Error) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_browsing_context` is never used
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl<T: ConnectionTransport> BidiDriver<T> {
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     async fn new_browsing_context(&mut self) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection_transport_config` is never read
[INFO] [stdout]   --> rustenium/src/drivers/chrome.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ChromeDriver {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 41 |     connection_transport_config: ConnectionTransportConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> rustenium/src/browsers/chrome.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct ChromeBrowser {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 10 |     config: ChromeConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NodeType` is never used
[INFO] [stdout]  --> rustenium/src/nodes/node.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum NodeType {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_u16`, `as_u16`, `is_element`, and `is_text` are never used
[INFO] [stdout]   --> rustenium/src/nodes/node.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl NodeType {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn from_u16(value: u16) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn as_u16(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_element(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_text(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `children` is never read
[INFO] [stdout]  --> rustenium/src/nodes/bidi/node.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BidiNode {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 6 |     _raw_node: NodeRemoteValue,
[INFO] [stdout] 7 |     children: Vec<BidiNode>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn start(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     fn start(
[INFO] [stdout] 61 |         driver_config: &impl DriverConfiguration,
[INFO] [stdout] 62 |         connection_transport_config: &ConnectionTransportConfig,
[INFO] [stdout] 63 |         session_connection_type: SessionConnectionType,
[INFO] [stdout] 64 ~     ) -> impl std::future::Future<Output = (Session<WebsocketConnectionTransport>, Process)> + Send {async {
[INFO] [stdout] 65 |         let driver_process = Process::create(driver_config.exe_path(), driver_config.flags());
[INFO] [stdout] ...
[INFO] [stdout] 70 |         (session, driver_process)
[INFO] [stdout] 71 ~     } }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.14s
[INFO] running `Command { std: "docker" "inspect" "bf3d7ac2c4c7180aed80eff919ec39575820a9e9c4c1eeb3369770250a995be6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf3d7ac2c4c7180aed80eff919ec39575820a9e9c4c1eeb3369770250a995be6", kill_on_drop: false }`
[INFO] [stdout] bf3d7ac2c4c7180aed80eff919ec39575820a9e9c4c1eeb3369770250a995be6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 64720ec54ec0d9518c00dc8fe5e0bfad9cc27e2d8bfd7c581042f3bc652322b9
[INFO] running `Command { std: "docker" "start" "-a" "64720ec54ec0d9518c00dc8fe5e0bfad9cc27e2d8bfd7c581042f3bc652322b9", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustenium-bidi-commands v0.1.0 (/opt/rustwide/workdir/rustenium-bidi-commands)
[INFO] [stdout] warning: type `setNetworkConditionsParameters` should have an upper camel case name
[INFO] [stdout]    --> rustenium-bidi-commands/src/emulation/commands.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct setNetworkConditionsParameters {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `SetNetworkConditionsParameters`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `disownDataParameters` should have an upper camel case name
[INFO] [stdout]    --> rustenium-bidi-commands/src/network/commands.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct disownDataParameters {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DisownDataParameters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EmptyParams`
[INFO] [stdout]  --> rustenium-bidi-commands/src/session/types.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{EmptyParams, Extensible};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> rustenium-core/src/connection.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> rustenium-core/src/connection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CommandResponse`
[INFO] [stdout]  --> rustenium-core/src/connection.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rustenium_bidi_commands::{CommandResponse, Event};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transport::WebsocketConnectionTransport`
[INFO] [stdout]   --> rustenium-core/src/connection.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::transport::WebsocketConnectionTransport;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandResponse` and `ErrorResponse`
[INFO] [stdout]  --> rustenium-core/src/session.rs:5:53
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rustenium_bidi_commands::{Command, CommandData, CommandResponse, ErrorResponse, ResultData};
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::contexts::BrowsingContext`
[INFO] [stdout]   --> rustenium-core/src/session.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::contexts::BrowsingContext;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SessionSendError`
[INFO] [stdout]  --> rustenium-core/src/contexts.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::error::{CommandResultError, SessionSendError};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventData`
[INFO] [stdout]  --> rustenium-core/src/listeners.rs:3:70
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rustenium_bidi_commands::{CommandResponse, ErrorResponse, Event, EventData, Message};
[INFO] [stdout]   |                                                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unbounded_channel`
[INFO] [stdout]  --> rustenium-core/src/listeners.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::sync::{mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender}, oneshot, Mutex};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoFuture`
[INFO] [stdout]   --> rustenium-core/src/events.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::future::{Future, IntoFuture};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> rustenium-core/src/process.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut child = self.child.as_mut().unwrap();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> rustenium-core/src/process.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut check_line = |label: &str, line: Result<Option<String>, _>| -> Option<String> {
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> rustenium-core/src/process.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut check_line = |label: &str, line: Result<Option<String>, _>| -> Option<String> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_contexts`
[INFO] [stdout]    --> rustenium-core/src/events.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         user_contexts: Option<Vec<&str>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_contexts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> rustenium-core/src/transport.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     async fn send(&mut self, message: String) -> ();
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 78 -     async fn send(&mut self, message: String) -> ();
[INFO] [stdout] 78 +     fn send(&mut self, message: String) -> impl std::future::Future<Output = ()> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustenium-core v0.1.0 (/opt/rustwide/workdir/rustenium-core)
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     async fn send_event(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 101 ~     fn send_event(
[INFO] [stdout] 102 |         &mut self,
[INFO] [stdout] 103 |         command_data: CommandData,
[INFO] [stdout] 104 ~     ) -> impl std::future::Future<Output = Result<ResultData, SessionSendError>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustenium-generator v0.1.0 (/opt/rustwide/workdir/rustenium-generator)
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     async fn subscribe_events<F, R>(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 111 ~     fn subscribe_events<F, R>(
[INFO] [stdout] 112 |         &mut self,
[INFO] [stdout] ...
[INFO] [stdout] 116 |         user_contexts: Option<Vec<&str>>,
[INFO] [stdout] 117 ~     ) -> impl std::future::Future<Output = Result<Option<SubscribeResult>, CommandResultError>> + Send
[INFO] [stdout] 118 |     where
[INFO] [stdout] 119 |         F: FnMut(Event) -> R + Send + Sync + 'static,
[INFO] [stdout] 120 |         R: Future<Output=()> + Send + 'static,
[INFO] [stdout] 121 ~     {async {
[INFO] [stdout] 122 |         let browsing_context_strings = match &browsing_contexts {
[INFO] [stdout] ...
[INFO] [stdout] 192 |         }
[INFO] [stdout] 193 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 |     async fn unsubscribe_events_by_names(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 196 ~     fn unsubscribe_events_by_names(
[INFO] [stdout] 197 |         &mut self,
[INFO] [stdout] 198 |         events: HashSet<&str>,
[INFO] [stdout] 199 ~     ) -> impl std::future::Future<Output = Result<Option<UnsubscribeResult>, CommandResultError>> + Send {async {
[INFO] [stdout] 200 |         let unsubscribe_command =
[INFO] [stdout] ...
[INFO] [stdout] 237 |         }
[INFO] [stdout] 238 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 |     async fn unsubscribe_events_by_ids(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 241 ~     fn unsubscribe_events_by_ids(
[INFO] [stdout] 242 |         &mut self,
[INFO] [stdout] 243 |         subscription_ids: Vec<Subscription>,
[INFO] [stdout] 244 ~     ) -> impl std::future::Future<Output = Result<Option<UnsubscribeResult>, CommandResultError>> + Send {async {
[INFO] [stdout] 245 |         let unsubscribe_command =
[INFO] [stdout] ...
[INFO] [stdout] 263 |         }
[INFO] [stdout] 264 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     async fn event_dispatch(&mut self) -> (JoinHandle<()>, UnboundedSender<Event>) {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 266 ~     fn event_dispatch(&mut self) -> impl std::future::Future<Output = (JoinHandle<()>, UnboundedSender<Event>)> + Send {async {
[INFO] [stdout] 267 |         let (tx, mut rx) = unbounded_channel::<Event>();
[INFO] [stdout] ...
[INFO] [stdout] 286 |         )
[INFO] [stdout] 287 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SessionResult`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ResultData, ScriptCommand, ScriptResult, SessionResult,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustenium v0.1.0 (/opt/rustwide/workdir/rustenium)
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::nodes::{Node, NodePosition};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RemoteReference`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:41:79
[INFO] [stdout]    |
[INFO] [stdout] 41 |     ContextTarget, EvaluateResultSuccess, LocalValue, PrimitiveProtocolValue, RemoteReference,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SessionSendError`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:44:49
[INFO] [stdout]    |
[INFO] [stdout] 44 | use rustenium_core::error::{CommandResultError, SessionSendError};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |         if (self
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 124 |             > 0)
[INFO] [stdout]     |                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 119 ~         if self
[INFO] [stdout] 120 |             .browsing_contexts
[INFO] [stdout] ...
[INFO] [stdout] 123 |             .len()
[INFO] [stdout] 124 ~             > 0 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodePosition`
[INFO] [stdout]  --> rustenium/src/drivers/chrome.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::nodes::{Node, NodePosition};
[INFO] [stdout]   |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PrimitiveProtocolValue` and `RemoteValue`
[INFO] [stdout]  --> rustenium/src/drivers/chrome.rs:8:75
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rustenium_bidi_commands::script::types::{LocalValue, RemoteReference, PrimitiveProtocolValue, RemoteValue, SerializationOptions, Seri...
[INFO] [stdout]   |                                                                           ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> rustenium/src/drivers/chrome.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustenium_bidi_commands::ErrorResponse`
[INFO] [stdout]  --> rustenium/src/error.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rustenium_bidi_commands::ErrorResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocateNodesResult` and `LocateNodes`
[INFO] [stdout]  --> rustenium/src/browsers/chrome.rs:1:59
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rustenium_bidi_commands::browsing_context::commands::{LocateNodes, LocateNodesResult, NavigateResult};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::nodes::Node`
[INFO] [stdout]  --> rustenium/src/browsers/chrome.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::nodes::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Handle` and `SharedId`
[INFO] [stdout]  --> rustenium/src/nodes/bidi/node.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rustenium_bidi_commands::script::types::{Handle, NodeRemoteValue, SharedId};
[INFO] [stdout]   |                                              ^^^^^^                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]   --> rustenium/src/nodes/chrome.rs:21:37
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn get_children_nodes(&self) -> &Vec<ChromeNode> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: rustenium/src/nodes/node.rs:60:37
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_children_nodes(&self) -> &Vec<impl Node>;
[INFO] [stdout]    |                                     --------------- return type from trait method defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout]    = note: `#[warn(refining_impl_trait_reachable)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]    |
[INFO] [stdout] 21 -     fn get_children_nodes(&self) -> &Vec<ChromeNode> {
[INFO] [stdout] 21 +     fn get_children_nodes(&self) -> &Vec<impl nodes::node::Node> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connection_type`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         connection_type: SessionConnectionType,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_type`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `locator`
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:251:36
[INFO] [stdout]     |
[INFO] [stdout] 251 |         if let Locator::CssLocator(locator) = locator {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_locator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_index`
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:486:30
[INFO] [stdout]     |
[INFO] [stdout] 486 |     fn get_context_id(&self, context_index: usize) -> Result<String, ContextIndexError> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `serialization_options`
[INFO] [stdout]   --> rustenium/src/drivers/chrome.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         serialization_options: Option<SerializationOptions>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_serialization_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> rustenium/src/drivers/chrome.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |         for (i, node) in node_result.nodes.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_connection_refused` is never used
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn is_connection_refused(e: &reqwest::Error) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_browsing_context` is never used
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl<T: ConnectionTransport> BidiDriver<T> {
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     async fn new_browsing_context(&mut self) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection_transport_config` is never read
[INFO] [stdout]   --> rustenium/src/drivers/chrome.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ChromeDriver {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 41 |     connection_transport_config: ConnectionTransportConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> rustenium/src/browsers/chrome.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct ChromeBrowser {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 10 |     config: ChromeConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NodeType` is never used
[INFO] [stdout]  --> rustenium/src/nodes/node.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum NodeType {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_u16`, `as_u16`, `is_element`, and `is_text` are never used
[INFO] [stdout]   --> rustenium/src/nodes/node.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl NodeType {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn from_u16(value: u16) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn as_u16(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_element(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_text(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `children` is never read
[INFO] [stdout]  --> rustenium/src/nodes/bidi/node.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BidiNode {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 6 |     _raw_node: NodeRemoteValue,
[INFO] [stdout] 7 |     children: Vec<BidiNode>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn start(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     fn start(
[INFO] [stdout] 61 |         driver_config: &impl DriverConfiguration,
[INFO] [stdout] 62 |         connection_transport_config: &ConnectionTransportConfig,
[INFO] [stdout] 63 |         session_connection_type: SessionConnectionType,
[INFO] [stdout] 64 ~     ) -> impl std::future::Future<Output = (Session<WebsocketConnectionTransport>, Process)> + Send {async {
[INFO] [stdout] 65 |         let driver_process = Process::create(driver_config.exe_path(), driver_config.flags());
[INFO] [stdout] ...
[INFO] [stdout] 70 |         (session, driver_process)
[INFO] [stdout] 71 ~     } }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> rustenium-generator/src/extractor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> rustenium-generator/src/extractor.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CommandParams`
[INFO] [stdout]  --> rustenium-generator/src/parser.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::command_parser::{CommandParams, CommandDefinition};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EventDefinition` and `EventParams`
[INFO] [stdout]  --> rustenium-generator/src/parser.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::event_parser::{EventParams, EventDefinition};
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Context`
[INFO] [stdout]  --> rustenium-generator/src/parser.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> rustenium-core/src/connection.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> rustenium-core/src/connection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CommandResponse`
[INFO] [stdout]  --> rustenium-core/src/connection.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rustenium_bidi_commands::{CommandResponse, Event};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transport::WebsocketConnectionTransport`
[INFO] [stdout]   --> rustenium-core/src/connection.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::transport::WebsocketConnectionTransport;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandResponse` and `ErrorResponse`
[INFO] [stdout]  --> rustenium-core/src/session.rs:5:53
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rustenium_bidi_commands::{Command, CommandData, CommandResponse, ErrorResponse, ResultData};
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::contexts::BrowsingContext`
[INFO] [stdout]   --> rustenium-core/src/session.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::contexts::BrowsingContext;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SessionSendError`
[INFO] [stdout]  --> rustenium-core/src/contexts.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::error::{CommandResultError, SessionSendError};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventData`
[INFO] [stdout]  --> rustenium-core/src/listeners.rs:3:70
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rustenium_bidi_commands::{CommandResponse, ErrorResponse, Event, EventData, Message};
[INFO] [stdout]   |                                                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unbounded_channel`
[INFO] [stdout]  --> rustenium-core/src/listeners.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::sync::{mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender}, oneshot, Mutex};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoFuture`
[INFO] [stdout]   --> rustenium-core/src/events.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::future::{Future, IntoFuture};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SessionResult`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ResultData, ScriptCommand, ScriptResult, SessionResult,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::nodes::{Node, NodePosition};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RemoteReference`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:41:79
[INFO] [stdout]    |
[INFO] [stdout] 41 |     ContextTarget, EvaluateResultSuccess, LocalValue, PrimitiveProtocolValue, RemoteReference,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SessionSendError`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:44:49
[INFO] [stdout]    |
[INFO] [stdout] 44 | use rustenium_core::error::{CommandResultError, SessionSendError};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |         if (self
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 124 |             > 0)
[INFO] [stdout]     |                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 119 ~         if self
[INFO] [stdout] 120 |             .browsing_contexts
[INFO] [stdout] ...
[INFO] [stdout] 123 |             .len()
[INFO] [stdout] 124 ~             > 0 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodePosition`
[INFO] [stdout]  --> rustenium/src/drivers/chrome.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::nodes::{Node, NodePosition};
[INFO] [stdout]   |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PrimitiveProtocolValue` and `RemoteValue`
[INFO] [stdout]  --> rustenium/src/drivers/chrome.rs:8:75
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rustenium_bidi_commands::script::types::{LocalValue, RemoteReference, PrimitiveProtocolValue, RemoteValue, SerializationOptions, Seri...
[INFO] [stdout]   |                                                                           ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> rustenium/src/drivers/chrome.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustenium_bidi_commands::ErrorResponse`
[INFO] [stdout]  --> rustenium/src/error.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rustenium_bidi_commands::ErrorResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocateNodesResult` and `LocateNodes`
[INFO] [stdout]  --> rustenium/src/browsers/chrome.rs:1:59
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rustenium_bidi_commands::browsing_context::commands::{LocateNodes, LocateNodesResult, NavigateResult};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::nodes::Node`
[INFO] [stdout]  --> rustenium/src/browsers/chrome.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::nodes::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Handle` and `SharedId`
[INFO] [stdout]  --> rustenium/src/nodes/bidi/node.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rustenium_bidi_commands::script::types::{Handle, NodeRemoteValue, SharedId};
[INFO] [stdout]   |                                              ^^^^^^                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> rustenium/src/lib.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> rustenium-core/src/process.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut child = self.child.as_mut().unwrap();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> rustenium-core/src/process.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut check_line = |label: &str, line: Result<Option<String>, _>| -> Option<String> {
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]   --> rustenium/src/nodes/chrome.rs:21:37
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn get_children_nodes(&self) -> &Vec<ChromeNode> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: rustenium/src/nodes/node.rs:60:37
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_children_nodes(&self) -> &Vec<impl Node>;
[INFO] [stdout]    |                                     --------------- return type from trait method defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout]    = note: `#[warn(refining_impl_trait_reachable)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]    |
[INFO] [stdout] 21 -     fn get_children_nodes(&self) -> &Vec<ChromeNode> {
[INFO] [stdout] 21 +     fn get_children_nodes(&self) -> &Vec<impl nodes::node::Node> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connection_type`
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         connection_type: SessionConnectionType,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_type`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `locator`
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:251:36
[INFO] [stdout]     |
[INFO] [stdout] 251 |         if let Locator::CssLocator(locator) = locator {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_locator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_index`
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:486:30
[INFO] [stdout]     |
[INFO] [stdout] 486 |     fn get_context_id(&self, context_index: usize) -> Result<String, ContextIndexError> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `serialization_options`
[INFO] [stdout]   --> rustenium/src/drivers/chrome.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         serialization_options: Option<SerializationOptions>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_serialization_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> rustenium/src/drivers/chrome.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |         for (i, node) in node_result.nodes.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> rustenium-core/src/process.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut check_line = |label: &str, line: Result<Option<String>, _>| -> Option<String> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_connection_refused` is never used
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn is_connection_refused(e: &reqwest::Error) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_browsing_context` is never used
[INFO] [stdout]    --> rustenium/src/drivers/bidi/drivers.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl<T: ConnectionTransport> BidiDriver<T> {
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     async fn new_browsing_context(&mut self) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection_transport_config` is never read
[INFO] [stdout]   --> rustenium/src/drivers/chrome.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ChromeDriver {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 41 |     connection_transport_config: ConnectionTransportConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> rustenium/src/browsers/chrome.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct ChromeBrowser {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 10 |     config: ChromeConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NodeType` is never used
[INFO] [stdout]  --> rustenium/src/nodes/node.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum NodeType {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_u16`, `as_u16`, `is_element`, and `is_text` are never used
[INFO] [stdout]   --> rustenium/src/nodes/node.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl NodeType {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn from_u16(value: u16) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn as_u16(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_element(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_text(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `children` is never read
[INFO] [stdout]  --> rustenium/src/nodes/bidi/node.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BidiNode {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 6 |     _raw_node: NodeRemoteValue,
[INFO] [stdout] 7 |     children: Vec<BidiNode>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> rustenium/src/drivers/bidi/drivers.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn start(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     fn start(
[INFO] [stdout] 61 |         driver_config: &impl DriverConfiguration,
[INFO] [stdout] 62 |         connection_transport_config: &ConnectionTransportConfig,
[INFO] [stdout] 63 |         session_connection_type: SessionConnectionType,
[INFO] [stdout] 64 ~     ) -> impl std::future::Future<Output = (Session<WebsocketConnectionTransport>, Process)> + Send {async {
[INFO] [stdout] 65 |         let driver_process = Process::create(driver_config.exe_path(), driver_config.flags());
[INFO] [stdout] ...
[INFO] [stdout] 70 |         (session, driver_process)
[INFO] [stdout] 71 ~     } }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_contexts`
[INFO] [stdout]    --> rustenium-core/src/events.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         user_contexts: Option<Vec<&str>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_contexts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> rustenium-core/src/transport.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     async fn send(&mut self, message: String) -> ();
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 78 -     async fn send(&mut self, message: String) -> ();
[INFO] [stdout] 78 +     fn send(&mut self, message: String) -> impl std::future::Future<Output = ()> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     async fn send_event(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 101 ~     fn send_event(
[INFO] [stdout] 102 |         &mut self,
[INFO] [stdout] 103 |         command_data: CommandData,
[INFO] [stdout] 104 ~     ) -> impl std::future::Future<Output = Result<ResultData, SessionSendError>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     async fn subscribe_events<F, R>(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 111 ~     fn subscribe_events<F, R>(
[INFO] [stdout] 112 |         &mut self,
[INFO] [stdout] ...
[INFO] [stdout] 116 |         user_contexts: Option<Vec<&str>>,
[INFO] [stdout] 117 ~     ) -> impl std::future::Future<Output = Result<Option<SubscribeResult>, CommandResultError>> + Send
[INFO] [stdout] 118 |     where
[INFO] [stdout] 119 |         F: FnMut(Event) -> R + Send + Sync + 'static,
[INFO] [stdout] 120 |         R: Future<Output=()> + Send + 'static,
[INFO] [stdout] 121 ~     {async {
[INFO] [stdout] 122 |         let browsing_context_strings = match &browsing_contexts {
[INFO] [stdout] ...
[INFO] [stdout] 192 |         }
[INFO] [stdout] 193 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 |     async fn unsubscribe_events_by_names(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 196 ~     fn unsubscribe_events_by_names(
[INFO] [stdout] 197 |         &mut self,
[INFO] [stdout] 198 |         events: HashSet<&str>,
[INFO] [stdout] 199 ~     ) -> impl std::future::Future<Output = Result<Option<UnsubscribeResult>, CommandResultError>> + Send {async {
[INFO] [stdout] 200 |         let unsubscribe_command =
[INFO] [stdout] ...
[INFO] [stdout] 237 |         }
[INFO] [stdout] 238 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 |     async fn unsubscribe_events_by_ids(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 241 ~     fn unsubscribe_events_by_ids(
[INFO] [stdout] 242 |         &mut self,
[INFO] [stdout] 243 |         subscription_ids: Vec<Subscription>,
[INFO] [stdout] 244 ~     ) -> impl std::future::Future<Output = Result<Option<UnsubscribeResult>, CommandResultError>> + Send {async {
[INFO] [stdout] 245 |         let unsubscribe_command =
[INFO] [stdout] ...
[INFO] [stdout] 263 |         }
[INFO] [stdout] 264 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> rustenium-core/src/events.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     async fn event_dispatch(&mut self) -> (JoinHandle<()>, UnboundedSender<Event>) {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 266 ~     fn event_dispatch(&mut self) -> impl std::future::Future<Output = (JoinHandle<()>, UnboundedSender<Event>)> + Send {async {
[INFO] [stdout] 267 |         let (tx, mut rx) = unbounded_channel::<Event>();
[INFO] [stdout] ...
[INFO] [stdout] 286 |         )
[INFO] [stdout] 287 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module`
[INFO] [stdout]     --> rustenium-generator/src/output.rs:1299:71
[INFO] [stdout]      |
[INFO] [stdout] 1299 | fn generate_result_struct(result: &crate::command_parser::BidiResult, module: &Module) -> String {
[INFO] [stdout]      |                                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attributes`
[INFO] [stdout]   --> rustenium-generator/src/command_parser.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let attributes = extract_attributes(line)?;
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attributes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> rustenium-generator/src/command_parser.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let mut attributes = Vec::new();
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> rustenium-generator/src/command_parser.rs:150:23
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn extract_attributes(line: &str) -> Result<Vec<String>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_def`
[INFO] [stdout]    --> rustenium-generator/src/command_parser.rs:361:88
[INFO] [stdout]     |
[INFO] [stdout] 361 | ...result: &mut BidiResult, result_def: &mut ResultDefinition, module: &mut Module) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cddl_content`
[INFO] [stdout]    --> rustenium-generator/src/parser.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn extract_parameter_types(cddl_content: &str) -> Result<Vec<String>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cddl_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta_comment`
[INFO] [stdout]    --> rustenium-generator/src/parser.rs:274:24
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let (property, meta_comment) = parse_cddl_property_line(line, &updated_cddl_refs, module, type_name)?;
[INFO] [stdout]     |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_meta_comment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> rustenium-generator/src/parser.rs:417:82
[INFO] [stdout]     |
[INFO] [stdout] 417 | fn preprocess_nested_structs(cddl_content: &str, parent_type_name: Option<&str>, mut cddl_strings: Vec<&str>, module: &mut Module) -> Res...
[INFO] [stdout]     |                                                                                  ----^^^^^^^^^^^^
[INFO] [stdout]     |                                                                                  |
[INFO] [stdout]     |                                                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `commands`, `events`, and `results` are never read
[INFO] [stdout]   --> rustenium-generator/src/module.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Module {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub commands: Vec<Command>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 24 |     pub events: Vec<Event>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 25 |     pub types: Vec<BidiType>,
[INFO] [stdout] 26 |     pub results: Vec<BidiResult>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Module` 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: field `properties` is never read
[INFO] [stdout]   --> rustenium-generator/src/module.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct EmptyParamsType {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 42 |     pub properties: Vec<crate::parser::Property>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EmptyParamsType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `properties` is never read
[INFO] [stdout]   --> rustenium-generator/src/module.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct EmptyResultType {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 67 |     pub properties: Vec<crate::parser::Property>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EmptyResultType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `empty_params` and `empty_result` are never read
[INFO] [stdout]   --> rustenium-generator/src/module.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct RootProtocol {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub empty_params: EmptyParamsType,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub empty_result: EmptyResultType,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RootProtocol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EventDefinition` is never constructed
[INFO] [stdout]  --> rustenium-generator/src/extractor.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct EventDefinition {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_commands_in_module` is never used
[INFO] [stdout]   --> rustenium-generator/src/output.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn has_commands_in_module(module: &crate::module::Module) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_events_in_module` is never used
[INFO] [stdout]   --> rustenium-generator/src/output.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn has_events_in_module(module: &crate::module::Module) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content` is never read
[INFO] [stdout]   --> rustenium-generator/src/command_parser.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct CommandDefinition {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub content: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CommandDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content` is never read
[INFO] [stdout]   --> rustenium-generator/src/command_parser.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ResultDefinition {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub content: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content` is never read
[INFO] [stdout]   --> rustenium-generator/src/event_parser.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct EventDefinition {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub content: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_primitive` is never read
[INFO] [stdout]   --> rustenium-generator/src/parser.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct Property {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 53 |     pub is_enum: bool,
[INFO] [stdout] 54 |     pub is_primitive: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Property` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_parameter_types` is never used
[INFO] [stdout]    --> rustenium-generator/src/parser.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn extract_parameter_types(cddl_content: &str) -> Result<Vec<String>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `setNetworkConditionsParameters` should have an upper camel case name
[INFO] [stdout]    --> rustenium-bidi-commands/src/emulation/commands.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct setNetworkConditionsParameters {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `SetNetworkConditionsParameters`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `disownDataParameters` should have an upper camel case name
[INFO] [stdout]    --> rustenium-bidi-commands/src/network/commands.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct disownDataParameters {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DisownDataParameters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EmptyParams`
[INFO] [stdout]  --> rustenium-bidi-commands/src/session/types.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{EmptyParams, Extensible};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 15.64s
[INFO] running `Command { std: "docker" "inspect" "64720ec54ec0d9518c00dc8fe5e0bfad9cc27e2d8bfd7c581042f3bc652322b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64720ec54ec0d9518c00dc8fe5e0bfad9cc27e2d8bfd7c581042f3bc652322b9", kill_on_drop: false }`
[INFO] [stdout] 64720ec54ec0d9518c00dc8fe5e0bfad9cc27e2d8bfd7c581042f3bc652322b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 033e0c169faa08445bbb1b98f31d142b3e9d2a930062ce486116f17ecae073fb
[INFO] running `Command { std: "docker" "start" "-a" "033e0c169faa08445bbb1b98f31d142b3e9d2a930062ce486116f17ecae073fb", kill_on_drop: false }`
[INFO] [stderr] warning: type `setNetworkConditionsParameters` should have an upper camel case name
[INFO] [stderr]    --> rustenium-bidi-commands/src/emulation/commands.rs:108:12
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub struct setNetworkConditionsParameters {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `SetNetworkConditionsParameters`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `disownDataParameters` should have an upper camel case name
[INFO] [stderr]    --> rustenium-bidi-commands/src/network/commands.rs:186:12
[INFO] [stderr]     |
[INFO] [stderr] 186 | pub struct disownDataParameters {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DisownDataParameters`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EmptyParams`
[INFO] [stderr]  --> rustenium-bidi-commands/src/session/types.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::{EmptyParams, Extensible};
[INFO] [stderr]   |             ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rustenium-bidi-commands` (lib) generated 3 warnings (run `cargo fix --lib -p rustenium-bidi-commands` to apply 1 suggestion)
[INFO] [stderr] warning: `rustenium-bidi-commands` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr] warning: unused import: `std::future::Future`
[INFO] [stderr]  --> rustenium-core/src/connection.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::future::Future;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::pin::Pin`
[INFO] [stderr]  --> rustenium-core/src/connection.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::pin::Pin;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CommandResponse`
[INFO] [stderr]  --> rustenium-core/src/connection.rs:6:31
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rustenium_bidi_commands::{CommandResponse, Event};
[INFO] [stderr]   |                               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::transport::WebsocketConnectionTransport`
[INFO] [stderr]   --> rustenium-core/src/connection.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::transport::WebsocketConnectionTransport;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CommandResponse` and `ErrorResponse`
[INFO] [stderr]  --> rustenium-core/src/session.rs:5:53
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rustenium_bidi_commands::{Command, CommandData, CommandResponse, ErrorResponse, ResultData};
[INFO] [stderr]   |                                                     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::contexts::BrowsingContext`
[INFO] [stderr]   --> rustenium-core/src/session.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::contexts::BrowsingContext;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SessionSendError`
[INFO] [stderr]  --> rustenium-core/src/contexts.rs:4:40
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::error::{CommandResultError, SessionSendError};
[INFO] [stderr]   |                                        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EventData`
[INFO] [stderr]  --> rustenium-core/src/listeners.rs:3:70
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rustenium_bidi_commands::{CommandResponse, ErrorResponse, Event, EventData, Message};
[INFO] [stderr]   |                                                                      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `unbounded_channel`
[INFO] [stderr]  --> rustenium-core/src/listeners.rs:5:26
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tokio::sync::{mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender}, oneshot, Mutex};
[INFO] [stderr]   |                          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IntoFuture`
[INFO] [stderr]   --> rustenium-core/src/events.rs:16:27
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::future::{Future, IntoFuture};
[INFO] [stderr]    |                           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> rustenium-core/src/process.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut child = self.child.as_mut().unwrap();
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> rustenium-core/src/process.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut check_line = |label: &str, line: Result<Option<String>, _>| -> Option<String> {
[INFO] [stderr]    |             ----^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label`
[INFO] [stderr]   --> rustenium-core/src/process.rs:42:31
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut check_line = |label: &str, line: Result<Option<String>, _>| -> Option<String> {
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `user_contexts`
[INFO] [stderr]    --> rustenium-core/src/events.rs:116:9
[INFO] [stderr]     |
[INFO] [stderr] 116 |         user_contexts: Option<Vec<&str>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_contexts`
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> rustenium-core/src/transport.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 78 |     async fn send(&mut self, message: String) -> ();
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 78 -     async fn send(&mut self, message: String) -> ();
[INFO] [stderr] 78 +     fn send(&mut self, message: String) -> impl std::future::Future<Output = ()> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]    --> rustenium-core/src/events.rs:101:5
[INFO] [stderr]     |
[INFO] [stderr] 101 |     async fn send_event(
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]     |
[INFO] [stderr] 101 ~     fn send_event(
[INFO] [stderr] 102 |         &mut self,
[INFO] [stderr] 103 |         command_data: CommandData,
[INFO] [stderr] 104 ~     ) -> impl std::future::Future<Output = Result<ResultData, SessionSendError>> + Send;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]    --> rustenium-core/src/events.rs:111:5
[INFO] [stderr]     |
[INFO] [stderr] 111 |     async fn subscribe_events<F, R>(
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]     |
[INFO] [stderr] 111 ~     fn subscribe_events<F, R>(
[INFO] [stderr] 112 |         &mut self,
[INFO] [stderr] ...
[INFO] [stderr] 116 |         user_contexts: Option<Vec<&str>>,
[INFO] [stderr] 117 ~     ) -> impl std::future::Future<Output = Result<Option<SubscribeResult>, CommandResultError>> + Send
[INFO] [stderr] 118 |     where
[INFO] [stderr] 119 |         F: FnMut(Event) -> R + Send + Sync + 'static,
[INFO] [stderr] 120 |         R: Future<Output=()> + Send + 'static,
[INFO] [stderr] 121 ~     {async {
[INFO] [stderr] 122 |         let browsing_context_strings = match &browsing_contexts {
[INFO] [stderr] ...
[INFO] [stderr] 192 |         }
[INFO] [stderr] 193 ~     } }
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]    --> rustenium-core/src/events.rs:196:5
[INFO] [stderr]     |
[INFO] [stderr] 196 |     async fn unsubscribe_events_by_names(
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]     |
[INFO] [stderr] 196 ~     fn unsubscribe_events_by_names(
[INFO] [stderr] 197 |         &mut self,
[INFO] [stderr] 198 |         events: HashSet<&str>,
[INFO] [stderr] 199 ~     ) -> impl std::future::Future<Output = Result<Option<UnsubscribeResult>, CommandResultError>> + Send {async {
[INFO] [stderr] 200 |         let unsubscribe_command =
[INFO] [stderr] ...
[INFO] [stderr] 237 |         }
[INFO] [stderr] 238 ~     } }
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]    --> rustenium-core/src/events.rs:241:5
[INFO] [stderr]     |
[INFO] [stderr] 241 |     async fn unsubscribe_events_by_ids(
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]     |
[INFO] [stderr] 241 ~     fn unsubscribe_events_by_ids(
[INFO] [stderr] 242 |         &mut self,
[INFO] [stderr] 243 |         subscription_ids: Vec<Subscription>,
[INFO] [stderr] 244 ~     ) -> impl std::future::Future<Output = Result<Option<UnsubscribeResult>, CommandResultError>> + Send {async {
[INFO] [stderr] 245 |         let unsubscribe_command =
[INFO] [stderr] ...
[INFO] [stderr] 263 |         }
[INFO] [stderr] 264 ~     } }
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]    --> rustenium-core/src/events.rs:266:5
[INFO] [stderr]     |
[INFO] [stderr] 266 |     async fn event_dispatch(&mut self) -> (JoinHandle<()>, UnboundedSender<Event>) {
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]     |
[INFO] [stderr] 266 ~     fn event_dispatch(&mut self) -> impl std::future::Future<Output = (JoinHandle<()>, UnboundedSender<Event>)> + Send {async {
[INFO] [stderr] 267 |         let (tx, mut rx) = unbounded_channel::<Event>();
[INFO] [stderr] ...
[INFO] [stderr] 286 |         )
[INFO] [stderr] 287 ~     } }
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> rustenium-generator/src/extractor.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `regex::Regex`
[INFO] [stderr]  --> rustenium-generator/src/extractor.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use regex::Regex;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CommandParams`
[INFO] [stderr]  --> rustenium-generator/src/parser.rs:2:29
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::command_parser::{CommandParams, CommandDefinition};
[INFO] [stderr]   |                             ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `EventDefinition` and `EventParams`
[INFO] [stderr]  --> rustenium-generator/src/parser.rs:3:27
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::event_parser::{EventParams, EventDefinition};
[INFO] [stderr]   |                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `anyhow::Context`
[INFO] [stderr]  --> rustenium-generator/src/parser.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use anyhow::Context;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `module`
[INFO] [stderr]     --> rustenium-generator/src/output.rs:1299:71
[INFO] [stderr]      |
[INFO] [stderr] 1299 | fn generate_result_struct(result: &crate::command_parser::BidiResult, module: &Module) -> String {
[INFO] [stderr]      |                                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attributes`
[INFO] [stderr]   --> rustenium-generator/src/command_parser.rs:92:17
[INFO] [stderr]    |
[INFO] [stderr] 92 |             let attributes = extract_attributes(line)?;
[INFO] [stderr]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attributes`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> rustenium-generator/src/command_parser.rs:151:9
[INFO] [stderr]     |
[INFO] [stderr] 151 |     let mut attributes = Vec::new();
[INFO] [stderr]     |         ----^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `line`
[INFO] [stderr]    --> rustenium-generator/src/command_parser.rs:150:23
[INFO] [stderr]     |
[INFO] [stderr] 150 | fn extract_attributes(line: &str) -> Result<Vec<String>, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result_def`
[INFO] [stderr]    --> rustenium-generator/src/command_parser.rs:361:88
[INFO] [stderr]     |
[INFO] [stderr] 361 | ...result: &mut BidiResult, result_def: &mut ResultDefinition, module: &mut Module) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_def`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cddl_content`
[INFO] [stderr]    --> rustenium-generator/src/parser.rs:222:32
[INFO] [stderr]     |
[INFO] [stderr] 222 | pub fn extract_parameter_types(cddl_content: &str) -> Result<Vec<String>, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cddl_content`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `meta_comment`
[INFO] [stderr]    --> rustenium-generator/src/parser.rs:274:24
[INFO] [stderr]     |
[INFO] [stderr] 274 |         let (property, meta_comment) = parse_cddl_property_line(line, &updated_cddl_refs, module, type_name)?;
[INFO] [stderr]     |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_meta_comment`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> rustenium-generator/src/parser.rs:417:82
[INFO] [stderr]     |
[INFO] [stderr] 417 | fn preprocess_nested_structs(cddl_content: &str, parent_type_name: Option<&str>, mut cddl_strings: Vec<&str>, module: &mut Module) -> Res...
[INFO] [stderr]     |                                                                                  ----^^^^^^^^^^^^
[INFO] [stderr]     |                                                                                  |
[INFO] [stderr]     |                                                                                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `commands`, `events`, and `results` are never read
[INFO] [stderr]   --> rustenium-generator/src/module.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct Module {
[INFO] [stderr]    |            ------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub commands: Vec<Command>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 24 |     pub events: Vec<Event>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 25 |     pub types: Vec<BidiType>,
[INFO] [stderr] 26 |     pub results: Vec<BidiResult>,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Module` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `properties` is never read
[INFO] [stderr]   --> rustenium-generator/src/module.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub struct EmptyParamsType {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 42 |     pub properties: Vec<crate::parser::Property>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EmptyParamsType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `properties` is never read
[INFO] [stderr]   --> rustenium-generator/src/module.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub struct EmptyResultType {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 67 |     pub properties: Vec<crate::parser::Property>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EmptyResultType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `empty_params` and `empty_result` are never read
[INFO] [stderr]   --> rustenium-generator/src/module.rs:89:9
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub struct RootProtocol {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 89 |     pub empty_params: EmptyParamsType,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 94 |     pub empty_result: EmptyResultType,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RootProtocol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EventDefinition` is never constructed
[INFO] [stderr]  --> rustenium-generator/src/extractor.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct EventDefinition {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `has_commands_in_module` is never used
[INFO] [stderr]   --> rustenium-generator/src/output.rs:11:4
[INFO] [stderr]    |
[INFO] [stderr] 11 | fn has_commands_in_module(module: &crate::module::Module) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `has_events_in_module` is never used
[INFO] [stderr]   --> rustenium-generator/src/output.rs:16:4
[INFO] [stderr]    |
[INFO] [stderr] 16 | fn has_events_in_module(module: &crate::module::Module) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `content` is never read
[INFO] [stderr]   --> rustenium-generator/src/command_parser.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct CommandDefinition {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 12 |     pub content: String,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CommandDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `content` is never read
[INFO] [stderr]   --> rustenium-generator/src/command_parser.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct ResultDefinition {
[INFO] [stderr]    |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub content: String,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ResultDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `content` is never read
[INFO] [stderr]   --> rustenium-generator/src/event_parser.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct EventDefinition {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 12 |     pub content: String,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EventDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `is_primitive` is never read
[INFO] [stderr]   --> rustenium-generator/src/parser.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub struct Property {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 53 |     pub is_enum: bool,
[INFO] [stderr] 54 |     pub is_primitive: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Property` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_parameter_types` is never used
[INFO] [stderr]    --> rustenium-generator/src/parser.rs:222:8
[INFO] [stderr]     |
[INFO] [stderr] 222 | pub fn extract_parameter_types(cddl_content: &str) -> Result<Vec<String>, Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rustenium-core` (lib) generated 20 warnings (run `cargo fix --lib -p rustenium-core` to apply 14 suggestions)
[INFO] [stderr] warning: `rustenium-generator` (bin "rustenium-generator" test) generated 25 warnings (run `cargo fix --bin "rustenium-generator" -p rustenium-generator --tests` to apply 13 suggestions)
[INFO] [stderr] warning: `rustenium-core` (lib test) generated 20 warnings (20 duplicates)
[INFO] [stderr] warning: unused import: `SessionResult`
[INFO] [stderr]   --> rustenium/src/drivers/bidi/drivers.rs:22:46
[INFO] [stderr]    |
[INFO] [stderr] 22 |     ResultData, ScriptCommand, ScriptResult, SessionResult,
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Node`
[INFO] [stderr]   --> rustenium/src/drivers/bidi/drivers.rs:32:20
[INFO] [stderr]    |
[INFO] [stderr] 32 | use crate::nodes::{Node, NodePosition};
[INFO] [stderr]    |                    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RemoteReference`
[INFO] [stderr]   --> rustenium/src/drivers/bidi/drivers.rs:41:79
[INFO] [stderr]    |
[INFO] [stderr] 41 |     ContextTarget, EvaluateResultSuccess, LocalValue, PrimitiveProtocolValue, RemoteReference,
[INFO] [stderr]    |                                                                               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SessionSendError`
[INFO] [stderr]   --> rustenium/src/drivers/bidi/drivers.rs:44:49
[INFO] [stderr]    |
[INFO] [stderr] 44 | use rustenium_core::error::{CommandResultError, SessionSendError};
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> rustenium/src/drivers/bidi/drivers.rs:119:12
[INFO] [stderr]     |
[INFO] [stderr] 119 |         if (self
[INFO] [stderr]     |            ^
[INFO] [stderr] ...
[INFO] [stderr] 124 |             > 0)
[INFO] [stderr]     |                ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 119 ~         if self
[INFO] [stderr] 120 |             .browsing_contexts
[INFO] [stderr] ...
[INFO] [stderr] 123 |             .len()
[INFO] [stderr] 124 ~             > 0 
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NodePosition`
[INFO] [stderr]  --> rustenium/src/drivers/chrome.rs:5:26
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::nodes::{Node, NodePosition};
[INFO] [stderr]   |                          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PrimitiveProtocolValue` and `RemoteValue`
[INFO] [stderr]  --> rustenium/src/drivers/chrome.rs:8:75
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rustenium_bidi_commands::script::types::{LocalValue, RemoteReference, PrimitiveProtocolValue, RemoteValue, SerializationOptions, Seri...
[INFO] [stderr]   |                                                                           ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> rustenium/src/drivers/chrome.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rustenium_bidi_commands::ErrorResponse`
[INFO] [stderr]  --> rustenium/src/error.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rustenium_bidi_commands::ErrorResponse;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `LocateNodesResult` and `LocateNodes`
[INFO] [stderr]  --> rustenium/src/browsers/chrome.rs:1:59
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rustenium_bidi_commands::browsing_context::commands::{LocateNodes, LocateNodesResult, NavigateResult};
[INFO] [stderr]   |                                                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::nodes::Node`
[INFO] [stderr]  --> rustenium/src/browsers/chrome.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::nodes::Node;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Handle` and `SharedId`
[INFO] [stderr]  --> rustenium/src/nodes/bidi/node.rs:2:46
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rustenium_bidi_commands::script::types::{Handle, NodeRemoteValue, SharedId};
[INFO] [stderr]   |                                              ^^^^^^                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stderr]   --> rustenium/src/nodes/chrome.rs:21:37
[INFO] [stderr]    |
[INFO] [stderr] 21 |     fn get_children_nodes(&self) -> &Vec<ChromeNode> {
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: rustenium/src/nodes/node.rs:60:37
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn get_children_nodes(&self) -> &Vec<impl Node>;
[INFO] [stderr]    |                                     --------------- return type from trait method defined here
[INFO] [stderr]    |
[INFO] [stderr]    = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stderr]    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stderr]    = note: `#[warn(refining_impl_trait_reachable)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stderr] help: replace the return type so that it matches the trait
[INFO] [stderr]    |
[INFO] [stderr] 21 -     fn get_children_nodes(&self) -> &Vec<ChromeNode> {
[INFO] [stderr] 21 +     fn get_children_nodes(&self) -> &Vec<impl nodes::node::Node> {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `connection_type`
[INFO] [stderr]   --> rustenium/src/drivers/bidi/drivers.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |         connection_type: SessionConnectionType,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_type`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `locator`
[INFO] [stderr]    --> rustenium/src/drivers/bidi/drivers.rs:251:36
[INFO] [stderr]     |
[INFO] [stderr] 251 |         if let Locator::CssLocator(locator) = locator {
[INFO] [stderr]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_locator`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context_index`
[INFO] [stderr]    --> rustenium/src/drivers/bidi/drivers.rs:486:30
[INFO] [stderr]     |
[INFO] [stderr] 486 |     fn get_context_id(&self, context_index: usize) -> Result<String, ContextIndexError> {
[INFO] [stderr]     |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `serialization_options`
[INFO] [stderr]   --> rustenium/src/drivers/chrome.rs:83:9
[INFO] [stderr]    |
[INFO] [stderr] 83 |         serialization_options: Option<SerializationOptions>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_serialization_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> rustenium/src/drivers/chrome.rs:102:14
[INFO] [stderr]     |
[INFO] [stderr] 102 |         for (i, node) in node_result.nodes.iter().enumerate() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_connection_refused` is never used
[INFO] [stderr]   --> rustenium/src/drivers/bidi/drivers.rs:47:4
[INFO] [stderr]    |
[INFO] [stderr] 47 | fn is_connection_refused(e: &reqwest::Error) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `new_browsing_context` is never used
[INFO] [stderr]    --> rustenium/src/drivers/bidi/drivers.rs:147:14
[INFO] [stderr]     |
[INFO] [stderr]  83 | impl<T: ConnectionTransport> BidiDriver<T> {
[INFO] [stderr]     | ------------------------------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 147 |     async fn new_browsing_context(&mut self) -> bool {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `connection_transport_config` is never read
[INFO] [stderr]   --> rustenium/src/drivers/chrome.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub struct ChromeDriver {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] 41 |     connection_transport_config: ConnectionTransportConfig,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> rustenium/src/browsers/chrome.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct ChromeBrowser {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] 10 |     config: ChromeConfig,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `NodeType` is never used
[INFO] [stderr]  --> rustenium/src/nodes/node.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub enum NodeType {
[INFO] [stderr]   |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_u16`, `as_u16`, `is_element`, and `is_text` are never used
[INFO] [stderr]   --> rustenium/src/nodes/node.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl NodeType {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] 21 |     pub fn from_u16(value: u16) -> Option<Self> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn as_u16(&self) -> u16 {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn is_element(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn is_text(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `children` is never read
[INFO] [stderr]  --> rustenium/src/nodes/bidi/node.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct BidiNode {
[INFO] [stderr]   |            -------- field in this struct
[INFO] [stderr] 6 |     _raw_node: NodeRemoteValue,
[INFO] [stderr] 7 |     children: Vec<BidiNode>,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> rustenium/src/drivers/bidi/drivers.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 60 |     async fn start(
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 60 ~     fn start(
[INFO] [stderr] 61 |         driver_config: &impl DriverConfiguration,
[INFO] [stderr] 62 |         connection_transport_config: &ConnectionTransportConfig,
[INFO] [stderr] 63 |         session_connection_type: SessionConnectionType,
[INFO] [stderr] 64 ~     ) -> impl std::future::Future<Output = (Session<WebsocketConnectionTransport>, Process)> + Send {async {
[INFO] [stderr] 65 |         let driver_process = Process::create(driver_config.exe_path(), driver_config.flags());
[INFO] [stderr] ...
[INFO] [stderr] 70 |         (session, driver_process)
[INFO] [stderr] 71 ~     } }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> rustenium/src/lib.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rustenium` (lib) generated 26 warnings (run `cargo fix --lib -p rustenium` to apply 17 suggestions)
[INFO] [stderr] warning: `rustenium` (lib test) generated 27 warnings (26 duplicates) (run `cargo fix --lib -p rustenium --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustenium-8dc6ba89f703558c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/browser.rs (/opt/rustwide/target/debug/deps/browser-862049b679ddffbc)
[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] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test open_browser ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- open_browser stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'open_browser' (27) panicked at /opt/rustwide/workdir/rustenium-core/src/process.rs:23:14:
[INFO] [stdout] Failed to start process: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6003b6c20b52 - std::backtrace_rs::backtrace::libunwind::trace::h786de35fecf3582f
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6003b6c20b52 - std::backtrace_rs::backtrace::trace_unsynchronized::h4a7da1a2a64387f1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6003b6c20b52 - std::sys::backtrace::_print_fmt::h6bd7d500070c788c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x6003b6c20b52 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d82c1afff976903
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x6003b6c31d9f - core::fmt::rt::Argument::fmt::hc4ce6d643d397690
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x6003b6c31d9f - core::fmt::write::hb1e7ca88b6a3936e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x6003b6becd33 - std::io::default_write_fmt::haffd49d96f1984a8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6003b6becd33 - std::io::Write::write_fmt::h027871c57cf57c01
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x6003b6bf9962 - std::sys::backtrace::BacktraceLock::print::ha2430613ee79d059
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x6003b6bfe80f - std::panicking::default_hook::{{closure}}::hdbd2db9e5c303cf6
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x6003b6bfe6a1 - std::panicking::default_hook::hed93c70cba5fdcf0
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x6003b66990ae - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd0ee8b569efc6a07
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x6003b66990ae - test::test_main_with_exit_callback::{{closure}}::hf10864b576ecd15d
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6003b6bfeecf - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a55ca34534c0d00
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x6003b6bfeecf - std::panicking::panic_with_hook::h3862d766c2cec19b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x6003b6bfec7a - std::panicking::panic_handler::{{closure}}::hb95eb402b5e28ee1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x6003b6bf9aa9 - std::sys::backtrace::__rust_end_short_backtrace::hf73a26dc1835d85a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x6003b6be15cd - __rustc[6ed5915ee467787]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x6003b6c3b030 - core::panicking::panic_fmt::h3454303eb8e6f7cd
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6003b6c3a536 - core::result::unwrap_failed::h2380020e6daeb464
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x6003b6767dc3 - core::result::Result<T,E>::expect::h0948ef4a23166d3c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6003b6703a4d - rustenium_core::process::Process::create::h8c3c66d82c864a14
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium-core/src/process.rs:23:14
[INFO] [stdout]   22:     0x6003b67450d5 - rustenium::drivers::bidi::drivers::BidiDrive::start::{{closure}}::h301ee5a964e7e4f2
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/src/drivers/bidi/drivers.rs:65:30
[INFO] [stdout]   23:     0x6003b66cab8b - rustenium::drivers::chrome::ChromeDriver::new::{{closure}}::h26690439b304181c
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/src/drivers/chrome.rs:53:89
[INFO] [stdout]   24:     0x6003b6720a96 - rustenium::browsers::chrome::create_chrome_driver::{{closure}}::h8147b316323ec2cd
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/src/browsers/chrome.rs:54:51
[INFO] [stdout]   25:     0x6003b6720729 - rustenium::browsers::chrome::ChromeBrowser::new::{{closure}}::h0e07fb5ff7db18b1
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/src/browsers/chrome.rs:17:58
[INFO] [stdout]   26:     0x6003b6720d26 - rustenium::browsers::chrome::create_chrome_browser::{{closure}}::hb6b5ef746346e6fe
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/src/browsers/chrome.rs:49:53
[INFO] [stdout]   27:     0x6003b666cb17 - browser::open_browser::{{closure}}::h332bcc586df12d24
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/tests/browser.rs:14:53
[INFO] [stdout]   28:     0x6003b666c132 - <core::pin::Pin<P> as core::future::future::Future>::poll::hf3103f519b246c65
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/future/future.rs:133:9
[INFO] [stdout]   29:     0x6003b666c0ed - <core::pin::Pin<P> as core::future::future::Future>::poll::h7cafc62638e0fc4c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/future/future.rs:133:9
[INFO] [stdout]   30:     0x6003b66738cd - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h1476b6792db36689
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:729:73
[INFO] [stdout]   31:     0x6003b667367b - tokio::runtime::coop::with_budget::h135bed85557bee83
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:107:5
[INFO] [stdout]   32:     0x6003b667367b - tokio::runtime::coop::budget::h9ae1b4304c9191ac
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:73:5
[INFO] [stdout]   33:     0x6003b667367b - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h6d7fc2f1a32b081a
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:729:25
[INFO] [stdout]   34:     0x6003b66709a0 - tokio::runtime::scheduler::current_thread::Context::enter::h49157e41232dd0e4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:428:19
[INFO] [stdout]   35:     0x6003b6672d30 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::he9b9229b59400742
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:728:44
[INFO] [stdout]   36:     0x6003b6671f54 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hc558952715900237
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:807:68
[INFO] [stdout]   37:     0x6003b666a6db - tokio::runtime::context::scoped::Scoped<T>::set::h6156a23beb4e4240
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   38:     0x6003b666a419 - tokio::runtime::context::set_scheduler::{{closure}}::hd83a5e482eea2706
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:38
[INFO] [stdout]   39:     0x6003b66646b2 - std::thread::local::LocalKey<T>::try_with::h396ddd6b34ddc31c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/local.rs:508:12
[INFO] [stdout]   40:     0x6003b6663d5e - std::thread::local::LocalKey<T>::with::h2ca178e552b16259
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/local.rs:472:20
[INFO] [stdout]   41:     0x6003b666a38d - tokio::runtime::context::set_scheduler::hf7cab12af442a2d9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:17
[INFO] [stdout]   42:     0x6003b6671ce0 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::hfdfe7007b09c089d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:807:27
[INFO] [stdout]   43:     0x6003b6671fd3 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hf75345e3b5ec9411
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:716:24
[INFO] [stdout]   44:     0x6003b6670263 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hc07b4d6e42393a8f
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:196:33
[INFO] [stdout]   45:     0x6003b666ada0 - tokio::runtime::context::runtime::enter_runtime::h79f20b69096d6bef
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   46:     0x6003b666fc01 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h5e6ebdf1e72ffde8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:184:9
[INFO] [stdout]   47:     0x6003b666b924 - tokio::runtime::runtime::Runtime::block_on_inner::h31695ddaed440c45
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   48:     0x6003b666bae7 - tokio::runtime::runtime::Runtime::block_on::h48c112c6dc2d5421
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   49:     0x6003b666c7f0 - browser::open_browser::hb2709baa8b044cf1
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/tests/browser.rs:20:41
[INFO] [stdout]   50:     0x6003b666d6a7 - browser::open_browser::{{closure}}::he27ecfc4be296958
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/tests/browser.rs:8:24
[INFO] [stdout]   51:     0x6003b6665086 - core::ops::function::FnOnce::call_once::h85ac077e4512d3c3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   52:     0x6003b6698e8b - core::ops::function::FnOnce::call_once::ha729ee35d2fab541
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x6003b6698e8b - test::__rust_begin_short_backtrace::ha40f4db8207e1111
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:663:18
[INFO] [stdout]   54:     0x6003b66acf0d - test::run_test_in_process::{{closure}}::hc1b77cda5d44f0f3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:74
[INFO] [stdout]   55:     0x6003b66acf0d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1dbea1de64785521
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   56:     0x6003b66acf0d - std::panicking::catch_unwind::do_call::hd5febe9affd5a1b3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   57:     0x6003b66acf0d - std::panicking::catch_unwind::h51ea89627559b6f4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   58:     0x6003b66acf0d - std::panic::catch_unwind::hb8b8c2367cae3d66
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   59:     0x6003b66acf0d - test::run_test_in_process::ha5b55801407ea100
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:27
[INFO] [stdout]   60:     0x6003b66acf0d - test::run_test::{{closure}}::h0b9d4072b527abf5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:607:43
[INFO] [stdout]   61:     0x6003b6686424 - test::run_test::{{closure}}::hb1056b5731205822
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:637:41
[INFO] [stdout]   62:     0x6003b6686424 - std::sys::backtrace::__rust_begin_short_backtrace::hb61ff5a34023c7ef
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   63:     0x6003b6689d5a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hb0a83c0e8b353cff
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   64:     0x6003b6689d5a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb4f32cb008535298
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   65:     0x6003b6689d5a - std::panicking::catch_unwind::do_call::h16d110e4fc35789a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   66:     0x6003b6689d5a - std::panicking::catch_unwind::hea9118f355699c4b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   67:     0x6003b6689d5a - std::panic::catch_unwind::hf4b3c2a06d3f42f5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   68:     0x6003b6689d5a - std::thread::Builder::spawn_unchecked_::{{closure}}::h3f4cb733a52d53d5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   69:     0x6003b6689d5a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4052f0967b37caeb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   70:     0x6003b6bf4dbf - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ec433abd3f148b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   71:     0x6003b6bf4dbf - std::sys::thread::unix::Thread::new::thread_start::he514622d3d7ba65c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   72:     0x74f30eccdaa4 - <unknown>
[INFO] [stdout]   73:     0x74f30ed5aa64 - clone
[INFO] [stdout]   74:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     open_browser
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p rustenium --test browser`
[INFO] running `Command { std: "docker" "inspect" "033e0c169faa08445bbb1b98f31d142b3e9d2a930062ce486116f17ecae073fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "033e0c169faa08445bbb1b98f31d142b3e9d2a930062ce486116f17ecae073fb", kill_on_drop: false }`
[INFO] [stdout] 033e0c169faa08445bbb1b98f31d142b3e9d2a930062ce486116f17ecae073fb
