[INFO] fetching crate rusty-driver 0.3.3...
[INFO] testing rusty-driver-0.3.3 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate rusty-driver 0.3.3 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate rusty-driver 0.3.3
[INFO] finished tweaking crates.io crate rusty-driver 0.3.3
[INFO] tweaked toml for crates.io crate rusty-driver 0.3.3 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rusty-driver 0.3.3 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rusty-driver 0.3.3 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 249195d31a8b50268e896bddc224f71fdc980adb68656f6265082a978ee46deb
[INFO] running `Command { std: "docker" "start" "-a" "249195d31a8b50268e896bddc224f71fdc980adb68656f6265082a978ee46deb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "249195d31a8b50268e896bddc224f71fdc980adb68656f6265082a978ee46deb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "249195d31a8b50268e896bddc224f71fdc980adb68656f6265082a978ee46deb", kill_on_drop: false }`
[INFO] [stdout] 249195d31a8b50268e896bddc224f71fdc980adb68656f6265082a978ee46deb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 29a008417247de9514d0eb62613cc883c88b1db8f2612b9ef7bfc84a8effe50a
[INFO] running `Command { std: "docker" "start" "-a" "29a008417247de9514d0eb62613cc883c88b1db8f2612b9ef7bfc84a8effe50a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.119
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]    Compiling pin-project-lite v0.2.8
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling itoa v1.0.1
[INFO] [stderr]    Compiling futures-channel v0.3.21
[INFO] [stderr]    Compiling futures-task v0.3.21
[INFO] [stderr]    Compiling futures-sink v0.3.21
[INFO] [stderr]    Compiling futures-util v0.3.21
[INFO] [stderr]    Compiling http v0.2.6
[INFO] [stderr]    Compiling pkg-config v0.3.24
[INFO] [stderr]    Compiling futures-io v0.3.21
[INFO] [stderr]    Compiling tracing-core v0.1.22
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling bytes v0.5.6
[INFO] [stderr]    Compiling httparse v1.6.0
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling tracing v0.1.31
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling pin-project-lite v0.1.12
[INFO] [stderr]    Compiling crypto-common v0.1.3
[INFO] [stderr]    Compiling openssl-sys v0.9.72
[INFO] [stderr]    Compiling pin-project-internal v0.4.29
[INFO] [stderr]    Compiling once_cell v1.10.0
[INFO] [stderr]    Compiling digest v0.10.3
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling socket2 v0.4.4
[INFO] [stderr]    Compiling tokio v0.2.25
[INFO] [stderr]    Compiling openssl v0.10.38
[INFO] [stderr]    Compiling mio v0.8.0
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]    Compiling sha-1 v0.10.0
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling http-body v0.3.1
[INFO] [stderr]    Compiling backtrace v0.3.64
[INFO] [stderr]    Compiling socket2 v0.3.19
[INFO] [stderr]    Compiling tokio v1.17.0
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling ryu v1.0.9
[INFO] [stderr]    Compiling gimli v0.26.1
[INFO] [stderr]    Compiling httpdate v0.3.2
[INFO] [stderr]    Compiling headers v0.3.7
[INFO] [stderr]    Compiling http-body v0.4.4
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling object v0.27.1
[INFO] [stderr]    Compiling tokio-util v0.3.1
[INFO] [stderr]    Compiling serde_urlencoded v0.6.1
[INFO] [stderr]    Compiling addr2line v0.17.0
[INFO] [stderr]    Compiling futures-macro v0.3.21
[INFO] [stderr]    Compiling pin-project-internal v1.0.10
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling urlencoding v1.3.3
[INFO] [stderr]    Compiling pin-project v1.0.10
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling tokio-native-tls v0.3.0
[INFO] [stderr]    Compiling cookie v0.12.0
[INFO] [stderr]    Compiling unicode-segmentation v1.9.0
[INFO] [stderr]    Compiling base64 v0.12.3
[INFO] [stderr]    Compiling pin-project v0.4.29
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling h2 v0.2.7
[INFO] [stderr]    Compiling futures-executor v0.3.21
[INFO] [stderr]    Compiling futures v0.3.21
[INFO] [stderr]    Compiling hyper v0.14.17
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling hyper v0.13.10
[INFO] [stderr]    Compiling warp v0.2.5
[INFO] [stderr]    Compiling webdriver v0.44.0
[INFO] [stderr]    Compiling rusty-driver v0.3.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated`
[INFO] [stdout]   --> src/error.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / error_chain! {
[INFO] [stdout]  2 | |     foreign_links {
[INFO] [stdout]  3 | |         HttpError(::http::Error);
[INFO] [stdout]  4 | |         HyperError(::hyper::Error);
[INFO] [stdout] ...  |
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `impl_error_chain_processed` may come from an old version of the `error_chain` crate, try updating your dependency with `cargo update -p error_chain`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |         self.clone().execute(js, args).await?;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 316 -         self.clone().execute(js, args).await?;
[INFO] [stdout] 316 +         self.execute(js, args).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:323:19
[INFO] [stdout]     |
[INFO] [stdout] 323 |         match self.clone().attr(eid.clone(), String::from("href")).await? {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 323 -         match self.clone().attr(eid.clone(), String::from("href")).await? {
[INFO] [stdout] 323 +         match self.attr(eid.clone(), String::from("href")).await? {
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:340:23
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let elt = self.clone().find(locator.into(), Some(eid)).await?;
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 340 -         let elt = self.clone().find(locator.into(), Some(eid)).await?;
[INFO] [stdout] 340 +         let elt = self.find(locator.into(), Some(eid)).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:347:23
[INFO] [stdout]     |
[INFO] [stdout] 347 |         let res = self.clone().execute(js, args).await?;
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 347 -         let res = self.clone().execute(js, args).await?;
[INFO] [stdout] 347 +         let res = self.execute(js, args).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:363:23
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let elt = self.clone().find(button.into(), Some(eid)).await?;
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 363 -         let elt = self.clone().find(button.into(), Some(eid)).await?;
[INFO] [stdout] 363 +         let elt = self.find(button.into(), Some(eid)).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:364:16
[INFO] [stdout]     |
[INFO] [stdout] 364 |         Ok(self.clone().click(elt).await?)
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 364 -         Ok(self.clone().click(elt).await?)
[INFO] [stdout] 364 +         Ok(self.click(elt).await?)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         self.clone().execute(js, args).await?;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 403 -         self.clone().execute(js, args).await?;
[INFO] [stdout] 403 +         self.execute(js, args).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 30s
[INFO] running `Command { std: "docker" "inspect" "29a008417247de9514d0eb62613cc883c88b1db8f2612b9ef7bfc84a8effe50a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29a008417247de9514d0eb62613cc883c88b1db8f2612b9ef7bfc84a8effe50a", kill_on_drop: false }`
[INFO] [stdout] 29a008417247de9514d0eb62613cc883c88b1db8f2612b9ef7bfc84a8effe50a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5012624d71a7a904220310c879dd0582ebb3d8d664872e0ebce00d93dcbbab7f
[INFO] running `Command { std: "docker" "start" "-a" "5012624d71a7a904220310c879dd0582ebb3d8d664872e0ebce00d93dcbbab7f", kill_on_drop: false }`
[INFO] [stderr]    Compiling rusty-driver v0.3.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated`
[INFO] [stdout]   --> src/error.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / error_chain! {
[INFO] [stdout]  2 | |     foreign_links {
[INFO] [stdout]  3 | |         HttpError(::http::Error);
[INFO] [stdout]  4 | |         HyperError(::hyper::Error);
[INFO] [stdout] ...  |
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `impl_error_chain_processed` may come from an old version of the `error_chain` crate, try updating your dependency with `cargo update -p error_chain`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |         self.clone().execute(js, args).await?;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 316 -         self.clone().execute(js, args).await?;
[INFO] [stdout] 316 +         self.execute(js, args).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:323:19
[INFO] [stdout]     |
[INFO] [stdout] 323 |         match self.clone().attr(eid.clone(), String::from("href")).await? {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 323 -         match self.clone().attr(eid.clone(), String::from("href")).await? {
[INFO] [stdout] 323 +         match self.attr(eid.clone(), String::from("href")).await? {
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:340:23
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let elt = self.clone().find(locator.into(), Some(eid)).await?;
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 340 -         let elt = self.clone().find(locator.into(), Some(eid)).await?;
[INFO] [stdout] 340 +         let elt = self.find(locator.into(), Some(eid)).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:347:23
[INFO] [stdout]     |
[INFO] [stdout] 347 |         let res = self.clone().execute(js, args).await?;
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 347 -         let res = self.clone().execute(js, args).await?;
[INFO] [stdout] 347 +         let res = self.execute(js, args).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:363:23
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let elt = self.clone().find(button.into(), Some(eid)).await?;
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 363 -         let elt = self.clone().find(button.into(), Some(eid)).await?;
[INFO] [stdout] 363 +         let elt = self.find(button.into(), Some(eid)).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:364:16
[INFO] [stdout]     |
[INFO] [stdout] 364 |         Ok(self.clone().click(elt).await?)
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 364 -         Ok(self.clone().click(elt).await?)
[INFO] [stdout] 364 +         Ok(self.click(elt).await?)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         self.clone().execute(js, args).await?;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 403 -         self.clone().execute(js, args).await?;
[INFO] [stdout] 403 +         self.execute(js, args).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found keyword `await`
[INFO] [stdout]   --> examples/wikipedia.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 | use futures::prelude::await;
[INFO] [stdout]    |                       ^^^^^ expected identifier, found keyword
[INFO] [stdout]    |
[INFO] [stdout] help: escape `await` to use it as an identifier
[INFO] [stdout]    |
[INFO] [stdout] 20 | use futures::prelude::r#await;
[INFO] [stdout]    |                       ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found keyword `async`
[INFO] [stdout]   --> examples/wikipedia.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[async]
[INFO] [stdout]    |   ^^^^^ expected identifier, found keyword
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: incorrect use of `await`
[INFO] [stdout]   --> examples/wikipedia.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let driver = await!(Driver::new("http://localhost:4444".into(), None))?;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `await` is a postfix operation
[INFO] [stdout]    |
[INFO] [stdout] 27 -     let driver = await!(Driver::new("http://localhost:4444".into(), None))?;
[INFO] [stdout] 27 +     let driver = Driver::new("http://localhost:4444".into(), None).await)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: incorrect use of `await`
[INFO] [stdout]   --> examples/wikipedia.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     await!(driver.clone().goto("https://www.wikipedia.org".into()))?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `await` is a postfix operation
[INFO] [stdout]    |
[INFO] [stdout] 28 -     await!(driver.clone().goto("https://www.wikipedia.org".into()))?;
[INFO] [stdout] 28 +     driver.clone().goto("https://www.wikipedia.org".into()).await)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: incorrect use of `await`
[INFO] [stdout]   --> examples/wikipedia.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |       let search = await!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 30 | |         driver.clone().find(Locator::Css("form#search-form".into()), None)
[INFO] [stdout] 31 | |     )?;
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout] help: `await` is a postfix operation
[INFO] [stdout]    |
[INFO] [stdout] 29 -     let search = await!(
[INFO] [stdout] 30 -         driver.clone().find(Locator::Css("form#search-form".into()), None)
[INFO] [stdout] 29 +     let search = driver.clone().find(Locator::Css("form#search-form".into()), None).await
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: incorrect use of `await`
[INFO] [stdout]   --> examples/wikipedia.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     await!(driver.clone().set_by_name(search.clone(), "search".into(), article))?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `await` is a postfix operation
[INFO] [stdout]    |
[INFO] [stdout] 32 -     await!(driver.clone().set_by_name(search.clone(), "search".into(), article))?;
[INFO] [stdout] 32 +     driver.clone().set_by_name(search.clone(), "search".into(), article).await)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: incorrect use of `await`
[INFO] [stdout]   --> examples/wikipedia.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     await!(driver.clone().submit(search))?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `await` is a postfix operation
[INFO] [stdout]    |
[INFO] [stdout] 33 -     await!(driver.clone().submit(search))?;
[INFO] [stdout] 33 +     driver.clone().submit(search).await)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> examples/wikipedia.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(generators, use_extern_macros, proc_macro_non_items, nll)]
[INFO] [stdout]    |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed in 1.75.0; see <https://github.com/rust-lang/rust/pull/116958> for more information
[INFO] [stdout]    = note: renamed to `coroutines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> examples/wikipedia.rs:13:43
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(generators, use_extern_macros, proc_macro_non_items, nll)]
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed in 1.27.0; see <https://github.com/rust-lang/rust/pull/52121> for more information
[INFO] [stdout]    = note: subsumed by `#![feature(proc_macro_hygiene)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `futures_await`
[INFO] [stdout]   --> examples/wikipedia.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | extern crate futures_await as futures;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found keyword `await`
[INFO] [stdout]   --> examples/curl.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 | use futures::prelude::await;
[INFO] [stdout]    |                       ^^^^^ expected identifier, found keyword
[INFO] [stdout]    |
[INFO] [stdout] help: escape `await` to use it as an identifier
[INFO] [stdout]    |
[INFO] [stdout] 20 | use futures::prelude::r#await;
[INFO] [stdout]    |                       ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found keyword `async`
[INFO] [stdout]   --> examples/curl.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[async]
[INFO] [stdout]    |   ^^^^^ expected identifier, found keyword
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: incorrect use of `await`
[INFO] [stdout]   --> examples/curl.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let driver = await!(Driver::new("http://localhost:4444".into(), None))?;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `await` is a postfix operation
[INFO] [stdout]    |
[INFO] [stdout] 27 -     let driver = await!(Driver::new("http://localhost:4444".into(), None))?;
[INFO] [stdout] 27 +     let driver = Driver::new("http://localhost:4444".into(), None).await)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: incorrect use of `await`
[INFO] [stdout]   --> examples/curl.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     await!(driver.clone().goto(url))?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `await` is a postfix operation
[INFO] [stdout]    |
[INFO] [stdout] 28 -     await!(driver.clone().goto(url))?;
[INFO] [stdout] 28 +     driver.clone().goto(url).await)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: incorrect use of `await`
[INFO] [stdout]   --> examples/curl.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let body = await!(driver.clone().find(Locator::Css("body".into()), None))?;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `await` is a postfix operation
[INFO] [stdout]    |
[INFO] [stdout] 29 -     let body = await!(driver.clone().find(Locator::Css("body".into()), None))?;
[INFO] [stdout] 29 +     let body = driver.clone().find(Locator::Css("body".into()), None).await)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> examples/curl.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(generators, use_extern_macros, proc_macro_non_items, nll)]
[INFO] [stdout]    |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed in 1.75.0; see <https://github.com/rust-lang/rust/pull/116958> for more information
[INFO] [stdout]    = note: renamed to `coroutines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> examples/curl.rs:13:43
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(generators, use_extern_macros, proc_macro_non_items, nll)]
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed in 1.27.0; see <https://github.com/rust-lang/rust/pull/52121> for more information
[INFO] [stdout]    = note: subsumed by `#![feature(proc_macro_hygiene)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: incorrect use of `await`
[INFO] [stdout]   --> examples/wikipedia.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |     println!("{}", await!(driver.source())?);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `await` is a postfix operation
[INFO] [stdout]    |
[INFO] [stdout] 34 -     println!("{}", await!(driver.source())?);
[INFO] [stdout] 34 +     println!("{}", driver.source().await)?);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `futures_await`
[INFO] [stdout]   --> examples/curl.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | extern crate futures_await as futures;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: incorrect use of `await`
[INFO] [stdout]   --> examples/curl.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |     println!("{}", await!(driver.html(body, true))?);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `await` is a postfix operation
[INFO] [stdout]    |
[INFO] [stdout] 30 -     println!("{}", await!(driver.html(body, true))?);
[INFO] [stdout] 30 +     println!("{}", driver.html(body, true).await)?);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio::run`
[INFO] [stdout]   --> examples/wikipedia.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::run;
[INFO] [stdout]    |     ^^^^^^^^^^ no `run` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `r#async` in this scope
[INFO] [stdout]   --> examples/wikipedia.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[async]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `async_block` in this scope
[INFO] [stdout]   --> examples/wikipedia.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         run(async_block! {
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]   --> examples/wikipedia.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(generators, use_extern_macros, proc_macro_non_items, nll)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the feature `nll` has been stable since `1.63.0` and no longer requires an attribute to enable
[INFO] [stdout]    = help: the feature `nll` has been stable since `1.63.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Driver` and `Locator`
[INFO] [stdout]   --> examples/wikipedia.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 | use rusty_driver::{Locator, Driver, error::*};
[INFO] [stdout]    |                    ^^^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `use_extern_macros` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> examples/wikipedia.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(generators, use_extern_macros, proc_macro_non_items, nll)]
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> examples/wikipedia.rs:13:65
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(generators, use_extern_macros, proc_macro_non_items, nll)]
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio::run`
[INFO] [stdout]   --> examples/curl.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::run;
[INFO] [stdout]    |     ^^^^^^^^^^ no `run` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0463, E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `r#async` in this scope
[INFO] [stdout]   --> examples/curl.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[async]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `async_block` in this scope
[INFO] [stdout]   --> examples/curl.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         run(async_block! {
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusty-driver` (example "wikipedia") due to 15 previous errors; 3 warnings emitted
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]   --> examples/curl.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(generators, use_extern_macros, proc_macro_non_items, nll)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the feature `nll` has been stable since `1.63.0` and no longer requires an attribute to enable
[INFO] [stdout]    = help: the feature `nll` has been stable since `1.63.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused imports: `Driver` and `Locator`
[INFO] [stdout]   --> examples/curl.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 | use rusty_driver::{Locator, Driver, error::*};
[INFO] [stdout]    |                    ^^^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `use_extern_macros` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> examples/curl.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(generators, use_extern_macros, proc_macro_non_items, nll)]
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> examples/curl.rs:13:65
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![feature(generators, use_extern_macros, proc_macro_non_items, nll)]
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0463, E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusty-driver` (example "curl") due to 13 previous errors; 3 warnings emitted
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated`
[INFO] [stdout]   --> src/error.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / error_chain! {
[INFO] [stdout]  2 | |     foreign_links {
[INFO] [stdout]  3 | |         HttpError(::http::Error);
[INFO] [stdout]  4 | |         HyperError(::hyper::Error);
[INFO] [stdout] ...  |
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `impl_error_chain_processed` may come from an old version of the `error_chain` crate, try updating your dependency with `cargo update -p error_chain`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |         self.clone().execute(js, args).await?;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 316 -         self.clone().execute(js, args).await?;
[INFO] [stdout] 316 +         self.execute(js, args).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:323:19
[INFO] [stdout]     |
[INFO] [stdout] 323 |         match self.clone().attr(eid.clone(), String::from("href")).await? {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 323 -         match self.clone().attr(eid.clone(), String::from("href")).await? {
[INFO] [stdout] 323 +         match self.attr(eid.clone(), String::from("href")).await? {
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:340:23
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let elt = self.clone().find(locator.into(), Some(eid)).await?;
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 340 -         let elt = self.clone().find(locator.into(), Some(eid)).await?;
[INFO] [stdout] 340 +         let elt = self.find(locator.into(), Some(eid)).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:347:23
[INFO] [stdout]     |
[INFO] [stdout] 347 |         let res = self.clone().execute(js, args).await?;
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 347 -         let res = self.clone().execute(js, args).await?;
[INFO] [stdout] 347 +         let res = self.execute(js, args).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:363:23
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let elt = self.clone().find(button.into(), Some(eid)).await?;
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 363 -         let elt = self.clone().find(button.into(), Some(eid)).await?;
[INFO] [stdout] 363 +         let elt = self.find(button.into(), Some(eid)).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:364:16
[INFO] [stdout]     |
[INFO] [stdout] 364 |         Ok(self.clone().click(elt).await?)
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 364 -         Ok(self.clone().click(elt).await?)
[INFO] [stdout] 364 +         Ok(self.click(elt).await?)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         self.clone().execute(js, args).await?;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Driver` does not implement `Clone`, so calling `clone` on `&Driver` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 403 -         self.clone().execute(js, args).await?;
[INFO] [stdout] 403 +         self.execute(js, args).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Driver`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  55 + #[derive(Clone)]
[INFO] [stdout]  56 | pub struct Driver(Client);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5012624d71a7a904220310c879dd0582ebb3d8d664872e0ebce00d93dcbbab7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5012624d71a7a904220310c879dd0582ebb3d8d664872e0ebce00d93dcbbab7f", kill_on_drop: false }`
[INFO] [stdout] 5012624d71a7a904220310c879dd0582ebb3d8d664872e0ebce00d93dcbbab7f
