[INFO] cloning repository https://github.com/manykarim/robotframework-javaui
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/manykarim/robotframework-javaui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanykarim%2Frobotframework-javaui", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanykarim%2Frobotframework-javaui'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 67254ac0c3768fa7216ae796fe030a02af37bb26
[INFO] testing manykarim/robotframework-javaui against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanykarim%2Frobotframework-javaui" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/manykarim/robotframework-javaui
[INFO] finished tweaking git repo https://github.com/manykarim/robotframework-javaui
[INFO] tweaked toml for git repo https://github.com/manykarim/robotframework-javaui written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/manykarim/robotframework-javaui on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/manykarim/robotframework-javaui 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pyo3-ffi v0.20.3
[INFO] [stderr]   Downloaded pest_generator v2.8.5
[INFO] [stderr]   Downloaded pyo3-macros v0.20.3
[INFO] [stderr]   Downloaded pest_derive v2.8.5
[INFO] [stderr]   Downloaded zmij v1.0.12
[INFO] [stderr]   Downloaded pest_meta v2.8.5
[INFO] [stderr]   Downloaded pyo3-macros-backend v0.20.3
[INFO] [stderr]   Downloaded pyo3-build-config v0.20.3
[INFO] [stderr]   Downloaded pyo3 v0.20.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3acb11689f3bdc8bb83406c21920eea62e7ec18b83011710373e43a4b49fc0e5
[INFO] running `Command { std: "docker" "start" "-a" "3acb11689f3bdc8bb83406c21920eea62e7ec18b83011710373e43a4b49fc0e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3acb11689f3bdc8bb83406c21920eea62e7ec18b83011710373e43a4b49fc0e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3acb11689f3bdc8bb83406c21920eea62e7ec18b83011710373e43a4b49fc0e5", kill_on_drop: false }`
[INFO] [stdout] 3acb11689f3bdc8bb83406c21920eea62e7ec18b83011710373e43a4b49fc0e5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 00f062e25ddbef85cf04fd5ba5fdc39fa3314f75d32c0dfb112178ba14358be9
[INFO] running `Command { std: "docker" "start" "-a" "00f062e25ddbef85cf04fd5ba5fdc39fa3314f75d32c0dfb112178ba14358be9", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]    Compiling pyo3-build-config v0.20.3
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling pest v2.8.5
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling pyo3-ffi v0.20.3
[INFO] [stderr]    Compiling pyo3 v0.20.3
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling pest_meta v2.8.5
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling pyo3-macros-backend v0.20.3
[INFO] [stderr]    Compiling pest_generator v2.8.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling pest_derive v2.8.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling pyo3-macros v0.20.3
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling robotframework-javagui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ComplexSelector`
[INFO] [stdout]  --> src/locator/expression.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::ast::{Locator, ComplexSelector, CompoundSelector, AttributeSelector, TypeSelector, PseudoSelector as AstPseudoSelector};
[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::collections::HashMap`
[INFO] [stdout]  --> src/locator/matcher.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ComponentState` and `SwingBaseType`
[INFO] [stdout]   --> src/locator/matcher.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::model::{ComponentState, SwingBaseType, UIComponent};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/protocol/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/python/element.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]  --> src/python/element.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bounds`, `ComponentId`, `ComponentIdentity`, `ComponentState`, and `ComponentType`
[INFO] [stdout]   --> src/python/element.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Bounds, ComponentId, ComponentIdentity, ComponentProperties, ComponentState, ComponentType,
[INFO] [stdout]    |     ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::exceptions::SwingError`
[INFO] [stdout]   --> src/python/element.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::exceptions::SwingError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]  --> src/python/exceptions.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | /// Error raised when connection to a Java Swing application fails
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]   |
[INFO] [stdout]   = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]   = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | /// Error raised when no element matches the given locator
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | /// Error raised when multiple elements match a locator that expects a single element
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | /// Error raised when a locator expression cannot be parsed
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | /// Error raised when an action on an element fails
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | /// Error raised when an operation times out
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/python/swing_library.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Write};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> src/python/swing_library.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocatorExpression`, `ParseError`, `PseudoSelector as LocatorPseudoSelector`, and `XPathPredicate`
[INFO] [stdout]   --> src/python/swing_library.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     LocatorExpression, SimpleLocator, SimpleLocatorType, CssSelector, XPathExpression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     AttributeOperator, XPathPredicate, PseudoSelector as LocatorPseudoSelector,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     // Pest parser and evaluator for advanced locator support
[INFO] [stdout] 18 |     parse_locator as pest_parse_locator, Evaluator, ParseError, MatchContext,
[INFO] [stdout]    |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FilterBuilder`, `FilterSpecification`, `TreeMetadata`, and `TreeStatistics`
[INFO] [stdout]   --> src/python/swing_library.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     FilterBuilder, FilterSpecification, SwingBaseType, TreeMetadata, TreeStatistics, UIComponent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SwingErrorKind`
[INFO] [stdout]   --> src/python/swing_library.rs:28:37
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/python/swt_element.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PyDict`
[INFO] [stdout]  --> src/python/swt_library.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use pyo3::types::{PyDict, PyList};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/python/swt_library.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Read, Write};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> src/python/swt_library.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SwingErrorKind`
[INFO] [stdout]   --> src/python/swt_library.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/python/rcp_library.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]  --> src/python/rcp_library.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SwingErrorKind`
[INFO] [stdout]   --> src/python/rcp_library.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/python/swt_library.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Read, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/python/swing_library.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/locator/expression.rs:320:52
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     super::ast::NthExpr::Formula { a, b } => Self::NthChild(*b),
[INFO] [stdout]     |                                                    ^ help: try ignoring the field: `a: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/locator/parser.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                 let mut compound = parse_compound_selector(inner)?;
[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 `axis_descendant` is assigned to, but never used
[INFO] [stdout]    --> src/locator/parser.rs:698:9
[INFO] [stdout]     |
[INFO] [stdout] 698 |     let mut axis_descendant = is_descendant;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_axis_descendant` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `axis_descendant` is never read
[INFO] [stdout]    --> src/locator/parser.rs:705:21
[INFO] [stdout]     |
[INFO] [stdout] 705 |                     axis_descendant = true;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection/mod.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |         ).map_err(|e| SwingError::ConnectionTimeout {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `locator`
[INFO] [stdout]     --> src/python/swing_library.rs:1544:9
[INFO] [stdout]      |
[INFO] [stdout] 1544 |         locator: Option<&str>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_locator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_depth`
[INFO] [stdout]     --> src/python/swing_library.rs:2618:9
[INFO] [stdout]      |
[INFO] [stdout] 2618 |         max_depth: Option<u32>,
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visible_only`
[INFO] [stdout]     --> src/python/swing_library.rs:2619:9
[INFO] [stdout]      |
[INFO] [stdout] 2619 |         visible_only: bool,
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `log_actions` is never read
[INFO] [stdout]   --> src/python/swing_library.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct LibraryConfig {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     log_actions: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LibraryConfig` has a derived impl for the trait `Clone`, 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: multiple methods are never used
[INFO] [stdout]     --> src/python/swing_library.rs:2016:8
[INFO] [stdout]      |
[INFO] [stdout] 1619 | impl SwingLibrary {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2016 |     fn json_to_swing_element(&self, json: &serde_json::Value) -> Option<SwingElement> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2036 |     fn find_by_simple_locator(&self, tree: &UITree, locator: &SimpleLocator) -> Vec<SwingElement> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2098 |     fn find_by_css(
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2167 |     fn find_by_xpath(
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2287 |     fn xpath_step_matches(&self, component: &UIComponent, step: &crate::locator::XPathStep) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2333 |     fn component_has_attribute(&self, component: &UIComponent, attr: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2347 |     fn check_attribute_match(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2387 |     fn validate_element_for_action(&self, element: &SwingElement, action: &str) -> PyResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_actions`, `screenshot_directory`, and `screenshot_format` are never read
[INFO] [stdout]   --> src/python/swt_library.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct SwtLibraryConfig {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     log_actions: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 48 |     /// Screenshot directory
[INFO] [stdout] 49 |     screenshot_directory: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     /// Default screenshot format
[INFO] [stdout] 51 |     screenshot_format: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SwtLibraryConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/element.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | ^-----------
[INFO] [stdout]     | |
[INFO] [stdout]     | move the `impl` block outside of this method `__eq__` and up 2 bodies
[INFO] [stdout] 122 | impl SwingElement {
[INFO] [stdout]     |      ------------ `SwingElement` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/element.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | -^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PyClassImplCollector` is not local
[INFO] [stdout]     | `PyClassNewTextSignature` is not local
[INFO] [stdout]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 122 | impl SwingElement {
[INFO] [stdout]     |      ------------
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `SwingElement` is not local
[INFO] [stdout]     |      `SwingElement` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/element.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies
[INFO] [stdout] 122 | impl SwingElement {
[INFO] [stdout]     |      ------------ `SwingElement` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/swing_library.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[pymethods]
[INFO] [stdout]     | -^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PyClassImplCollector` is not local
[INFO] [stdout]     | `PyClassNewTextSignature` is not local
[INFO] [stdout]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 135 | impl SwingLibrary {
[INFO] [stdout]     |      ------------
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `SwingLibrary` is not local
[INFO] [stdout]     |      `SwingLibrary` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/swt_element.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[pymethods]
[INFO] [stdout]    | ^-----------
[INFO] [stdout]    | |
[INFO] [stdout]    | move the `impl` block outside of this method `__eq__` and up 2 bodies
[INFO] [stdout] 94 | impl SwtElement {
[INFO] [stdout]    |      ---------- `SwtElement` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/swt_element.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[pymethods]
[INFO] [stdout]    | -^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `PyClassImplCollector` is not local
[INFO] [stdout]    | `PyClassNewTextSignature` is not local
[INFO] [stdout]    | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 94 | impl SwtElement {
[INFO] [stdout]    |      ----------
[INFO] [stdout]    |      |
[INFO] [stdout]    |      `SwtElement` is not local
[INFO] [stdout]    |      `SwtElement` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/swt_element.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies
[INFO] [stdout] 94 | impl SwtElement {
[INFO] [stdout]    |      ---------- `SwtElement` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/swt_library.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | #[pymethods]
[INFO] [stdout]     | -^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PyClassImplCollector` is not local
[INFO] [stdout]     | `PyClassNewTextSignature` is not local
[INFO] [stdout]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 141 | impl SwtLibrary {
[INFO] [stdout]     |      ----------
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `SwtLibrary` is not local
[INFO] [stdout]     |      `SwtLibrary` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/rcp_library.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[pymethods]
[INFO] [stdout]    | -^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `PyClassImplCollector` is not local
[INFO] [stdout]    | `PyClassNewTextSignature` is not local
[INFO] [stdout]    | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 40 | impl RcpLibrary {
[INFO] [stdout]    |      ----------
[INFO] [stdout]    |      |
[INFO] [stdout]    |      `RcpLibrary` is not local
[INFO] [stdout]    |      `RcpLibrary` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.19s
[INFO] running `Command { std: "docker" "inspect" "00f062e25ddbef85cf04fd5ba5fdc39fa3314f75d32c0dfb112178ba14358be9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00f062e25ddbef85cf04fd5ba5fdc39fa3314f75d32c0dfb112178ba14358be9", kill_on_drop: false }`
[INFO] [stdout] 00f062e25ddbef85cf04fd5ba5fdc39fa3314f75d32c0dfb112178ba14358be9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 03673b4a30b8445629eb05de18cd9636908a7e11311d7c49765742993d0ed5b5
[INFO] running `Command { std: "docker" "start" "-a" "03673b4a30b8445629eb05de18cd9636908a7e11311d7c49765742993d0ed5b5", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling robotframework-javagui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ComplexSelector`
[INFO] [stdout]  --> src/locator/expression.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::ast::{Locator, ComplexSelector, CompoundSelector, AttributeSelector, TypeSelector, PseudoSelector as AstPseudoSelector};
[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::collections::HashMap`
[INFO] [stdout]  --> src/locator/matcher.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ComponentState` and `SwingBaseType`
[INFO] [stdout]   --> src/locator/matcher.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::model::{ComponentState, SwingBaseType, UIComponent};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/protocol/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/python/element.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]  --> src/python/element.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bounds`, `ComponentId`, `ComponentIdentity`, `ComponentState`, and `ComponentType`
[INFO] [stdout]   --> src/python/element.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Bounds, ComponentId, ComponentIdentity, ComponentProperties, ComponentState, ComponentType,
[INFO] [stdout]    |     ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::exceptions::SwingError`
[INFO] [stdout]   --> src/python/element.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::exceptions::SwingError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]  --> src/python/exceptions.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | /// Error raised when connection to a Java Swing application fails
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]   |
[INFO] [stdout]   = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]   = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | /// Error raised when no element matches the given locator
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | /// Error raised when multiple elements match a locator that expects a single element
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | /// Error raised when a locator expression cannot be parsed
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | /// Error raised when an action on an element fails
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | /// Error raised when an operation times out
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/python/swing_library.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Write};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> src/python/swing_library.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocatorExpression`, `ParseError`, `PseudoSelector as LocatorPseudoSelector`, and `XPathPredicate`
[INFO] [stdout]   --> src/python/swing_library.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     LocatorExpression, SimpleLocator, SimpleLocatorType, CssSelector, XPathExpression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     AttributeOperator, XPathPredicate, PseudoSelector as LocatorPseudoSelector,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     // Pest parser and evaluator for advanced locator support
[INFO] [stdout] 18 |     parse_locator as pest_parse_locator, Evaluator, ParseError, MatchContext,
[INFO] [stdout]    |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FilterBuilder`, `FilterSpecification`, `TreeMetadata`, and `TreeStatistics`
[INFO] [stdout]   --> src/python/swing_library.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     FilterBuilder, FilterSpecification, SwingBaseType, TreeMetadata, TreeStatistics, UIComponent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SwingErrorKind`
[INFO] [stdout]   --> src/python/swing_library.rs:28:37
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/python/swt_element.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PyDict`
[INFO] [stdout]  --> src/python/swt_library.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use pyo3::types::{PyDict, PyList};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/python/swt_library.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Read, Write};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> src/python/swt_library.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SwingErrorKind`
[INFO] [stdout]   --> src/python/swt_library.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/python/rcp_library.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]  --> src/python/rcp_library.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SwingErrorKind`
[INFO] [stdout]   --> src/python/rcp_library.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/python/swt_library.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Read, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/python/swing_library.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/locator/expression.rs:320:52
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     super::ast::NthExpr::Formula { a, b } => Self::NthChild(*b),
[INFO] [stdout]     |                                                    ^ help: try ignoring the field: `a: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/locator/parser.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                 let mut compound = parse_compound_selector(inner)?;
[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 `axis_descendant` is assigned to, but never used
[INFO] [stdout]    --> src/locator/parser.rs:698:9
[INFO] [stdout]     |
[INFO] [stdout] 698 |     let mut axis_descendant = is_descendant;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_axis_descendant` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `axis_descendant` is never read
[INFO] [stdout]    --> src/locator/parser.rs:705:21
[INFO] [stdout]     |
[INFO] [stdout] 705 |                     axis_descendant = true;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ComplexSelector`
[INFO] [stdout]  --> src/locator/expression.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::ast::{Locator, ComplexSelector, CompoundSelector, AttributeSelector, TypeSelector, PseudoSelector as AstPseudoSelector};
[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::collections::HashMap`
[INFO] [stdout]  --> src/locator/matcher.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ComponentState` and `SwingBaseType`
[INFO] [stdout]   --> src/locator/matcher.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::model::{ComponentState, SwingBaseType, UIComponent};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SwtStyle` and `WidgetBounds`
[INFO] [stdout]     --> src/locator/swt_matcher.rs:1571:42
[INFO] [stdout]      |
[INFO] [stdout] 1571 |     use crate::model::widget::{WidgetId, WidgetBounds, SwtStyle};
[INFO] [stdout]      |                                          ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]     --> src/locator/swt_matcher.rs:1572:9
[INFO] [stdout]      |
[INFO] [stdout] 1572 |     use std::collections::HashMap;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/protocol/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/python/element.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]  --> src/python/element.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bounds`, `ComponentId`, `ComponentIdentity`, `ComponentState`, and `ComponentType`
[INFO] [stdout]   --> src/python/element.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Bounds, ComponentId, ComponentIdentity, ComponentProperties, ComponentState, ComponentType,
[INFO] [stdout]    |     ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::exceptions::SwingError`
[INFO] [stdout]   --> src/python/element.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::exceptions::SwingError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]  --> src/python/exceptions.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | /// Error raised when connection to a Java Swing application fails
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]   |
[INFO] [stdout]   = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]   = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | /// Error raised when no element matches the given locator
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | /// Error raised when multiple elements match a locator that expects a single element
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | /// Error raised when a locator expression cannot be parsed
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | /// Error raised when an action on an element fails
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/python/exceptions.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | /// Error raised when an operation times out
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/python/swing_library.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Write};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> src/python/swing_library.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocatorExpression`, `ParseError`, `PseudoSelector as LocatorPseudoSelector`, and `XPathPredicate`
[INFO] [stdout]   --> src/python/swing_library.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     LocatorExpression, SimpleLocator, SimpleLocatorType, CssSelector, XPathExpression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     AttributeOperator, XPathPredicate, PseudoSelector as LocatorPseudoSelector,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     // Pest parser and evaluator for advanced locator support
[INFO] [stdout] 18 |     parse_locator as pest_parse_locator, Evaluator, ParseError, MatchContext,
[INFO] [stdout]    |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FilterBuilder`, `FilterSpecification`, `TreeMetadata`, and `TreeStatistics`
[INFO] [stdout]   --> src/python/swing_library.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     FilterBuilder, FilterSpecification, SwingBaseType, TreeMetadata, TreeStatistics, UIComponent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SwingErrorKind`
[INFO] [stdout]   --> src/python/swing_library.rs:28:37
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/python/swt_element.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PyDict`
[INFO] [stdout]  --> src/python/swt_library.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use pyo3::types::{PyDict, PyList};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]  --> src/python/swt_library.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Read, Write};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> src/python/swt_library.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SwingErrorKind`
[INFO] [stdout]   --> src/python/swt_library.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/python/rcp_library.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]  --> src/python/rcp_library.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SwingErrorKind`
[INFO] [stdout]   --> src/python/rcp_library.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection/mod.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |         ).map_err(|e| SwingError::ConnectionTimeout {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `locator`
[INFO] [stdout]     --> src/python/swing_library.rs:1544:9
[INFO] [stdout]      |
[INFO] [stdout] 1544 |         locator: Option<&str>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_locator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_depth`
[INFO] [stdout]     --> src/python/swing_library.rs:2618:9
[INFO] [stdout]      |
[INFO] [stdout] 2618 |         max_depth: Option<u32>,
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visible_only`
[INFO] [stdout]     --> src/python/swing_library.rs:2619:9
[INFO] [stdout]      |
[INFO] [stdout] 2619 |         visible_only: bool,
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `log_actions` is never read
[INFO] [stdout]   --> src/python/swing_library.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct LibraryConfig {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     log_actions: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LibraryConfig` has a derived impl for the trait `Clone`, 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: multiple methods are never used
[INFO] [stdout]     --> src/python/swing_library.rs:2016:8
[INFO] [stdout]      |
[INFO] [stdout] 1619 | impl SwingLibrary {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2016 |     fn json_to_swing_element(&self, json: &serde_json::Value) -> Option<SwingElement> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2036 |     fn find_by_simple_locator(&self, tree: &UITree, locator: &SimpleLocator) -> Vec<SwingElement> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2098 |     fn find_by_css(
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2167 |     fn find_by_xpath(
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2287 |     fn xpath_step_matches(&self, component: &UIComponent, step: &crate::locator::XPathStep) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2333 |     fn component_has_attribute(&self, component: &UIComponent, attr: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2347 |     fn check_attribute_match(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2387 |     fn validate_element_for_action(&self, element: &SwingElement, action: &str) -> PyResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_actions`, `screenshot_directory`, and `screenshot_format` are never read
[INFO] [stdout]   --> src/python/swt_library.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct SwtLibraryConfig {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     log_actions: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 48 |     /// Screenshot directory
[INFO] [stdout] 49 |     screenshot_directory: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     /// Default screenshot format
[INFO] [stdout] 51 |     screenshot_format: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SwtLibraryConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/element.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | ^-----------
[INFO] [stdout]     | |
[INFO] [stdout]     | move the `impl` block outside of this method `__eq__` and up 2 bodies
[INFO] [stdout] 122 | impl SwingElement {
[INFO] [stdout]     |      ------------ `SwingElement` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/element.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | -^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PyClassImplCollector` is not local
[INFO] [stdout]     | `PyClassNewTextSignature` is not local
[INFO] [stdout]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 122 | impl SwingElement {
[INFO] [stdout]     |      ------------
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `SwingElement` is not local
[INFO] [stdout]     |      `SwingElement` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/element.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies
[INFO] [stdout] 122 | impl SwingElement {
[INFO] [stdout]     |      ------------ `SwingElement` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/swing_library.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[pymethods]
[INFO] [stdout]     | -^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PyClassImplCollector` is not local
[INFO] [stdout]     | `PyClassNewTextSignature` is not local
[INFO] [stdout]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 135 | impl SwingLibrary {
[INFO] [stdout]     |      ------------
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `SwingLibrary` is not local
[INFO] [stdout]     |      `SwingLibrary` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/swt_element.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[pymethods]
[INFO] [stdout]    | ^-----------
[INFO] [stdout]    | |
[INFO] [stdout]    | move the `impl` block outside of this method `__eq__` and up 2 bodies
[INFO] [stdout] 94 | impl SwtElement {
[INFO] [stdout]    |      ---------- `SwtElement` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/swt_element.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[pymethods]
[INFO] [stdout]    | -^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `PyClassImplCollector` is not local
[INFO] [stdout]    | `PyClassNewTextSignature` is not local
[INFO] [stdout]    | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 94 | impl SwtElement {
[INFO] [stdout]    |      ----------
[INFO] [stdout]    |      |
[INFO] [stdout]    |      `SwtElement` is not local
[INFO] [stdout]    |      `SwtElement` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/swt_element.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies
[INFO] [stdout] 94 | impl SwtElement {
[INFO] [stdout]    |      ---------- `SwtElement` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/swt_library.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | #[pymethods]
[INFO] [stdout]     | -^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PyClassImplCollector` is not local
[INFO] [stdout]     | `PyClassNewTextSignature` is not local
[INFO] [stdout]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 141 | impl SwtLibrary {
[INFO] [stdout]     |      ----------
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `SwtLibrary` is not local
[INFO] [stdout]     |      `SwtLibrary` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/rcp_library.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[pymethods]
[INFO] [stdout]    | -^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `PyClassImplCollector` is not local
[INFO] [stdout]    | `PyClassNewTextSignature` is not local
[INFO] [stdout]    | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 40 | impl RcpLibrary {
[INFO] [stdout]    |      ----------
[INFO] [stdout]    |      |
[INFO] [stdout]    |      `RcpLibrary` is not local
[INFO] [stdout]    |      `RcpLibrary` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/python/swt_library.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Read, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/python/swing_library.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufRead, BufReader, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/locator/expression.rs:320:52
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     super::ast::NthExpr::Formula { a, b } => Self::NthChild(*b),
[INFO] [stdout]     |                                                    ^ help: try ignoring the field: `a: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/locator/parser.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                 let mut compound = parse_compound_selector(inner)?;
[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 `axis_descendant` is assigned to, but never used
[INFO] [stdout]    --> src/locator/parser.rs:698:9
[INFO] [stdout]     |
[INFO] [stdout] 698 |     let mut axis_descendant = is_descendant;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_axis_descendant` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `axis_descendant` is never read
[INFO] [stdout]    --> src/locator/parser.rs:705:21
[INFO] [stdout]     |
[INFO] [stdout] 705 |                     axis_descendant = true;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection/mod.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |         ).map_err(|e| SwingError::ConnectionTimeout {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `locator`
[INFO] [stdout]     --> src/python/swing_library.rs:1544:9
[INFO] [stdout]      |
[INFO] [stdout] 1544 |         locator: Option<&str>,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_locator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_depth`
[INFO] [stdout]     --> src/python/swing_library.rs:2618:9
[INFO] [stdout]      |
[INFO] [stdout] 2618 |         max_depth: Option<u32>,
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visible_only`
[INFO] [stdout]     --> src/python/swing_library.rs:2619:9
[INFO] [stdout]      |
[INFO] [stdout] 2619 |         visible_only: bool,
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `log_actions` is never read
[INFO] [stdout]   --> src/python/swing_library.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct LibraryConfig {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     log_actions: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LibraryConfig` has a derived impl for the trait `Clone`, 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: multiple methods are never used
[INFO] [stdout]     --> src/python/swing_library.rs:2016:8
[INFO] [stdout]      |
[INFO] [stdout] 1619 | impl SwingLibrary {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2016 |     fn json_to_swing_element(&self, json: &serde_json::Value) -> Option<SwingElement> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2036 |     fn find_by_simple_locator(&self, tree: &UITree, locator: &SimpleLocator) -> Vec<SwingElement> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2098 |     fn find_by_css(
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2167 |     fn find_by_xpath(
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2287 |     fn xpath_step_matches(&self, component: &UIComponent, step: &crate::locator::XPathStep) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2333 |     fn component_has_attribute(&self, component: &UIComponent, attr: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2347 |     fn check_attribute_match(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2387 |     fn validate_element_for_action(&self, element: &SwingElement, action: &str) -> PyResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_actions`, `screenshot_directory`, and `screenshot_format` are never read
[INFO] [stdout]   --> src/python/swt_library.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct SwtLibraryConfig {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     log_actions: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 48 |     /// Screenshot directory
[INFO] [stdout] 49 |     screenshot_directory: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     /// Default screenshot format
[INFO] [stdout] 51 |     screenshot_format: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SwtLibraryConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/element.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | ^-----------
[INFO] [stdout]     | |
[INFO] [stdout]     | move the `impl` block outside of this method `__eq__` and up 2 bodies
[INFO] [stdout] 122 | impl SwingElement {
[INFO] [stdout]     |      ------------ `SwingElement` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/element.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | -^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PyClassImplCollector` is not local
[INFO] [stdout]     | `PyClassNewTextSignature` is not local
[INFO] [stdout]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 122 | impl SwingElement {
[INFO] [stdout]     |      ------------
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `SwingElement` is not local
[INFO] [stdout]     |      `SwingElement` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/element.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies
[INFO] [stdout] 122 | impl SwingElement {
[INFO] [stdout]     |      ------------ `SwingElement` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/swing_library.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[pymethods]
[INFO] [stdout]     | -^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PyClassImplCollector` is not local
[INFO] [stdout]     | `PyClassNewTextSignature` is not local
[INFO] [stdout]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 135 | impl SwingLibrary {
[INFO] [stdout]     |      ------------
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `SwingLibrary` is not local
[INFO] [stdout]     |      `SwingLibrary` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/swt_element.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[pymethods]
[INFO] [stdout]    | ^-----------
[INFO] [stdout]    | |
[INFO] [stdout]    | move the `impl` block outside of this method `__eq__` and up 2 bodies
[INFO] [stdout] 94 | impl SwtElement {
[INFO] [stdout]    |      ---------- `SwtElement` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/swt_element.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[pymethods]
[INFO] [stdout]    | -^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `PyClassImplCollector` is not local
[INFO] [stdout]    | `PyClassNewTextSignature` is not local
[INFO] [stdout]    | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 94 | impl SwtElement {
[INFO] [stdout]    |      ----------
[INFO] [stdout]    |      |
[INFO] [stdout]    |      `SwtElement` is not local
[INFO] [stdout]    |      `SwtElement` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/swt_element.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[pymethods]
[INFO] [stdout]    | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies
[INFO] [stdout] 94 | impl SwtElement {
[INFO] [stdout]    |      ---------- `SwtElement` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/python/swt_library.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | #[pymethods]
[INFO] [stdout]     | -^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PyClassImplCollector` is not local
[INFO] [stdout]     | `PyClassNewTextSignature` is not local
[INFO] [stdout]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 141 | impl SwtLibrary {
[INFO] [stdout]     |      ----------
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `SwtLibrary` is not local
[INFO] [stdout]     |      `SwtLibrary` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/python/rcp_library.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[pymethods]
[INFO] [stdout]    | -^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `PyClassImplCollector` is not local
[INFO] [stdout]    | `PyClassNewTextSignature` is not local
[INFO] [stdout]    | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stdout] 40 | impl RcpLibrary {
[INFO] [stdout]    |      ----------
[INFO] [stdout]    |      |
[INFO] [stdout]    |      `RcpLibrary` is not local
[INFO] [stdout]    |      `RcpLibrary` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 39.50s
[INFO] running `Command { std: "docker" "inspect" "03673b4a30b8445629eb05de18cd9636908a7e11311d7c49765742993d0ed5b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03673b4a30b8445629eb05de18cd9636908a7e11311d7c49765742993d0ed5b5", kill_on_drop: false }`
[INFO] [stdout] 03673b4a30b8445629eb05de18cd9636908a7e11311d7c49765742993d0ed5b5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 35a0731a5aaa6950651cb4730307899217a432104746ef63189d246120fbf5c5
[INFO] running `Command { std: "docker" "start" "-a" "35a0731a5aaa6950651cb4730307899217a432104746ef63189d246120fbf5c5", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `ComplexSelector`
[INFO] [stderr]  --> src/locator/expression.rs:6:27
[INFO] [stderr]   |
[INFO] [stderr] 6 | use super::ast::{Locator, ComplexSelector, CompoundSelector, AttributeSelector, TypeSelector, PseudoSelector as AstPseudoSelector};
[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::collections::HashMap`
[INFO] [stderr]  --> src/locator/matcher.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ComponentState` and `SwingBaseType`
[INFO] [stderr]   --> src/locator/matcher.rs:12:20
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::model::{ComponentState, SwingBaseType, UIComponent};
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/protocol/mod.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/python/element.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Arc` and `RwLock`
[INFO] [stderr]  --> src/python/element.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::sync::{Arc, RwLock};
[INFO] [stderr]   |                 ^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Bounds`, `ComponentId`, `ComponentIdentity`, `ComponentState`, and `ComponentType`
[INFO] [stderr]   --> src/python/element.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Bounds, ComponentId, ComponentIdentity, ComponentProperties, ComponentState, ComponentType,
[INFO] [stderr]    |     ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::exceptions::SwingError`
[INFO] [stderr]   --> src/python/element.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use super::exceptions::SwingError;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]  --> src/python/exceptions.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | /// Error raised when connection to a Java Swing application fails
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]   |
[INFO] [stderr]   = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]   = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/python/exceptions.rs:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | /// Error raised when no element matches the given locator
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/python/exceptions.rs:24:1
[INFO] [stderr]    |
[INFO] [stderr] 24 | /// Error raised when multiple elements match a locator that expects a single element
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/python/exceptions.rs:32:1
[INFO] [stderr]    |
[INFO] [stderr] 32 | /// Error raised when a locator expression cannot be parsed
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/python/exceptions.rs:40:1
[INFO] [stderr]    |
[INFO] [stderr] 40 | /// Error raised when an action on an element fails
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/python/exceptions.rs:48:1
[INFO] [stderr]    |
[INFO] [stderr] 48 | /// Error raised when an operation times out
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufReader`
[INFO] [stderr]  --> src/python/swing_library.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{BufRead, BufReader, Write};
[INFO] [stderr]   |                        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]   --> src/python/swing_library.rs:11:22
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `LocatorExpression`, `ParseError`, `PseudoSelector as LocatorPseudoSelector`, and `XPathPredicate`
[INFO] [stderr]   --> src/python/swing_library.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     LocatorExpression, SimpleLocator, SimpleLocatorType, CssSelector, XPathExpression,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 16 |     AttributeOperator, XPathPredicate, PseudoSelector as LocatorPseudoSelector,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 17 |     // Pest parser and evaluator for advanced locator support
[INFO] [stderr] 18 |     parse_locator as pest_parse_locator, Evaluator, ParseError, MatchContext,
[INFO] [stderr]    |                                                     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FilterBuilder`, `FilterSpecification`, `TreeMetadata`, and `TreeStatistics`
[INFO] [stderr]   --> src/python/swing_library.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     FilterBuilder, FilterSpecification, SwingBaseType, TreeMetadata, TreeStatistics, UIComponent,
[INFO] [stderr]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SwingErrorKind`
[INFO] [stderr]   --> src/python/swing_library.rs:28:37
[INFO] [stderr]    |
[INFO] [stderr] 28 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/python/swt_element.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PyDict`
[INFO] [stderr]  --> src/python/swt_library.rs:7:19
[INFO] [stderr]   |
[INFO] [stderr] 7 | use pyo3::types::{PyDict, PyList};
[INFO] [stderr]   |                   ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufReader`
[INFO] [stderr]  --> src/python/swt_library.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{BufRead, BufReader, Read, Write};
[INFO] [stderr]   |                        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]   --> src/python/swt_library.rs:11:22
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SwingErrorKind`
[INFO] [stderr]   --> src/python/swt_library.rs:15:37
[INFO] [stderr]    |
[INFO] [stderr] 15 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/python/rcp_library.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Arc` and `RwLock`
[INFO] [stderr]  --> src/python/rcp_library.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::sync::{Arc, RwLock};
[INFO] [stderr]   |                 ^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SwingErrorKind`
[INFO] [stderr]   --> src/python/rcp_library.rs:13:37
[INFO] [stderr]    |
[INFO] [stderr] 13 | use super::exceptions::{SwingError, SwingErrorKind};
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufRead`
[INFO] [stderr]  --> src/python/swt_library.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{BufRead, BufReader, Read, Write};
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufRead`
[INFO] [stderr]  --> src/python/swing_library.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{BufRead, BufReader, Write};
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/locator/expression.rs:320:52
[INFO] [stderr]     |
[INFO] [stderr] 320 |                     super::ast::NthExpr::Formula { a, b } => Self::NthChild(*b),
[INFO] [stderr]     |                                                    ^ help: try ignoring the field: `a: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/locator/parser.rs:195:21
[INFO] [stderr]     |
[INFO] [stderr] 195 |                 let mut compound = parse_compound_selector(inner)?;
[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 `axis_descendant` is assigned to, but never used
[INFO] [stderr]    --> src/locator/parser.rs:698:9
[INFO] [stderr]     |
[INFO] [stderr] 698 |     let mut axis_descendant = is_descendant;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_axis_descendant` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `axis_descendant` is never read
[INFO] [stderr]    --> src/locator/parser.rs:705:21
[INFO] [stderr]     |
[INFO] [stderr] 705 |                     axis_descendant = true;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection/mod.rs:198:20
[INFO] [stderr]     |
[INFO] [stderr] 198 |         ).map_err(|e| SwingError::ConnectionTimeout {
[INFO] [stderr]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `locator`
[INFO] [stderr]     --> src/python/swing_library.rs:1544:9
[INFO] [stderr]      |
[INFO] [stderr] 1544 |         locator: Option<&str>,
[INFO] [stderr]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_locator`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `max_depth`
[INFO] [stderr]     --> src/python/swing_library.rs:2618:9
[INFO] [stderr]      |
[INFO] [stderr] 2618 |         max_depth: Option<u32>,
[INFO] [stderr]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_depth`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `visible_only`
[INFO] [stderr]     --> src/python/swing_library.rs:2619:9
[INFO] [stderr]      |
[INFO] [stderr] 2619 |         visible_only: bool,
[INFO] [stderr]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_only`
[INFO] [stderr] 
[INFO] [stderr] warning: field `log_actions` is never read
[INFO] [stderr]   --> src/python/swing_library.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | struct LibraryConfig {
[INFO] [stderr]    |        ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 38 |     log_actions: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LibraryConfig` has a derived impl for the trait `Clone`, 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: multiple methods are never used
[INFO] [stderr]     --> src/python/swing_library.rs:2016:8
[INFO] [stderr]      |
[INFO] [stderr] 1619 | impl SwingLibrary {
[INFO] [stderr]      | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 2016 |     fn json_to_swing_element(&self, json: &serde_json::Value) -> Option<SwingElement> {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2036 |     fn find_by_simple_locator(&self, tree: &UITree, locator: &SimpleLocator) -> Vec<SwingElement> {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2098 |     fn find_by_css(
[INFO] [stderr]      |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2167 |     fn find_by_xpath(
[INFO] [stderr]      |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2287 |     fn xpath_step_matches(&self, component: &UIComponent, step: &crate::locator::XPathStep) -> bool {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2333 |     fn component_has_attribute(&self, component: &UIComponent, attr: &str) -> bool {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2347 |     fn check_attribute_match(
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2387 |     fn validate_element_for_action(&self, element: &SwingElement, action: &str) -> PyResult<()> {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `log_actions`, `screenshot_directory`, and `screenshot_format` are never read
[INFO] [stderr]   --> src/python/swt_library.rs:47:5
[INFO] [stderr]    |
[INFO] [stderr] 41 | struct SwtLibraryConfig {
[INFO] [stderr]    |        ---------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 47 |     log_actions: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 48 |     /// Screenshot directory
[INFO] [stderr] 49 |     screenshot_directory: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 50 |     /// Default screenshot format
[INFO] [stderr] 51 |     screenshot_format: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SwtLibraryConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/python/element.rs:121:1
[INFO] [stderr]     |
[INFO] [stderr] 121 | #[pymethods]
[INFO] [stderr]     | ^-----------
[INFO] [stderr]     | |
[INFO] [stderr]     | move the `impl` block outside of this method `__eq__` and up 2 bodies
[INFO] [stderr] 122 | impl SwingElement {
[INFO] [stderr]     |      ------------ `SwingElement` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/python/element.rs:121:1
[INFO] [stderr]     |
[INFO] [stderr] 121 | #[pymethods]
[INFO] [stderr]     | -^^^^^^^^^^^
[INFO] [stderr]     | |
[INFO] [stderr]     | `PyClassImplCollector` is not local
[INFO] [stderr]     | `PyClassNewTextSignature` is not local
[INFO] [stderr]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stderr] 122 | impl SwingElement {
[INFO] [stderr]     |      ------------
[INFO] [stderr]     |      |
[INFO] [stderr]     |      `SwingElement` is not local
[INFO] [stderr]     |      `SwingElement` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/python/element.rs:121:1
[INFO] [stderr]     |
[INFO] [stderr] 121 | #[pymethods]
[INFO] [stderr]     | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies
[INFO] [stderr] 122 | impl SwingElement {
[INFO] [stderr]     |      ------------ `SwingElement` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/python/swing_library.rs:134:1
[INFO] [stderr]     |
[INFO] [stderr] 134 | #[pymethods]
[INFO] [stderr]     | -^^^^^^^^^^^
[INFO] [stderr]     | |
[INFO] [stderr]     | `PyClassImplCollector` is not local
[INFO] [stderr]     | `PyClassNewTextSignature` is not local
[INFO] [stderr]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stderr] 135 | impl SwingLibrary {
[INFO] [stderr]     |      ------------
[INFO] [stderr]     |      |
[INFO] [stderr]     |      `SwingLibrary` is not local
[INFO] [stderr]     |      `SwingLibrary` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/python/swt_element.rs:93:1
[INFO] [stderr]    |
[INFO] [stderr] 93 | #[pymethods]
[INFO] [stderr]    | ^-----------
[INFO] [stderr]    | |
[INFO] [stderr]    | move the `impl` block outside of this method `__eq__` and up 2 bodies
[INFO] [stderr] 94 | impl SwtElement {
[INFO] [stderr]    |      ---------- `SwtElement` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/python/swt_element.rs:93:1
[INFO] [stderr]    |
[INFO] [stderr] 93 | #[pymethods]
[INFO] [stderr]    | -^^^^^^^^^^^
[INFO] [stderr]    | |
[INFO] [stderr]    | `PyClassImplCollector` is not local
[INFO] [stderr]    | `PyClassNewTextSignature` is not local
[INFO] [stderr]    | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stderr] 94 | impl SwtElement {
[INFO] [stderr]    |      ----------
[INFO] [stderr]    |      |
[INFO] [stderr]    |      `SwtElement` is not local
[INFO] [stderr]    |      `SwtElement` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/python/swt_element.rs:93:1
[INFO] [stderr]    |
[INFO] [stderr] 93 | #[pymethods]
[INFO] [stderr]    | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies
[INFO] [stderr] 94 | impl SwtElement {
[INFO] [stderr]    |      ---------- `SwtElement` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/python/swt_library.rs:140:1
[INFO] [stderr]     |
[INFO] [stderr] 140 | #[pymethods]
[INFO] [stderr]     | -^^^^^^^^^^^
[INFO] [stderr]     | |
[INFO] [stderr]     | `PyClassImplCollector` is not local
[INFO] [stderr]     | `PyClassNewTextSignature` is not local
[INFO] [stderr]     | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stderr] 141 | impl SwtLibrary {
[INFO] [stderr]     |      ----------
[INFO] [stderr]     |      |
[INFO] [stderr]     |      `SwtLibrary` is not local
[INFO] [stderr]     |      `SwtLibrary` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/python/rcp_library.rs:39:1
[INFO] [stderr]    |
[INFO] [stderr] 39 | #[pymethods]
[INFO] [stderr]    | -^^^^^^^^^^^
[INFO] [stderr]    | |
[INFO] [stderr]    | `PyClassImplCollector` is not local
[INFO] [stderr]    | `PyClassNewTextSignature` is not local
[INFO] [stderr]    | move the `impl` block outside of this function `trampoline` and up 4 bodies
[INFO] [stderr] 40 | impl RcpLibrary {
[INFO] [stderr]    |      ----------
[INFO] [stderr]    |      |
[INFO] [stderr]    |      `RcpLibrary` is not local
[INFO] [stderr]    |      `RcpLibrary` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SwtStyle` and `WidgetBounds`
[INFO] [stderr]     --> src/locator/swt_matcher.rs:1571:42
[INFO] [stderr]      |
[INFO] [stderr] 1571 |     use crate::model::widget::{WidgetId, WidgetBounds, SwtStyle};
[INFO] [stderr]      |                                          ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]     --> src/locator/swt_matcher.rs:1572:9
[INFO] [stderr]      |
[INFO] [stderr] 1572 |     use std::collections::HashMap;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `robotframework-javagui` (lib) generated 49 warnings (run `cargo fix --lib -p robotframework-javagui` to apply 27 suggestions)
[INFO] [stderr] warning: `robotframework-javagui` (lib test) generated 51 warnings (49 duplicates) (run `cargo fix --lib -p robotframework-javagui --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/javagui-285af9d51a8eaa9c)
[INFO] [stdout] 
[INFO] [stdout] running 124 tests
[INFO] [stdout] test connection::tests::test_pattern_matching ... ok
[INFO] [stdout] test error::tests::test_error_display ... ok
[INFO] [stdout] test error::tests::test_is_recoverable ... ok
[INFO] [stdout] test error::tests::test_is_connection_error ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_contains ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_id_selector ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_pseudo_selector_structural ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_type_selector ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_pseudo_selector_state ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_attribute_contains ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_attribute_equals ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_class ... ok
[INFO] [stdout] test locator::matcher::tests::test_value_matching_operators ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_child_combinator ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_complex ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_descendant_combinator ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_empty_error ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_attribute_selector ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_id ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_class_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_index_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_menu_prefix ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_xpath_with_attribute ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_multiple_selectors ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_perspective_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_prefix_lowercase ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_prefix_mixed_case ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_prefix_uppercase ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_view_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_class_name_matching_contains ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_class_name_matching_package_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_swt_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_class_name_no_match ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_compound_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_class_name_matching_full_class ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_pseudo_enabled ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_pseudo_nth_child ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_sibling_combinators ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_type_only ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_universal ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_empty_class_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_empty_id_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_empty_name_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_empty_tooltip_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_find_all ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_find_first ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_find_with_index ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_index_selection_first ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_index_selection_last ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_index_selection_middle ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_index_selection_out_of_bounds ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_infer_widget_type_from_class ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_locator_error ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_accessible_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_class_locator_custom_class ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_class_locator_fully_qualified ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_id_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_index_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_index_locator_empty ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_index_locator_invalid ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_index_locator_larger_value ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_xpath_index ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_editor_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_class_locator_simple ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_xpath_multi_step_child ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_class_locator_with_attribute ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_class_locator_with_pseudo ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_menu_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_name_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_name_locator_contains ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_name_locator_starts_with ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_perspective_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_simple_type ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_swt_prefix ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_xpath_multi_step_descendant ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_text_locator_alias ... ok
[INFO] [stdout] test locator::matcher::tests::test_regex_matching ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_tooltip_locator ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_xpath_simple ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_view_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_editor_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_type_with_id ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_name_locator_regex ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_name_locator_ends_with ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_with_pseudo_class ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_view_selector_builder ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_pseudo_class_parsing ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_union_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_whitespace_handling ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_widget_selector_builder ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_widget_selector_type_match ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_widget_selector_pseudo_class ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_widget_selector_visible_hidden ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_widget_selector_text_match ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_with_attribute ... ok
[INFO] [stdout] test model::element::tests::test_component_type_parsing ... ok
[INFO] [stdout] test model::element::tests::test_element_matches_type ... ok
[INFO] [stdout] test model::element::tests::test_property_value ... ok
[INFO] [stdout] test model::rcp::tests::test_eclipse_command_can_execute ... ok
[INFO] [stdout] test model::rcp::tests::test_editor_input_types ... ok
[INFO] [stdout] test model::rcp::tests::test_layout_relationship_serialization ... ok
[INFO] [stdout] test model::rcp::tests::test_perspective_layout_default ... ok
[INFO] [stdout] test model::rcp::tests::test_view_compound_id ... ok
[INFO] [stdout] test model::rcp::tests::test_workbench_window_find_view ... ok
[INFO] [stdout] test model::tree::tests::test_calculate_stats ... ok
[INFO] [stdout] test model::tree::tests::test_filter ... ok
[INFO] [stdout] test model::widget::tests::test_filter_builder ... ok
[INFO] [stdout] test model::widget::tests::test_filter_matches ... ok
[INFO] [stdout] test model::tree::tests::test_to_text_tree ... ok
[INFO] [stdout] test model::widget::tests::test_swt_style ... ok
[INFO] [stdout] test model::widget::tests::test_widget_bounds ... ok
[INFO] [stdout] test model::widget::tests::test_widget_id_creation ... ok
[INFO] [stdout] test model::widget::tests::test_serialization ... ok
[INFO] [stdout] test model::widget::tests::test_swt_widget_creation ... ok
[INFO] [stdout] test model::element::tests::test_rectangle_contains ... ok
[INFO] [stdout] test protocol::tests::test_response_deserialization ... ok
[INFO] [stdout] test protocol::tests::test_request_serialization ... ok
[INFO] [stdout] test model::rcp::tests::test_workbench_dirty_editors ... ok
[INFO] [stdout] test model::rcp::tests::test_workbench_state_serialization ... ok
[INFO] [stdout] test model::widget::tests::test_widget_matches_type ... ok
[INFO] [stdout] test model::widget::tests::test_widget_tree_iteration ... ok
[INFO] [stdout] test model::widget::tests::test_widget_type_categories ... ok
[INFO] [stdout] test model::widget::tests::test_widget_type_from_class_name ... ok
[INFO] [stdout] test protocol::tests::test_error_response ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 124 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests javagui
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test src/locator/parser.rs - locator::parser::parse_locator (line 122) ... ignored
[INFO] [stdout] test src/python/swt_library.rs - python::swt_library::SwtLibrary (line 122) ... FAILED
[INFO] [stdout] test src/python/rcp_library.rs - python::rcp_library::RcpLibrary (line 25) ... FAILED
[INFO] [stdout] test src/python/swing_library.rs - python::swing_library::SwingLibrary (line 114) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/python/swt_library.rs - python::swt_library::SwtLibrary (line 122) stdout ----
[INFO] [stdout] error: expected item, found `*`
[INFO] [stdout]    --> src/python/swt_library.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | *** Test Cases ***
[INFO] [stdout]     | ^ expected item
[INFO] [stdout]     |
[INFO] [stdout]     = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/python/rcp_library.rs - python::rcp_library::RcpLibrary (line 25) stdout ----
[INFO] [stdout] error: expected item, found `*`
[INFO] [stdout]   --> src/python/rcp_library.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | *** Test Cases ***
[INFO] [stdout]    | ^ expected item
[INFO] [stdout]    |
[INFO] [stdout]    = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/python/swing_library.rs - python::swing_library::SwingLibrary (line 114) stdout ----
[INFO] [stdout] error: expected item, found `*`
[INFO] [stdout]    --> src/python/swing_library.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | *** Test Cases ***
[INFO] [stdout]     | ^ expected item
[INFO] [stdout]     |
[INFO] [stdout]     = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/python/rcp_library.rs - python::rcp_library::RcpLibrary (line 25)
[INFO] [stdout]     src/python/swing_library.rs - python::swing_library::SwingLibrary (line 114)
[INFO] [stdout]     src/python/swt_library.rs - python::swt_library::SwtLibrary (line 122)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 3 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "35a0731a5aaa6950651cb4730307899217a432104746ef63189d246120fbf5c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35a0731a5aaa6950651cb4730307899217a432104746ef63189d246120fbf5c5", kill_on_drop: false }`
[INFO] [stdout] 35a0731a5aaa6950651cb4730307899217a432104746ef63189d246120fbf5c5
