[INFO] fetching crate rusty-driver 0.3.3... [INFO] testing rusty-driver-0.3.3 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate rusty-driver 0.3.3 into /workspace/builds/worker-2-tc1/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-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rusty-driver 0.3.3 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded webdriver v0.44.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 979d1ccfc06744b6f515738242b7e98739b02f22f35e429f6fbdb17dd623669d [INFO] running `Command { std: "docker" "start" "-a" "979d1ccfc06744b6f515738242b7e98739b02f22f35e429f6fbdb17dd623669d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "979d1ccfc06744b6f515738242b7e98739b02f22f35e429f6fbdb17dd623669d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "979d1ccfc06744b6f515738242b7e98739b02f22f35e429f6fbdb17dd623669d", kill_on_drop: false }` [INFO] [stdout] 979d1ccfc06744b6f515738242b7e98739b02f22f35e429f6fbdb17dd623669d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bac97fc6d5cae63fdf708ef0d5528ac43a591c2fc51eba5d303ac52b0a344610 [INFO] running `Command { std: "docker" "start" "-a" "bac97fc6d5cae63fdf708ef0d5528ac43a591c2fc51eba5d303ac52b0a344610", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.119 [INFO] [stderr] Compiling syn v1.0.86 [INFO] [stderr] Compiling slab v0.4.5 [INFO] [stderr] Compiling futures-channel v0.3.21 [INFO] [stderr] Compiling bytes v1.1.0 [INFO] [stderr] Compiling pkg-config v0.3.24 [INFO] [stderr] Compiling tracing-core v0.1.22 [INFO] [stderr] Compiling tinyvec_macros v0.1.0 [INFO] [stderr] Compiling httparse v1.6.0 [INFO] [stderr] Compiling indexmap v1.8.0 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling want v0.3.0 [INFO] [stderr] Compiling pin-project-internal v0.4.29 [INFO] [stderr] Compiling unicode-bidi v0.3.7 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling openssl v0.10.38 [INFO] [stderr] Compiling tinyvec v1.5.1 [INFO] [stderr] Compiling tower-service v0.3.1 [INFO] [stderr] Compiling form_urlencoded v1.0.1 [INFO] [stderr] Compiling serde_json v1.0.79 [INFO] [stderr] Compiling http v0.2.6 [INFO] [stderr] Compiling cpufeatures v0.2.1 [INFO] [stderr] Compiling native-tls v0.2.8 [INFO] [stderr] Compiling mime v0.3.16 [INFO] [stderr] Compiling sha-1 v0.10.0 [INFO] [stderr] Compiling tracing v0.1.31 [INFO] [stderr] Compiling backtrace v0.3.64 [INFO] [stderr] Compiling object v0.27.1 [INFO] [stderr] Compiling mime_guess v2.0.4 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling openssl-sys v0.9.72 [INFO] [stderr] Compiling scoped-tls v1.0.0 [INFO] [stderr] Compiling urlencoding v1.3.3 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling socket2 v0.4.4 [INFO] [stderr] Compiling mio v0.8.0 [INFO] [stderr] Compiling socket2 v0.3.19 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling tokio v1.17.0 [INFO] [stderr] Compiling unicode-normalization v0.1.19 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling cookie v0.12.0 [INFO] [stderr] Compiling idna v0.2.3 [INFO] [stderr] Compiling headers-core v0.2.0 [INFO] [stderr] Compiling http-body v0.3.1 [INFO] [stderr] Compiling http-body v0.4.4 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling headers v0.3.7 [INFO] [stderr] Compiling tokio v0.2.25 [INFO] [stderr] Compiling url v2.2.2 [INFO] [stderr] Compiling futures-macro v0.3.21 [INFO] [stderr] Compiling pin-project-internal v1.0.10 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling serde_urlencoded v0.6.1 [INFO] [stderr] Compiling futures-util v0.3.21 [INFO] [stderr] Compiling pin-project v1.0.10 [INFO] [stderr] Compiling pin-project v0.4.29 [INFO] [stderr] Compiling tracing-futures v0.2.5 [INFO] [stderr] Compiling tokio-util v0.3.1 [INFO] [stderr] Compiling tokio-native-tls v0.3.0 [INFO] [stderr] Compiling futures-executor v0.3.21 [INFO] [stderr] Compiling h2 v0.2.7 [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 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 40.06s [INFO] running `Command { std: "docker" "inspect" "bac97fc6d5cae63fdf708ef0d5528ac43a591c2fc51eba5d303ac52b0a344610", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bac97fc6d5cae63fdf708ef0d5528ac43a591c2fc51eba5d303ac52b0a344610", kill_on_drop: false }` [INFO] [stdout] bac97fc6d5cae63fdf708ef0d5528ac43a591c2fc51eba5d303ac52b0a344610 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1adca31b1317e49c19434f137a7672dc40aa98fd911d2f1177e13b4b318497cf [INFO] running `Command { std: "docker" "start" "-a" "1adca31b1317e49c19434f137a7672dc40aa98fd911d2f1177e13b4b318497cf", kill_on_drop: false }` [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 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] [stderr] Compiling rusty-driver v0.3.3 (/opt/rustwide/workdir) [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 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 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: 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[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] 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 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: 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] Some errors have detailed explanations: E0432, E0463, 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 "wikipedia") due to 14 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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 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 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/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/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] 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] [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, 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 12 previous errors; 3 warnings emitted [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" "1adca31b1317e49c19434f137a7672dc40aa98fd911d2f1177e13b4b318497cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1adca31b1317e49c19434f137a7672dc40aa98fd911d2f1177e13b4b318497cf", kill_on_drop: false }` [INFO] [stdout] 1adca31b1317e49c19434f137a7672dc40aa98fd911d2f1177e13b4b318497cf