[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 try#9f93af291970322f4f1c6315ccde4d7078201159 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-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Ishogbon/rustenium on toolchain 9f93af291970322f4f1c6315ccde4d7078201159
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "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" "+9f93af291970322f4f1c6315ccde4d7078201159" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b185c5cfd3bb14a0c0b59fd5e69e22d303374db3a60ead1967f608b7074cbad3
[INFO] running `Command { std: "docker" "start" "-a" "b185c5cfd3bb14a0c0b59fd5e69e22d303374db3a60ead1967f608b7074cbad3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b185c5cfd3bb14a0c0b59fd5e69e22d303374db3a60ead1967f608b7074cbad3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b185c5cfd3bb14a0c0b59fd5e69e22d303374db3a60ead1967f608b7074cbad3", kill_on_drop: false }`
[INFO] [stdout] b185c5cfd3bb14a0c0b59fd5e69e22d303374db3a60ead1967f608b7074cbad3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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" "+9f93af291970322f4f1c6315ccde4d7078201159" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 55f48f25bf31fea9693d026cec7ceee0227d1d67c1b8b151ca8ad05b85ebf459
[INFO] running `Command { std: "docker" "start" "-a" "55f48f25bf31fea9693d026cec7ceee0227d1d67c1b8b151ca8ad05b85ebf459", 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 simdutf8 v0.1.5
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rustls-pki-types v1.11.0
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling http v1.2.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling openssl-sys v0.9.107
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling openssl v0.10.72
[INFO] [stderr]    Compiling native-tls v0.2.14
[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 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 icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[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 zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[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 yoke v0.7.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde v1.0.228
[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 indexmap v2.9.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling serde_valid v2.0.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling rustenium-bidi-commands v0.1.0 (/opt/rustwide/workdir/rustenium-bidi-commands)
[INFO] [stderr]    Compiling icu_properties v1.5.1
[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 fastwebsockets v0.10.0
[INFO] [stderr]    Compiling hyper-tls v0.6.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 1m 08s
[INFO] running `Command { std: "docker" "inspect" "55f48f25bf31fea9693d026cec7ceee0227d1d67c1b8b151ca8ad05b85ebf459", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55f48f25bf31fea9693d026cec7ceee0227d1d67c1b8b151ca8ad05b85ebf459", kill_on_drop: false }`
[INFO] [stdout] 55f48f25bf31fea9693d026cec7ceee0227d1d67c1b8b151ca8ad05b85ebf459
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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" "+9f93af291970322f4f1c6315ccde4d7078201159" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6180e941ad8cb4be2a45837745c62f784599a0f58f5b33e2ab89530b85462585
[INFO] running `Command { std: "docker" "start" "-a" "6180e941ad8cb4be2a45837745c62f784599a0f58f5b33e2ab89530b85462585", kill_on_drop: false }`
[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 rustenium-bidi-commands v0.1.0 (/opt/rustwide/workdir/rustenium-bidi-commands)
[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] [stderr]    Compiling rustenium-core v0.1.0 (/opt/rustwide/workdir/rustenium-core)
[INFO] [stderr]    Compiling rustenium-generator v0.1.0 (/opt/rustwide/workdir/rustenium-generator)
[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] [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]    Compiling rustenium v0.1.0 (/opt/rustwide/workdir/rustenium)
[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: 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 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: 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: 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: `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: `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: 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: 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: 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: `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: 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: 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: 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 16.52s
[INFO] running `Command { std: "docker" "inspect" "6180e941ad8cb4be2a45837745c62f784599a0f58f5b33e2ab89530b85462585", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6180e941ad8cb4be2a45837745c62f784599a0f58f5b33e2ab89530b85462585", kill_on_drop: false }`
[INFO] [stdout] 6180e941ad8cb4be2a45837745c62f784599a0f58f5b33e2ab89530b85462585
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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" "+9f93af291970322f4f1c6315ccde4d7078201159" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a309e3b68e719ca836b1c8cf4687202a25cfec8eea43dff8f3bdd84c5a002b60
[INFO] running `Command { std: "docker" "start" "-a" "a309e3b68e719ca836b1c8cf4687202a25cfec8eea43dff8f3bdd84c5a002b60", 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: `rustenium-core` (lib) generated 20 warnings (run `cargo fix --lib -p rustenium-core` to apply 14 suggestions)
[INFO] [stderr] warning: `rustenium-core` (lib test) generated 20 warnings (20 duplicates)
[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-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: 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.30s
[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] [stderr] error: test failed, to rerun pass `-p rustenium --test browser`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- open_browser stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'open_browser' (26) 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:     0x61d9d45078c2 - std::backtrace_rs::backtrace::libunwind::trace::h16affffe904e891e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x61d9d45078c2 - std::backtrace_rs::backtrace::trace_unsynchronized::h5c14b13373ed4150
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x61d9d45078c2 - std::sys::backtrace::_print_fmt::hcbb507f162c816cc
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x61d9d45078c2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8be9aa933f14675f
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x61d9d4518b0f - core::fmt::rt::Argument::fmt::h30ed739d33467c3a
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x61d9d4518b0f - core::fmt::write::hfd0efbb002ac7eea
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x61d9d44d3bd3 - std::io::default_write_fmt::hd6d24501f2d7f8d3
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x61d9d44d3bd3 - std::io::Write::write_fmt::h79eca2f72fc24111
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x61d9d44e06d2 - std::sys::backtrace::BacktraceLock::print::hf2554f6030d393f7
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x61d9d44e557f - std::panicking::default_hook::{{closure}}::h8873121c56335b01
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x61d9d44e5411 - std::panicking::default_hook::hbafefc2d196267a2
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x61d9d3f7f6fe - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha834d5846f91b30b
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x61d9d3f7f6fe - test::test_main_with_exit_callback::{{closure}}::h63c167737eecb025
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x61d9d44e5c3f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hbf9b0f7a281291fd
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x61d9d44e5c3f - std::panicking::panic_with_hook::h9f5b09d5adc1a745
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x61d9d44e59ea - std::panicking::panic_handler::{{closure}}::h08111e483bdf6a89
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x61d9d44e0809 - std::sys::backtrace::__rust_end_short_backtrace::h1b86e3414ecbbe8d
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x61d9d44c833d - __rustc[b292c645e8102103]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x61d9d4521da0 - core::panicking::panic_fmt::h31cc490ecc8cc1fa
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x61d9d45212a6 - core::result::unwrap_failed::he05762ef9e6bdf9c
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x61d9d3fefaa3 - core::result::Result<T,E>::expect::h8afe192b3a14a802
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x61d9d403fb1d - rustenium_core::process::Process::create::h6a50f129217b4fe3
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium-core/src/process.rs:23:14
[INFO] [stdout]   22:     0x61d9d401c875 - rustenium::drivers::bidi::drivers::BidiDrive::start::{{closure}}::h3660f0049bfd5a38
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/src/drivers/bidi/drivers.rs:65:30
[INFO] [stdout]   23:     0x61d9d40584fb - rustenium::drivers::chrome::ChromeDriver::new::{{closure}}::ha48b9d2d30794575
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/src/drivers/chrome.rs:53:89
[INFO] [stdout]   24:     0x61d9d4003a86 - rustenium::browsers::chrome::create_chrome_driver::{{closure}}::h0ee134c1c89787e3
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/src/browsers/chrome.rs:54:51
[INFO] [stdout]   25:     0x61d9d4003719 - rustenium::browsers::chrome::ChromeBrowser::new::{{closure}}::h0563421b9dbe1f08
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/src/browsers/chrome.rs:17:58
[INFO] [stdout]   26:     0x61d9d4003d16 - rustenium::browsers::chrome::create_chrome_browser::{{closure}}::h5dc7af18b1b25966
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/src/browsers/chrome.rs:49:53
[INFO] [stdout]   27:     0x61d9d3f53197 - browser::open_browser::{{closure}}::h412dccd0c0129093
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/tests/browser.rs:14:53
[INFO] [stdout]   28:     0x61d9d3f52762 - <core::pin::Pin<P> as core::future::future::Future>::poll::hde3f530cd8d814d2
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/future/future.rs:133:9
[INFO] [stdout]   29:     0x61d9d3f5271d - <core::pin::Pin<P> as core::future::future::Future>::poll::ha21f911962bf4901
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/future/future.rs:133:9
[INFO] [stdout]   30:     0x61d9d3f59f5d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h9bdca100262360ed
[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:     0x61d9d3f59e6b - tokio::runtime::coop::with_budget::h9547ed9acd9c2497
[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:     0x61d9d3f59e6b - tokio::runtime::coop::budget::hd129b975519755cd
[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:     0x61d9d3f59e6b - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::haca06a33910b712c
[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:     0x61d9d3f56fc0 - tokio::runtime::scheduler::current_thread::Context::enter::h78111534d436fdb1
[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:     0x61d9d3f588e0 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h5c736e6114186722
[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:     0x61d9d3f58584 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h5961793c8f7af3c9
[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:     0x61d9d3f50d0b - tokio::runtime::context::scoped::Scoped<T>::set::hda2de94aa85fc093
[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:     0x61d9d3f50a09 - tokio::runtime::context::set_scheduler::{{closure}}::h5f1cedf43dbe87e0
[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:     0x61d9d3f4b442 - std::thread::local::LocalKey<T>::try_with::he7cc35757777dcff
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/thread/local.rs:508:12
[INFO] [stdout]   40:     0x61d9d3f4a5ae - std::thread::local::LocalKey<T>::with::hb0159f41edc84450
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/thread/local.rs:472:20
[INFO] [stdout]   41:     0x61d9d3f5097d - tokio::runtime::context::set_scheduler::h6898d26b7f5cfd39
[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:     0x61d9d3f58330 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::hd384a881fe6e0b29
[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:     0x61d9d3f58623 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hf1f545553d457bb4
[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:     0x61d9d3f568b3 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hd93425e0cd8c1486
[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:     0x61d9d3f51270 - tokio::runtime::context::runtime::enter_runtime::h7b55b53e4da9e15e
[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:     0x61d9d3f56251 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h1cd842b798a90497
[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:     0x61d9d3f51e44 - tokio::runtime::runtime::Runtime::block_on_inner::h0d2de5277141d015
[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:     0x61d9d3f52117 - tokio::runtime::runtime::Runtime::block_on::h587c0680c077906c
[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:     0x61d9d3f52e40 - browser::open_browser::h7acea1ff36a565d9
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/tests/browser.rs:20:41
[INFO] [stdout]   50:     0x61d9d3f52ed7 - browser::open_browser::{{closure}}::h16881b782fe02a33
[INFO] [stdout]                                at /opt/rustwide/workdir/rustenium/tests/browser.rs:8:24
[INFO] [stdout]   51:     0x61d9d3f4b696 - core::ops::function::FnOnce::call_once::h876566c2735020e6
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   52:     0x61d9d3f7f4fb - core::ops::function::FnOnce::call_once::h2b2de5fdd23aab3e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x61d9d3f7f4fb - test::__rust_begin_short_backtrace::he551dd004770be01
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:663:18
[INFO] [stdout]   54:     0x61d9d3f9355d - test::run_test_in_process::{{closure}}::h5f0b44080a35ed87
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:686:74
[INFO] [stdout]   55:     0x61d9d3f9355d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4dbf65d14893ecf5
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   56:     0x61d9d3f9355d - std::panicking::catch_unwind::do_call::hc37c563b8a006285
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:590:40
[INFO] [stdout]   57:     0x61d9d3f9355d - std::panicking::catch_unwind::h616b6e2e7a27f612
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:553:19
[INFO] [stdout]   58:     0x61d9d3f9355d - std::panic::catch_unwind::h1e788dd57758e6d8
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panic.rs:359:14
[INFO] [stdout]   59:     0x61d9d3f9355d - test::run_test_in_process::hf073c2764f29f8ad
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:686:27
[INFO] [stdout]   60:     0x61d9d3f9355d - test::run_test::{{closure}}::h3dc46b7a0c340fa6
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:607:43
[INFO] [stdout]   61:     0x61d9d3f6caa4 - test::run_test::{{closure}}::h6a4da3c57ef4505f
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:637:41
[INFO] [stdout]   62:     0x61d9d3f6caa4 - std::sys::backtrace::__rust_begin_short_backtrace::hfd8e44bc311a5d57
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   63:     0x61d9d3f702fa - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h57c4ddec344fe24c
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   64:     0x61d9d3f702fa - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd7cbe09591f06dfb
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   65:     0x61d9d3f702fa - std::panicking::catch_unwind::do_call::hdcd076e8e993dfbc
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:590:40
[INFO] [stdout]   66:     0x61d9d3f702fa - std::panicking::catch_unwind::h8f9f675f3756eab1
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:553:19
[INFO] [stdout]   67:     0x61d9d3f702fa - std::panic::catch_unwind::he8f74a93abeceb9b
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panic.rs:359:14
[INFO] [stdout]   68:     0x61d9d3f702fa - std::thread::Builder::spawn_unchecked_::{{closure}}::he43db13a2caa41d5
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   69:     0x61d9d3f702fa - core::ops::function::FnOnce::call_once{{vtable.shim}}::h8f3531a7e0d83514
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   70:     0x61d9d44dbb2f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ff05134d80ef20e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   71:     0x61d9d44dbb2f - std::sys::thread::unix::Thread::new::thread_start::h9a4a41a076a486e0
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   72:     0x7f8540393aa4 - <unknown>
[INFO] [stdout]   73:     0x7f8540420a64 - 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.14s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a309e3b68e719ca836b1c8cf4687202a25cfec8eea43dff8f3bdd84c5a002b60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a309e3b68e719ca836b1c8cf4687202a25cfec8eea43dff8f3bdd84c5a002b60", kill_on_drop: false }`
[INFO] [stdout] a309e3b68e719ca836b1c8cf4687202a25cfec8eea43dff8f3bdd84c5a002b60
