[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 try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout 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-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/manykarim/robotframework-javaui on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cdb3120f30312a7c6f18ae6863bbfc632c1fa0bd4d0f999e233f35c6408c9101
[INFO] running `Command { std: "docker" "start" "-a" "cdb3120f30312a7c6f18ae6863bbfc632c1fa0bd4d0f999e233f35c6408c9101", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cdb3120f30312a7c6f18ae6863bbfc632c1fa0bd4d0f999e233f35c6408c9101", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cdb3120f30312a7c6f18ae6863bbfc632c1fa0bd4d0f999e233f35c6408c9101", kill_on_drop: false }`
[INFO] [stdout] cdb3120f30312a7c6f18ae6863bbfc632c1fa0bd4d0f999e233f35c6408c9101
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 35bd3532ee6595b02c85f8d1489410253d7a5c5a6af1e57f13ed961477e4e585
[INFO] running `Command { std: "docker" "start" "-a" "35bd3532ee6595b02c85f8d1489410253d7a5c5a6af1e57f13ed961477e4e585", 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 parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde v1.0.228
[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 indoc v2.0.7
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling pest v2.8.5
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling pyo3-ffi v0.20.3
[INFO] [stderr]    Compiling pyo3 v0.20.3
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling pest_meta v2.8.5
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling regex-automata v0.4.13
[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 tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling pest_derive v2.8.5
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling pyo3-macros v0.20.3
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling chrono v0.4.42
[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 47.84s
[INFO] running `Command { std: "docker" "inspect" "35bd3532ee6595b02c85f8d1489410253d7a5c5a6af1e57f13ed961477e4e585", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35bd3532ee6595b02c85f8d1489410253d7a5c5a6af1e57f13ed961477e4e585", kill_on_drop: false }`
[INFO] [stdout] 35bd3532ee6595b02c85f8d1489410253d7a5c5a6af1e57f13ed961477e4e585
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] f97f25cf7159a668f299c3396c40ad09542424848d452ab41d82700cf1fde37c
[INFO] running `Command { std: "docker" "start" "-a" "f97f25cf7159a668f299c3396c40ad09542424848d452ab41d82700cf1fde37c", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling cast v0.3.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 clap_builder v4.5.54
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[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 32.51s
[INFO] running `Command { std: "docker" "inspect" "f97f25cf7159a668f299c3396c40ad09542424848d452ab41d82700cf1fde37c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f97f25cf7159a668f299c3396c40ad09542424848d452ab41d82700cf1fde37c", kill_on_drop: false }`
[INFO] [stdout] f97f25cf7159a668f299c3396c40ad09542424848d452ab41d82700cf1fde37c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] d439a038b3549f54ced31b24c39c8c15ea696c6b17a8c1389152a8e1f13cfa0d
[INFO] running `Command { std: "docker" "start" "-a" "d439a038b3549f54ced31b24c39c8c15ea696c6b17a8c1389152a8e1f13cfa0d", 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.61s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/robotframework-javagui/285af9d51a8eaa9c/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_is_connection_error ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_contains ... ok
[INFO] [stdout] test error::tests::test_is_recoverable ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_id_selector ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_pseudo_selector_state ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_pseudo_selector_structural ... ok
[INFO] [stdout] test error::tests::test_error_display ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_type_selector ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_attribute_contains ... ok
[INFO] [stdout] test locator::matcher::tests::test_value_matching_operators ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_attribute_equals ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_empty_error ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_descendant_combinator ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_pseudo_enabled ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_child_combinator ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_type_only ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_pseudo_nth_child ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_xpath_multi_step_child ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_xpath_multi_step_descendant ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_editor_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::parser::tests::test_parse_xpath_simple ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_id ... ok
[INFO] [stdout] test locator::matcher::tests::test_regex_matching ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_xpath_index ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_menu_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_class_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_perspective_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_prefix_mixed_case ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_prefix_uppercase ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_complex ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_class_name_matching_contains ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_view_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_class_name_no_match ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_class_name_matching_full_class ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_compound_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_class_name_matching_package_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_empty_class_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_empty_tooltip_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_empty_id_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_prefix_lowercase ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_find_all ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_find_with_index ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_empty_name_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_case_insensitive_swt_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_find_first ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_index_selection_last ... 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_class_locator_simple ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_index_selection_out_of_bounds ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_index_selection_first ... 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_class_locator_with_attribute ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_index_selection_middle ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_accessible_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_editor_locator ... 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_invalid ... 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_larger_value ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_name_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_menu_locator ... 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_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_name_locator_ends_with ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_simple_type ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_text_locator_alias ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_swt_prefix ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_type_with_id ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_view_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_with_pseudo_class ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_perspective_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_pseudo_class_parsing ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_view_selector_builder ... 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_text_match ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_tooltip_locator ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_widget_selector_type_match ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_widget_selector_visible_hidden ... ok
[INFO] [stdout] test model::element::tests::test_component_type_parsing ... 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::element::tests::test_rectangle_contains ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_widget_selector_pseudo_class ... ok
[INFO] [stdout] test model::rcp::tests::test_view_compound_id ... ok
[INFO] [stdout] test model::element::tests::test_property_value ... ok
[INFO] [stdout] test model::element::tests::test_element_matches_type ... 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::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::widget::tests::test_serialization ... ok
[INFO] [stdout] test model::widget::tests::test_widget_tree_iteration ... ok
[INFO] [stdout] test model::widget::tests::test_swt_style ... ok
[INFO] [stdout] test model::tree::tests::test_to_text_tree ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_class_locator_with_pseudo ... ok
[INFO] [stdout] test model::widget::tests::test_swt_widget_creation ... 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_widget_matches_type ... 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_response_deserialization ... ok
[INFO] [stdout] test protocol::tests::test_error_response ... ok
[INFO] [stdout] test protocol::tests::test_request_serialization ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_class ... ok
[INFO] [stdout] test locator::matcher::tests::test_match_attribute_selector ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_sibling_combinators ... ok
[INFO] [stdout] test locator::parser::tests::test_parse_universal ... ok
[INFO] [stdout] test model::rcp::tests::test_workbench_window_find_view ... ok
[INFO] [stdout] test locator::swt_matcher::tests::test_parse_with_attribute ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 124 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[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/rcp_library.rs - python::rcp_library::RcpLibrary (line 25) ... FAILED
[INFO] [stdout] test src/python/swt_library.rs - python::swt_library::SwtLibrary (line 122) ... 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/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/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/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.05s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "d439a038b3549f54ced31b24c39c8c15ea696c6b17a8c1389152a8e1f13cfa0d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d439a038b3549f54ced31b24c39c8c15ea696c6b17a8c1389152a8e1f13cfa0d", kill_on_drop: false }`
[INFO] [stdout] d439a038b3549f54ced31b24c39c8c15ea696c6b17a8c1389152a8e1f13cfa0d
