[INFO] fetching crate tokio-async-std 1.5.3... [INFO] testing tokio-async-std-1.5.3 against beta-2022-02-22 for beta-1.60-1 [INFO] extracting crate tokio-async-std 1.5.3 into /workspace/builds/worker-13/source [INFO] validating manifest of crates.io crate tokio-async-std 1.5.3 on toolchain beta-2022-02-22 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate tokio-async-std 1.5.3 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate tokio-async-std 1.5.3 [INFO] tweaked toml for crates.io crate tokio-async-std 1.5.3 written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate crates.io crate tokio-async-std 1.5.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded hermit-abi v0.1.11 [INFO] [stderr] Downloaded openssl-sys v0.9.55 [INFO] [stderr] Downloaded isahc v0.7.6 [INFO] [stderr] Downloaded sluice v0.4.2 [INFO] [stderr] Downloaded surf v1.0.3 [INFO] [stderr] Downloaded curl v0.4.28 [INFO] [stderr] Downloaded termios v0.3.2 [INFO] [stderr] Downloaded serde_derive v1.0.106 [INFO] [stderr] Downloaded serde_json v1.0.51 [INFO] [stderr] Downloaded schannel v0.1.18 [INFO] [stderr] Downloaded dtoa v0.4.5 [INFO] [stderr] Downloaded serde v1.0.106 [INFO] [stderr] Downloaded tokio v0.2.18 [INFO] [stderr] Downloaded tokio-async-attributes v1.0.0 [INFO] [stderr] Downloaded libnghttp2-sys v0.1.3 [INFO] [stderr] Downloaded curl-sys v0.4.30+curl-7.69.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8384de41080e80432828e55c89cd42f126af1816db823e1aa8d354a0a4e03efa [INFO] running `Command { std: "docker" "start" "-a" "8384de41080e80432828e55c89cd42f126af1816db823e1aa8d354a0a4e03efa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8384de41080e80432828e55c89cd42f126af1816db823e1aa8d354a0a4e03efa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8384de41080e80432828e55c89cd42f126af1816db823e1aa8d354a0a4e03efa", kill_on_drop: false }` [INFO] [stdout] 8384de41080e80432828e55c89cd42f126af1816db823e1aa8d354a0a4e03efa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7654e97fc9cfb7685f151d05ddd2eb5e8029b792ed3b67b205b73b709a09d702 [INFO] running `Command { std: "docker" "start" "-a" "7654e97fc9cfb7685f151d05ddd2eb5e8029b792ed3b67b205b73b709a09d702", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.69 [INFO] [stderr] Compiling proc-macro2 v1.0.10 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling syn v1.0.17 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling pin-project-lite v0.1.4 [INFO] [stderr] Compiling bytes v0.5.4 [INFO] [stderr] Compiling futures-core v0.3.4 [INFO] [stderr] Compiling once_cell v1.3.1 [INFO] [stderr] Compiling futures-io v0.3.4 [INFO] [stderr] Compiling futures-timer v2.0.2 [INFO] [stderr] Compiling pin-utils v0.1.0-alpha.4 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling quote v1.0.3 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling net2 v0.2.33 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling mio v0.6.21 [INFO] [stderr] Compiling mio-uds v0.6.7 [INFO] [stderr] Compiling tokio-macros v0.2.5 [INFO] [stderr] Compiling tokio v0.2.18 [INFO] [stderr] Compiling tokio-async-std v1.5.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/sync/rwlock.rs:304:23 [INFO] [stdout] | [INFO] [stdout] 304 | if self.state.compare_and_swap(0, WRITE_LOCK, Ordering::SeqCst) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/io/stderr.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | mut self: Pin<&mut Self>, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/io/stderr.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/io/stdin.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | mut self: Pin<&mut Self>, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/io/stdout.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | mut self: Pin<&mut Self>, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/io/stdout.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `random` [INFO] [stdout] --> src/utils.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn random(n: u32) -> u32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/future/timeout.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | / pin_project! { [INFO] [stdout] 44 | | /// A future that times out after a duration of time. [INFO] [stdout] 45 | | pub struct TimeoutFuture { [INFO] [stdout] 46 | | #[pin] [INFO] [stdout] ... | [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/buf_reader.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | /// Adds buffering to any reader. [INFO] [stdout] 12 | | /// [INFO] [stdout] 13 | | /// It can be excessively inefficient to work directly with a [`Read`] instance. A `BufReader` [INFO] [stdout] ... | [INFO] [stdout] 52 | | } [INFO] [stdout] 53 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/buf_writer.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | /// Wraps a writer and buffers its output. [INFO] [stdout] 12 | | /// [INFO] [stdout] 13 | | /// It can be excessively inefficient to work directly with something that [INFO] [stdout] ... | [INFO] [stdout] 88 | | } [INFO] [stdout] 89 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/copy.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | / pin_project! { [INFO] [stdout] 54 | | struct CopyFuture { [INFO] [stdout] 55 | | #[pin] [INFO] [stdout] 56 | | reader: R, [INFO] [stdout] ... | [INFO] [stdout] 60 | | } [INFO] [stdout] 61 | | } [INFO] [stdout] | |_____^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/timeout.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / pin_project! { [INFO] [stdout] 47 | | /// Future returned by the `FutureExt::timeout` method. [INFO] [stdout] 48 | | #[derive(Debug)] [INFO] [stdout] 49 | | pub struct Timeout [INFO] [stdout] ... | [INFO] [stdout] 57 | | } [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/from_iter.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | /// A stream that was created from iterator. [INFO] [stdout] 12 | | /// [INFO] [stdout] 13 | | /// This stream is created by the [`from_iter`] function. [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/once.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | / pin_project! { [INFO] [stdout] 33 | | /// A stream that yields a single item. [INFO] [stdout] 34 | | /// [INFO] [stdout] 35 | | /// This stream is created by the [`once`] function. See its [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] 43 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/buf_read/lines.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | /// A stream of lines in a byte stream. [INFO] [stdout] 14 | | /// [INFO] [stdout] 15 | | /// This stream is created by the [`lines`] method on types that implement [`BufRead`]. [INFO] [stdout] ... | [INFO] [stdout] 29 | | } [INFO] [stdout] 30 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/buf_read/split.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pin_project! { [INFO] [stdout] 12 | | /// A stream over the contents of an instance of [`BufRead`] split on a particular byte. [INFO] [stdout] 13 | | /// [INFO] [stdout] 14 | | /// This stream is created by the [`split`] method on types that implement [`BufRead`]. [INFO] [stdout] ... | [INFO] [stdout] 28 | | } [INFO] [stdout] 29 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/read/chain.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | /// Adaptor to chain together two readers. [INFO] [stdout] 11 | | /// [INFO] [stdout] 12 | | /// This struct is generally created by calling [`chain`] on a reader. [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/read/take.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | /// Reader adaptor which limits the bytes read from an underlying reader. [INFO] [stdout] 11 | | /// [INFO] [stdout] 12 | | /// This struct is generally created by calling [`take`] on a reader. [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/chain.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | /// A stream that chains two streams one after another. [INFO] [stdout] 11 | | /// [INFO] [stdout] 12 | | /// This `struct` is created by the [`chain`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 23 | | } [INFO] [stdout] 24 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/cloned.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / pin_project! { [INFO] [stdout] 7 | | /// A stream that clones the elements of an underlying stream. [INFO] [stdout] 8 | | #[derive(Debug)] [INFO] [stdout] 9 | | pub struct Cloned { [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/cmp.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | // Lexicographically compares the elements of this `Stream` with those [INFO] [stdout] 14 | | // of another using `Ord`. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 24 | | } [INFO] [stdout] 25 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/copied.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / pin_project! { [INFO] [stdout] 7 | | /// A stream that copies the elements of an underlying stream. [INFO] [stdout] 8 | | #[derive(Debug)] [INFO] [stdout] 9 | | pub struct Copied { [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/enumerate.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | #[derive(Debug)] [INFO] [stdout] 10 | | pub struct Enumerate { [INFO] [stdout] 11 | | #[pin] [INFO] [stdout] ... | [INFO] [stdout] 14 | | } [INFO] [stdout] 15 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/eq.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pin_project! { [INFO] [stdout] 12 | | // Lexicographically compares the elements of this `Stream` with those [INFO] [stdout] 13 | | // of another. [INFO] [stdout] 14 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/filter.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream to filter elements of another stream with a predicate. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`filter`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/filter_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | #[derive(Debug)] [INFO] [stdout] 10 | | pub struct FilterMap { [INFO] [stdout] 11 | | #[pin] [INFO] [stdout] ... | [INFO] [stdout] 14 | | } [INFO] [stdout] 15 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/fold.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | #[derive(Debug)] [INFO] [stdout] 11 | | pub struct FoldFuture { [INFO] [stdout] 12 | | #[pin] [INFO] [stdout] ... | [INFO] [stdout] 16 | | } [INFO] [stdout] 17 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/for_each.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | #[doc(hidden)] [INFO] [stdout] 11 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 12 | | pub struct ForEachFuture { [INFO] [stdout] ... | [INFO] [stdout] 16 | | } [INFO] [stdout] 17 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/fuse.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that yields `None` forever after the underlying stream yields `None` once. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`fuse`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/ge.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | // Determines if the elements of this `Stream` are lexicographically [INFO] [stdout] 14 | | // greater than or equal to those of another. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/gt.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | // Determines if the elements of this `Stream` are lexicographically [INFO] [stdout] 14 | | // greater than those of another. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/inspect.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that does something with each element of another stream. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`inspect`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/last.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | #[doc(hidden)] [INFO] [stdout] 11 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 12 | | pub struct LastFuture { [INFO] [stdout] ... | [INFO] [stdout] 16 | | } [INFO] [stdout] 17 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/le.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | /// Determines if the elements of this `Stream` are lexicographically [INFO] [stdout] 14 | | /// less or equal to those of another. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/lt.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | // Determines if the elements of this `Stream` are lexicographically [INFO] [stdout] 14 | | // less than those of another. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that maps value of another stream with a function. [INFO] [stdout] 10 | | #[derive(Debug)] [INFO] [stdout] 11 | | pub struct Map { [INFO] [stdout] ... | [INFO] [stdout] 15 | | } [INFO] [stdout] 16 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/max.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pin_project! { [INFO] [stdout] 12 | | #[doc(hidden)] [INFO] [stdout] 13 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 14 | | pub struct MaxFuture { [INFO] [stdout] ... | [INFO] [stdout] 19 | | } [INFO] [stdout] 20 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/max_by.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | #[doc(hidden)] [INFO] [stdout] 12 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 13 | | pub struct MaxByFuture { [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/max_by_key.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | #[doc(hidden)] [INFO] [stdout] 12 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 13 | | pub struct MaxByKeyFuture { [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/min.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pin_project! { [INFO] [stdout] 12 | | #[doc(hidden)] [INFO] [stdout] 13 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 14 | | pub struct MinFuture { [INFO] [stdout] ... | [INFO] [stdout] 19 | | } [INFO] [stdout] 20 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/min_by.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | #[doc(hidden)] [INFO] [stdout] 12 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 13 | | pub struct MinByFuture { [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/min_by_key.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | #[doc(hidden)] [INFO] [stdout] 12 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 13 | | pub struct MinByKeyFuture { [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/ne.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pin_project! { [INFO] [stdout] 12 | | // Lexicographically compares the elements of this `Stream` with those [INFO] [stdout] 13 | | // of another. [INFO] [stdout] 14 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/partial_cmp.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | // Lexicographically compares the elements of this `Stream` with those [INFO] [stdout] 14 | | // of another. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 24 | | } [INFO] [stdout] 25 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/scan.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream to maintain state while polling another stream. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`scan`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/skip.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream to skip first n elements of another stream. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`skip`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/skip_while.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream to skip elements of another stream based on a predicate. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`skip_while`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/step_by.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that steps a given amount of elements of another stream. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`step_by`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/take.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that yields the first `n` items of another stream. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`take`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/take_while.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that yields elements based on a predicate. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`take_while`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/zip.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | /// A stream that takes items from two other streams simultaneously. [INFO] [stdout] 11 | | /// [INFO] [stdout] 12 | | /// This `struct` is created by the [`zip`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 23 | | } [INFO] [stdout] 24 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 77 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 13.39s [INFO] running `Command { std: "docker" "inspect" "7654e97fc9cfb7685f151d05ddd2eb5e8029b792ed3b67b205b73b709a09d702", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7654e97fc9cfb7685f151d05ddd2eb5e8029b792ed3b67b205b73b709a09d702", kill_on_drop: false }` [INFO] [stdout] 7654e97fc9cfb7685f151d05ddd2eb5e8029b792ed3b67b205b73b709a09d702 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8ffc1cf7a9099ff896550e7b0143e1d795300dffee63c3db103286ed45676807 [INFO] running `Command { std: "docker" "start" "-a" "8ffc1cf7a9099ff896550e7b0143e1d795300dffee63c3db103286ed45676807", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.0.50 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling smallvec v1.3.0 [INFO] [stderr] Compiling futures-sink-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling version_check v0.9.1 [INFO] [stderr] Compiling futures-core-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling itoa v0.4.5 [INFO] [stderr] Compiling serde v1.0.106 [INFO] [stderr] Compiling futures-io-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling ryu v1.0.3 [INFO] [stderr] Compiling proc-macro-nested v0.1.4 [INFO] [stderr] Compiling matches v0.1.8 [INFO] [stderr] Compiling futures-sink v0.3.4 [INFO] [stderr] Compiling proc-macro-hack v0.5.15 [INFO] [stderr] Compiling curl v0.4.28 [INFO] [stderr] Compiling regex-syntax v0.6.17 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling isahc v0.7.6 [INFO] [stderr] Compiling rustc-demangle v0.1.16 [INFO] [stderr] Compiling futures-task v0.3.4 [INFO] [stderr] Compiling openssl-probe v0.1.2 [INFO] [stderr] Compiling mime v0.3.16 [INFO] [stderr] Compiling ppv-lite86 v0.2.6 [INFO] [stderr] Compiling dtoa v0.4.5 [INFO] [stderr] Compiling unicode-width v0.1.7 [INFO] [stderr] Compiling remove_dir_all v0.5.2 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling socket2 v0.3.12 [INFO] [stderr] Compiling crossbeam-channel v0.3.9 [INFO] [stderr] Compiling clicolors-control v1.0.1 [INFO] [stderr] Compiling termios v0.3.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling aho-corasick v0.7.10 [INFO] [stderr] Compiling serde_derive v1.0.106 [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/sync/rwlock.rs:304:23 [INFO] [stdout] | [INFO] [stdout] 304 | if self.state.compare_and_swap(0, WRITE_LOCK, Ordering::SeqCst) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/io/stderr.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | mut self: Pin<&mut Self>, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/io/stderr.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/io/stdin.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | mut self: Pin<&mut Self>, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/io/stdout.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | mut self: Pin<&mut Self>, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/io/stdout.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `random` [INFO] [stdout] --> src/utils.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn random(n: u32) -> u32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/future/timeout.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | / pin_project! { [INFO] [stdout] 44 | | /// A future that times out after a duration of time. [INFO] [stdout] 45 | | pub struct TimeoutFuture { [INFO] [stdout] 46 | | #[pin] [INFO] [stdout] ... | [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/buf_reader.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | /// Adds buffering to any reader. [INFO] [stdout] 12 | | /// [INFO] [stdout] 13 | | /// It can be excessively inefficient to work directly with a [`Read`] instance. A `BufReader` [INFO] [stdout] ... | [INFO] [stdout] 52 | | } [INFO] [stdout] 53 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/buf_writer.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | /// Wraps a writer and buffers its output. [INFO] [stdout] 12 | | /// [INFO] [stdout] 13 | | /// It can be excessively inefficient to work directly with something that [INFO] [stdout] ... | [INFO] [stdout] 88 | | } [INFO] [stdout] 89 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/copy.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | / pin_project! { [INFO] [stdout] 54 | | struct CopyFuture { [INFO] [stdout] 55 | | #[pin] [INFO] [stdout] 56 | | reader: R, [INFO] [stdout] ... | [INFO] [stdout] 60 | | } [INFO] [stdout] 61 | | } [INFO] [stdout] | |_____^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/timeout.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / pin_project! { [INFO] [stdout] 47 | | /// Future returned by the `FutureExt::timeout` method. [INFO] [stdout] 48 | | #[derive(Debug)] [INFO] [stdout] 49 | | pub struct Timeout [INFO] [stdout] ... | [INFO] [stdout] 57 | | } [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/from_iter.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | /// A stream that was created from iterator. [INFO] [stdout] 12 | | /// [INFO] [stdout] 13 | | /// This stream is created by the [`from_iter`] function. [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/once.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | / pin_project! { [INFO] [stdout] 33 | | /// A stream that yields a single item. [INFO] [stdout] 34 | | /// [INFO] [stdout] 35 | | /// This stream is created by the [`once`] function. See its [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] 43 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/buf_read/lines.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | /// A stream of lines in a byte stream. [INFO] [stdout] 14 | | /// [INFO] [stdout] 15 | | /// This stream is created by the [`lines`] method on types that implement [`BufRead`]. [INFO] [stdout] ... | [INFO] [stdout] 29 | | } [INFO] [stdout] 30 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/buf_read/split.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pin_project! { [INFO] [stdout] 12 | | /// A stream over the contents of an instance of [`BufRead`] split on a particular byte. [INFO] [stdout] 13 | | /// [INFO] [stdout] 14 | | /// This stream is created by the [`split`] method on types that implement [`BufRead`]. [INFO] [stdout] ... | [INFO] [stdout] 28 | | } [INFO] [stdout] 29 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/read/chain.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | /// Adaptor to chain together two readers. [INFO] [stdout] 11 | | /// [INFO] [stdout] 12 | | /// This struct is generally created by calling [`chain`] on a reader. [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/io/read/take.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | /// Reader adaptor which limits the bytes read from an underlying reader. [INFO] [stdout] 11 | | /// [INFO] [stdout] 12 | | /// This struct is generally created by calling [`take`] on a reader. [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/chain.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | /// A stream that chains two streams one after another. [INFO] [stdout] 11 | | /// [INFO] [stdout] 12 | | /// This `struct` is created by the [`chain`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 23 | | } [INFO] [stdout] 24 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/cloned.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / pin_project! { [INFO] [stdout] 7 | | /// A stream that clones the elements of an underlying stream. [INFO] [stdout] 8 | | #[derive(Debug)] [INFO] [stdout] 9 | | pub struct Cloned { [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/cmp.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | // Lexicographically compares the elements of this `Stream` with those [INFO] [stdout] 14 | | // of another using `Ord`. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 24 | | } [INFO] [stdout] 25 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/copied.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / pin_project! { [INFO] [stdout] 7 | | /// A stream that copies the elements of an underlying stream. [INFO] [stdout] 8 | | #[derive(Debug)] [INFO] [stdout] 9 | | pub struct Copied { [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/enumerate.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | #[derive(Debug)] [INFO] [stdout] 10 | | pub struct Enumerate { [INFO] [stdout] 11 | | #[pin] [INFO] [stdout] ... | [INFO] [stdout] 14 | | } [INFO] [stdout] 15 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/eq.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pin_project! { [INFO] [stdout] 12 | | // Lexicographically compares the elements of this `Stream` with those [INFO] [stdout] 13 | | // of another. [INFO] [stdout] 14 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/filter.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream to filter elements of another stream with a predicate. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`filter`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/filter_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | #[derive(Debug)] [INFO] [stdout] 10 | | pub struct FilterMap { [INFO] [stdout] 11 | | #[pin] [INFO] [stdout] ... | [INFO] [stdout] 14 | | } [INFO] [stdout] 15 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/fold.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | #[derive(Debug)] [INFO] [stdout] 11 | | pub struct FoldFuture { [INFO] [stdout] 12 | | #[pin] [INFO] [stdout] ... | [INFO] [stdout] 16 | | } [INFO] [stdout] 17 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/for_each.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | #[doc(hidden)] [INFO] [stdout] 11 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 12 | | pub struct ForEachFuture { [INFO] [stdout] ... | [INFO] [stdout] 16 | | } [INFO] [stdout] 17 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/fuse.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that yields `None` forever after the underlying stream yields `None` once. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`fuse`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/ge.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | // Determines if the elements of this `Stream` are lexicographically [INFO] [stdout] 14 | | // greater than or equal to those of another. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/gt.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | // Determines if the elements of this `Stream` are lexicographically [INFO] [stdout] 14 | | // greater than those of another. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/inspect.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that does something with each element of another stream. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`inspect`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/last.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | #[doc(hidden)] [INFO] [stdout] 11 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 12 | | pub struct LastFuture { [INFO] [stdout] ... | [INFO] [stdout] 16 | | } [INFO] [stdout] 17 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/le.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | /// Determines if the elements of this `Stream` are lexicographically [INFO] [stdout] 14 | | /// less or equal to those of another. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/lt.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | // Determines if the elements of this `Stream` are lexicographically [INFO] [stdout] 14 | | // less than those of another. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that maps value of another stream with a function. [INFO] [stdout] 10 | | #[derive(Debug)] [INFO] [stdout] 11 | | pub struct Map { [INFO] [stdout] ... | [INFO] [stdout] 15 | | } [INFO] [stdout] 16 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/max.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pin_project! { [INFO] [stdout] 12 | | #[doc(hidden)] [INFO] [stdout] 13 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 14 | | pub struct MaxFuture { [INFO] [stdout] ... | [INFO] [stdout] 19 | | } [INFO] [stdout] 20 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/max_by.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | #[doc(hidden)] [INFO] [stdout] 12 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 13 | | pub struct MaxByFuture { [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/max_by_key.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | #[doc(hidden)] [INFO] [stdout] 12 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 13 | | pub struct MaxByKeyFuture { [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/min.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pin_project! { [INFO] [stdout] 12 | | #[doc(hidden)] [INFO] [stdout] 13 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 14 | | pub struct MinFuture { [INFO] [stdout] ... | [INFO] [stdout] 19 | | } [INFO] [stdout] 20 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/min_by.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | #[doc(hidden)] [INFO] [stdout] 12 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 13 | | pub struct MinByFuture { [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/min_by_key.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pin_project! { [INFO] [stdout] 11 | | #[doc(hidden)] [INFO] [stdout] 12 | | #[allow(missing_debug_implementations)] [INFO] [stdout] 13 | | pub struct MinByKeyFuture { [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/ne.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pin_project! { [INFO] [stdout] 12 | | // Lexicographically compares the elements of this `Stream` with those [INFO] [stdout] 13 | | // of another. [INFO] [stdout] 14 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/partial_cmp.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pin_project! { [INFO] [stdout] 13 | | // Lexicographically compares the elements of this `Stream` with those [INFO] [stdout] 14 | | // of another. [INFO] [stdout] 15 | | #[doc(hidden)] [INFO] [stdout] ... | [INFO] [stdout] 24 | | } [INFO] [stdout] 25 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/scan.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream to maintain state while polling another stream. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`scan`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/skip.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream to skip first n elements of another stream. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`skip`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/skip_while.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream to skip elements of another stream based on a predicate. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`skip_while`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/step_by.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that steps a given amount of elements of another stream. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`step_by`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/take.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that yields the first `n` items of another stream. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`take`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/take_while.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pin_project! { [INFO] [stdout] 9 | | /// A stream that yields elements based on a predicate. [INFO] [stdout] 10 | | /// [INFO] [stdout] 11 | | /// This `struct` is created by the [`take_while`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 21 | | } [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/stream/stream/zip.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pin_project! { [INFO] [stdout] 10 | | /// A stream that takes items from two other streams simultaneously. [INFO] [stdout] 11 | | /// [INFO] [stdout] 12 | | /// This `struct` is created by the [`zip`] method on [`Stream`]. See its [INFO] [stdout] ... | [INFO] [stdout] 23 | | } [INFO] [stdout] 24 | | } [INFO] [stdout] | |_^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `$crate::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling futures-channel-preview v0.3.0-alpha.19 [INFO] [stdout] warning: 77 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling unicode-bidi v0.3.4 [INFO] [stderr] Compiling unicode-normalization v0.1.12 [INFO] [stderr] Compiling futures-channel v0.3.4 [INFO] [stderr] Compiling parking_lot_core v0.7.1 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling sluice v0.4.2 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling parking_lot v0.10.2 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling libz-sys v1.0.25 [INFO] [stderr] Compiling openssl-sys v0.9.55 [INFO] [stderr] Compiling libnghttp2-sys v0.1.3 [INFO] [stderr] Compiling curl-sys v0.4.30+curl-7.69.1 [INFO] [stderr] Compiling backtrace-sys v0.1.35 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling futures-macro v0.3.4 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling idna v0.2.0 [INFO] [stderr] Compiling tokio-io v0.1.13 [INFO] [stderr] Compiling http v0.1.21 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Compiling futures-util-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling url v2.1.1 [INFO] [stderr] Compiling backtrace v0.3.46 [INFO] [stderr] Compiling regex v1.3.6 [INFO] [stderr] Compiling futures-util v0.3.4 [INFO] [stderr] Compiling console v0.7.7 [INFO] [stderr] Compiling futures-executor-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling serde_json v1.0.51 [INFO] [stderr] Compiling serde_urlencoded v0.6.1 [INFO] [stderr] Compiling futures-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling futures-executor v0.3.4 [INFO] [stderr] Compiling async-log-attributes v1.0.1 [INFO] [stderr] Compiling futures v0.3.4 [INFO] [stderr] Compiling async-log v1.1.0 [INFO] [stderr] Compiling femme v1.3.0 [INFO] [stderr] Compiling surf v1.0.3 [INFO] [stderr] Compiling tokio-async-std v1.5.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tokio-async-std` [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `rustc --crate-name a_chat --edition=2018 examples/a-chat/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="crossbeam-utils"' --cfg 'feature="default"' --cfg 'feature="futures-core"' --cfg 'feature="futures-io"' --cfg 'feature="futures-timer"' --cfg 'feature="log"' --cfg 'feature="memchr"' --cfg 'feature="mio"' --cfg 'feature="mio-uds"' --cfg 'feature="num_cpus"' --cfg 'feature="once_cell"' --cfg 'feature="pin-project-lite"' --cfg 'feature="pin-utils"' --cfg 'feature="slab"' --cfg 'feature="std"' --cfg 'feature="tokio"' -C metadata=8115ad20fcbc225e -C extra-filename=-8115ad20fcbc225e --out-dir /opt/rustwide/target/debug/examples -L dependency=/opt/rustwide/target/debug/deps --extern crossbeam_utils=/opt/rustwide/target/debug/deps/libcrossbeam_utils-9c19d0751ed77bf7.rlib --extern femme=/opt/rustwide/target/debug/deps/libfemme-61b6aa8185e50617.rlib --extern futures=/opt/rustwide/target/debug/deps/libfutures-3e6178b5543724d9.rlib --extern futures_core=/opt/rustwide/target/debug/deps/libfutures_core-f976ea4ece1a84c9.rlib --extern futures_io=/opt/rustwide/target/debug/deps/libfutures_io-ea3c870d35903966.rlib --extern futures_timer=/opt/rustwide/target/debug/deps/libfutures_timer-ce01ce5997c359a0.rlib --extern log=/opt/rustwide/target/debug/deps/liblog-f04da3fa9ef64442.rlib --extern memchr=/opt/rustwide/target/debug/deps/libmemchr-1ae902ad2fa951e9.rlib --extern mio=/opt/rustwide/target/debug/deps/libmio-4c41cf150d896846.rlib --extern mio_uds=/opt/rustwide/target/debug/deps/libmio_uds-f49a572c71e7c851.rlib --extern num_cpus=/opt/rustwide/target/debug/deps/libnum_cpus-c635fc04c78bb848.rlib --extern once_cell=/opt/rustwide/target/debug/deps/libonce_cell-e54a982a6039d148.rlib --extern pin_project_lite=/opt/rustwide/target/debug/deps/libpin_project_lite-34c3f7fe1cfa4adb.rlib --extern pin_utils=/opt/rustwide/target/debug/deps/libpin_utils-a2058c5ec177353c.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-318fa79da763b06c.rlib --extern slab=/opt/rustwide/target/debug/deps/libslab-ee0db592f9db8068.rlib --extern surf=/opt/rustwide/target/debug/deps/libsurf-97a394b9811879ae.rlib --extern tempdir=/opt/rustwide/target/debug/deps/libtempdir-e53e67b73ef388ab.rlib --extern tokio=/opt/rustwide/target/debug/deps/libtokio-ea103d3196393192.rlib --extern async_std=/opt/rustwide/target/debug/deps/libasync_std-23b31c4d3f771c6b.rlib --cap-lints=warn -L native=/opt/rustwide/target/debug/build/backtrace-sys-5a3272b81dede948/out -L native=/opt/rustwide/target/debug/build/curl-sys-6c9aed6c7ad9bc0d/out/build -L native=/opt/rustwide/target/debug/build/libnghttp2-sys-feb7a856e43e7cee/out/i/lib -L native=/usr/lib/x86_64-linux-gnu` (signal: 9, SIGKILL: kill) [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute `doc` [INFO] [stdout] --> src/utils.rs:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `extension_trait` [INFO] [stdout] --> src/utils.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/future/future/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extension_trait! { [INFO] [stdout] 24 | | use std::pin::Pin; [INFO] [stdout] 25 | | use std::ops::{Deref, DerefMut}; [INFO] [stdout] 26 | | [INFO] [stdout] ... | [INFO] [stdout] 431 | | } [INFO] [stdout] 432 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `extension_trait` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] {"message":"unused attribute `doc`","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"src/utils.rs","byte_start":5930,"byte_end":5941,"line_start":222,"line_end":222,"column_start":42,"column_end":53,"is_primary":true,"text":[{"text":" $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*);","highlight_start":42,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/utils.rs","byte_start":5907,"byte_end":5953,"line_start":222,"line_end":222,"column_start":19,"column_end":65,"is_primary":false,"text":[{"text":" $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*);","highlight_start":19,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/utils.rs","byte_start":5907,"byte_end":5953,"line_start":222,"line_end":222,"column_start":19,"column_end":65,"is_primary":false,"text":[{"text":" $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*);","highlight_start":19,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/utils.rs","byte_start":5438,"byte_end":5477,"line_start":210,"line_end":210,"column_start":13,"column_end":52,"is_primary":false,"text":[{"text":" extension_trait!(@ext () $($body_ext)*);","highlight_start":13,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/utils.rs","byte_start":7341,"byte_end":7368,"line_start":258,"line_end":258,"column_start":9,"column_end":36,"is_primary":false,"text":[{"text":" extension_trait!($($tail)*);","highlight_start":9,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/utils.rs","byte_start":7341,"byte_end":7368,"line_start":258,"line_end":258,"column_start":9,"column_end":36,"is_primary":false,"text":[{"text":" extension_trait!($($tail)*);","highlight_start":9,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/future/future/mod.rs","byte_start":408,"byte_end":15243,"line_start":23,"line_end":432,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"extension_trait! {","highlight_start":1,"highlight_end":19},{"text":" use std::pin::Pin;","highlight_start":1,"highlight_end":23},{"text":" use std::ops::{Deref, DerefMut};","highlight_start":1,"highlight_end":37},{"text":"","highlight_start":1,"highlight_end":1},{"text":" use crate::task::{Context, Poll};","highlight_start":1,"highlight_end":38},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = r#\"","highlight_start":1,"highlight_end":16},{"text":" A future represents an asynchronous computation.","highlight_start":1,"highlight_end":57},{"text":"","highlight_start":1,"highlight_end":1},{"text":" A future is a value that may not have finished computing yet. This kind of","highlight_start":1,"highlight_end":83},{"text":" \"asynchronous value\" makes it possible for a thread to continue doing useful","highlight_start":1,"highlight_end":85},{"text":" work while it waits for the value to become available.","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" The [provided methods] do not really exist in the trait itself, but they become","highlight_start":1,"highlight_end":88},{"text":" available when [`FutureExt`] from the [prelude] is imported:","highlight_start":1,"highlight_end":69},{"text":"","highlight_start":1,"highlight_end":1},{"text":" ```","highlight_start":1,"highlight_end":12},{"text":" # #[allow(unused_imports)]","highlight_start":1,"highlight_end":35},{"text":" use async_std::prelude::*;","highlight_start":1,"highlight_end":35},{"text":" ```","highlight_start":1,"highlight_end":12},{"text":"","highlight_start":1,"highlight_end":1},{"text":" # The `poll` method","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":" The core method of future, `poll`, *attempts* to resolve the future into a","highlight_start":1,"highlight_end":83},{"text":" final value. This method does not block if the value is not ready. Instead,","highlight_start":1,"highlight_end":84},{"text":" the current task is scheduled to be woken up when it's possible to make","highlight_start":1,"highlight_end":80},{"text":" further progress by `poll`ing again. The `context` passed to the `poll`","highlight_start":1,"highlight_end":80},{"text":" method can provide a [`Waker`], which is a handle for waking up the current","highlight_start":1,"highlight_end":84},{"text":" task.","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" When using a future, you generally won't call `poll` directly, but instead","highlight_start":1,"highlight_end":83},{"text":" `.await` the value.","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":" [`Waker`]: ../task/struct.Waker.html","highlight_start":1,"highlight_end":45},{"text":" [provided methods]: #provided-methods","highlight_start":1,"highlight_end":46},{"text":" [`FutureExt`]: ../prelude/trait.FutureExt.html","highlight_start":1,"highlight_end":55},{"text":" [prelude]: ../prelude/index.html","highlight_start":1,"highlight_end":41},{"text":" \"#]","highlight_start":1,"highlight_end":8},{"text":" pub trait Future {","highlight_start":1,"highlight_end":23},{"text":" #[doc = r#\"","highlight_start":1,"highlight_end":20},{"text":" The type of value produced on completion.","highlight_start":1,"highlight_end":54},{"text":" \"#]","highlight_start":1,"highlight_end":12},{"text":" type Output;","highlight_start":1,"highlight_end":21},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = r#\"","highlight_start":1,"highlight_end":20},{"text":" Attempt to resolve the future to a final value, registering","highlight_start":1,"highlight_end":72},{"text":" the current task for wakeup if the value is not yet available.","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" # Return value","highlight_start":1,"highlight_end":27},{"text":"","highlight_start":1,"highlight_end":1},{"text":" This function returns:","highlight_start":1,"highlight_end":35},{"text":"","highlight_start":1,"highlight_end":1},{"text":" - [`Poll::Pending`] if the future is not ready yet","highlight_start":1,"highlight_end":63},{"text":" - [`Poll::Ready(val)`] with the result `val` of this future if it","highlight_start":1,"highlight_end":78},{"text":" finished successfully.","highlight_start":1,"highlight_end":37},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Once a future has finished, clients should not `poll` it again.","highlight_start":1,"highlight_end":76},{"text":"","highlight_start":1,"highlight_end":1},{"text":" When a future is not ready yet, `poll` returns `Poll::Pending` and","highlight_start":1,"highlight_end":79},{"text":" stores a clone of the [`Waker`] copied from the current [`Context`].","highlight_start":1,"highlight_end":81},{"text":" This [`Waker`] is then woken once the future can make progress.","highlight_start":1,"highlight_end":76},{"text":" For example, a future waiting for a socket to become","highlight_start":1,"highlight_end":65},{"text":" readable would call `.clone()` on the [`Waker`] and store it.","highlight_start":1,"highlight_end":74},{"text":" When a signal arrives elsewhere indicating that the socket is readable,","highlight_start":1,"highlight_end":84},{"text":" [`Waker::wake`] is called and the socket future's task is awoken.","highlight_start":1,"highlight_end":78},{"text":" Once a task has been woken up, it should attempt to `poll` the future","highlight_start":1,"highlight_end":82},{"text":" again, which may or may not produce a final value.","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Note that on multiple calls to `poll`, only the [`Waker`] from the","highlight_start":1,"highlight_end":79},{"text":" [`Context`] passed to the most recent call should be scheduled to","highlight_start":1,"highlight_end":78},{"text":" receive a wakeup.","highlight_start":1,"highlight_end":30},{"text":"","highlight_start":1,"highlight_end":1},{"text":" # Runtime characteristics","highlight_start":1,"highlight_end":38},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Futures alone are *inert*; they must be *actively* `poll`ed to make","highlight_start":1,"highlight_end":80},{"text":" progress, meaning that each time the current task is woken up, it should","highlight_start":1,"highlight_end":85},{"text":" actively re-`poll` pending futures that it still has an interest in.","highlight_start":1,"highlight_end":81},{"text":"","highlight_start":1,"highlight_end":1},{"text":" The `poll` function is not called repeatedly in a tight loop -- instead,","highlight_start":1,"highlight_end":85},{"text":" it should only be called when the future indicates that it is ready to","highlight_start":1,"highlight_end":83},{"text":" make progress (by calling `wake()`). If you're familiar with the","highlight_start":1,"highlight_end":77},{"text":" `poll(2)` or `select(2)` syscalls on Unix it's worth noting that futures","highlight_start":1,"highlight_end":85},{"text":" typically do *not* suffer the same problems of \"all wakeups must poll","highlight_start":1,"highlight_end":82},{"text":" all events\"; they are more like `epoll(4)`.","highlight_start":1,"highlight_end":56},{"text":"","highlight_start":1,"highlight_end":1},{"text":" An implementation of `poll` should strive to return quickly, and should","highlight_start":1,"highlight_end":84},{"text":" not block. Returning quickly prevents unnecessarily clogging up","highlight_start":1,"highlight_end":76},{"text":" threads or event loops. If it is known ahead of time that a call to","highlight_start":1,"highlight_end":80},{"text":" `poll` may end up taking awhile, the work should be offloaded to a","highlight_start":1,"highlight_end":79},{"text":" thread pool (or something similar) to ensure that `poll` can return","highlight_start":1,"highlight_end":80},{"text":" quickly.","highlight_start":1,"highlight_end":21},{"text":"","highlight_start":1,"highlight_end":1},{"text":" # Panics","highlight_start":1,"highlight_end":21},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Once a future has completed (returned `Ready` from `poll`), calling its","highlight_start":1,"highlight_end":84},{"text":" `poll` method again may panic, block forever, or cause other kinds of","highlight_start":1,"highlight_end":82},{"text":" problems; the `Future` trait places no requirements on the effects of","highlight_start":1,"highlight_end":82},{"text":" such a call. However, as the `poll` method is not marked `unsafe`,","highlight_start":1,"highlight_end":79},{"text":" Rust's usual rules apply: calls must never cause undefined behavior","highlight_start":1,"highlight_end":80},{"text":" (memory corruption, incorrect use of `unsafe` functions, or the like),","highlight_start":1,"highlight_end":83},{"text":" regardless of the future's state.","highlight_start":1,"highlight_end":46},{"text":"","highlight_start":1,"highlight_end":1},{"text":" [`Poll::Pending`]: ../task/enum.Poll.html#variant.Pending","highlight_start":1,"highlight_end":70},{"text":" [`Poll::Ready(val)`]: ../task/enum.Poll.html#variant.Ready","highlight_start":1,"highlight_end":71},{"text":" [`Context`]: ../task/struct.Context.html","highlight_start":1,"highlight_end":53},{"text":" [`Waker`]: ../task/struct.Waker.html","highlight_start":1,"highlight_end":49},{"text":" [`Waker::wake`]: ../task/struct.Waker.html#method.wake","highlight_start":1,"highlight_end":67},{"text":" \"#]","highlight_start":1,"highlight_end":12},{"text":" fn poll(self: Pin<&mut Self>, cx: &mut Context) -> Poll;","highlight_start":1,"highlight_end":79},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = r#\"","highlight_start":1,"highlight_end":16},{"text":" Extension methods for [`Future`].","highlight_start":1,"highlight_end":42},{"text":"","highlight_start":1,"highlight_end":1},{"text":" [`Future`]: ../future/trait.Future.html","highlight_start":1,"highlight_end":48},{"text":" \"#]","highlight_start":1,"highlight_end":8},{"text":" pub trait FutureExt: std::future::Future {","highlight_start":1,"highlight_end":47},{"text":" /// Returns a Future that delays execution for a specified time.","highlight_start":1,"highlight_end":73},{"text":" ///","highlight_start":1,"highlight_end":12},{"text":" /// # Examples","highlight_start":1,"highlight_end":23},{"text":" ///","highlight_start":1,"highlight_end":12},{"text":" /// ```","highlight_start":1,"highlight_end":16},{"text":" /// # async_std::task::block_on(async {","highlight_start":1,"highlight_end":48},{"text":" /// use async_std::prelude::*;","highlight_start":1,"highlight_end":39},{"text":" /// use async_std::future;","highlight_start":1,"highlight_end":35},{"text":" /// use std::time::Duration;","highlight_start":1,"highlight_end":37},{"text":" ///","highlight_start":1,"highlight_end":12},{"text":" /// let a = future::ready(1).delay(Duration::from_millis(2000));","highlight_start":1,"highlight_end":73},{"text":" /// dbg!(a.await);","highlight_start":1,"highlight_end":27},{"text":" /// # })","highlight_start":1,"highlight_end":17},{"text":" /// ```","highlight_start":1,"highlight_end":16},{"text":" #[cfg(feature = \"unstable\")]","highlight_start":1,"highlight_end":37},{"text":" #[cfg_attr(feature = \"docs\", doc(cfg(unstable)))]","highlight_start":1,"highlight_end":58},{"text":" fn delay(self, dur: Duration) -> impl Future [DelayFuture]","highlight_start":1,"highlight_end":96},{"text":" where","highlight_start":1,"highlight_end":14},{"text":" Self: Sized,","highlight_start":1,"highlight_end":25},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" DelayFuture::new(self, dur)","highlight_start":1,"highlight_end":40},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" /// Flatten out the execution of this future when the result itself","highlight_start":1,"highlight_end":76},{"text":" /// can be converted into another future.","highlight_start":1,"highlight_end":50},{"text":" ///","highlight_start":1,"highlight_end":12},{"text":" /// # Examples","highlight_start":1,"highlight_end":23},{"text":" ///","highlight_start":1,"highlight_end":12},{"text":" /// ```","highlight_start":1,"highlight_end":16},{"text":" /// # async_std::task::block_on(async {","highlight_start":1,"highlight_end":48},{"text":" /// use async_std::prelude::*;","highlight_start":1,"highlight_end":39},{"text":" ///","highlight_start":1,"highlight_end":12},{"text":" /// let nested_future = async { async { 1 } };","highlight_start":1,"highlight_end":55},{"text":" /// let future = nested_future.flatten();","highlight_start":1,"highlight_end":50},{"text":" /// assert_eq!(future.await, 1);","highlight_start":1,"highlight_end":41},{"text":" /// # })","highlight_start":1,"highlight_end":17},{"text":" /// ```","highlight_start":1,"highlight_end":16},{"text":" #[cfg(feature = \"unstable\")]","highlight_start":1,"highlight_end":37},{"text":" #[cfg_attr(feature = \"docs\", doc(cfg(unstable)))]","highlight_start":1,"highlight_end":58},{"text":" fn flatten(","highlight_start":1,"highlight_end":20},{"text":" self,","highlight_start":1,"highlight_end":18},{"text":" ) -> impl Future::Output>","highlight_start":1,"highlight_end":72},{"text":" [FlattenFuture::Future>]","highlight_start":1,"highlight_end":72},{"text":" where","highlight_start":1,"highlight_end":14},{"text":" Self: Sized,","highlight_start":1,"highlight_end":25},{"text":" ::Output: IntoFuture,","highlight_start":1,"highlight_end":50},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" FlattenFuture::new(self)","highlight_start":1,"highlight_end":36},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = r#\"","highlight_start":1,"highlight_end":20},{"text":" Waits for one of two similarly-typed futures to complete.","highlight_start":1,"highlight_end":70},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Awaits multiple futures simultaneously, returning the output of the","highlight_start":1,"highlight_end":80},{"text":" first future that completes.","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" This function will return a new future which awaits for either one of both","highlight_start":1,"highlight_end":87},{"text":" futures to complete. If multiple futures are completed at the same time,","highlight_start":1,"highlight_end":85},{"text":" resolution will occur in the order that they have been passed.","highlight_start":1,"highlight_end":75},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Note that this function consumes all futures passed, and once a future is","highlight_start":1,"highlight_end":86},{"text":" completed, all other futures are dropped.","highlight_start":1,"highlight_end":54},{"text":"","highlight_start":1,"highlight_end":1},{"text":" # Examples","highlight_start":1,"highlight_end":23},{"text":"","highlight_start":1,"highlight_end":1},{"text":" ```","highlight_start":1,"highlight_end":16},{"text":" # async_std::task::block_on(async {","highlight_start":1,"highlight_end":48},{"text":" use async_std::prelude::*;","highlight_start":1,"highlight_end":39},{"text":" use async_std::future;","highlight_start":1,"highlight_end":35},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let a = future::pending();","highlight_start":1,"highlight_end":39},{"text":" let b = future::ready(1u8);","highlight_start":1,"highlight_end":40},{"text":" let c = future::ready(2u8);","highlight_start":1,"highlight_end":40},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let f = a.race(b).race(c);","highlight_start":1,"highlight_end":39},{"text":" assert_eq!(f.await, 1u8);","highlight_start":1,"highlight_end":38},{"text":" # });","highlight_start":1,"highlight_end":18},{"text":" ```","highlight_start":1,"highlight_end":16},{"text":" \"#]","highlight_start":1,"highlight_end":12},{"text":" #[cfg(feature = \"unstable\")]","highlight_start":1,"highlight_end":37},{"text":" #[cfg_attr(feature = \"docs\", doc(cfg(unstable)))]","highlight_start":1,"highlight_end":58},{"text":" fn race(","highlight_start":1,"highlight_end":20},{"text":" self,","highlight_start":1,"highlight_end":18},{"text":" other: F,","highlight_start":1,"highlight_end":22},{"text":" ) -> impl Future::Output> [Race]","highlight_start":1,"highlight_end":89},{"text":" where","highlight_start":1,"highlight_end":14},{"text":" Self: std::future::Future + Sized,","highlight_start":1,"highlight_end":47},{"text":" F: std::future::Future::Output>,","highlight_start":1,"highlight_end":84},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" Race::new(self, other)","highlight_start":1,"highlight_end":35},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = r#\"","highlight_start":1,"highlight_end":20},{"text":" Waits for one of two similarly-typed fallible futures to complete.","highlight_start":1,"highlight_end":79},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Awaits multiple futures simultaneously, returning all results once complete.","highlight_start":1,"highlight_end":89},{"text":"","highlight_start":1,"highlight_end":1},{"text":" `try_race` is similar to [`race`], but keeps going if a future","highlight_start":1,"highlight_end":75},{"text":" resolved to an error until all futures have been resolved. In which case","highlight_start":1,"highlight_end":85},{"text":" an error is returned.","highlight_start":1,"highlight_end":34},{"text":"","highlight_start":1,"highlight_end":1},{"text":" The ordering of which value is yielded when two futures resolve","highlight_start":1,"highlight_end":76},{"text":" simultaneously is intentionally left unspecified.","highlight_start":1,"highlight_end":62},{"text":"","highlight_start":1,"highlight_end":1},{"text":" [`race`]: #method.race","highlight_start":1,"highlight_end":35},{"text":"","highlight_start":1,"highlight_end":1},{"text":" # Examples","highlight_start":1,"highlight_end":23},{"text":"","highlight_start":1,"highlight_end":1},{"text":" ```","highlight_start":1,"highlight_end":16},{"text":" # fn main() -> std::io::Result<()> { async_std::task::block_on(async {","highlight_start":1,"highlight_end":83},{"text":" #","highlight_start":1,"highlight_end":14},{"text":" use async_std::prelude::*;","highlight_start":1,"highlight_end":39},{"text":" use async_std::future;","highlight_start":1,"highlight_end":35},{"text":" use std::io::{Error, ErrorKind};","highlight_start":1,"highlight_end":45},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let a = future::pending::>();","highlight_start":1,"highlight_end":59},{"text":" let b = future::ready(Err(Error::from(ErrorKind::Other)));","highlight_start":1,"highlight_end":71},{"text":" let c = future::ready(Ok(1u8));","highlight_start":1,"highlight_end":44},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let f = a.try_race(b).try_race(c);","highlight_start":1,"highlight_end":47},{"text":" assert_eq!(f.await?, 1u8);","highlight_start":1,"highlight_end":39},{"text":" #","highlight_start":1,"highlight_end":14},{"text":" # Ok(()) }) }","highlight_start":1,"highlight_end":26},{"text":" ```","highlight_start":1,"highlight_end":16},{"text":" \"#]","highlight_start":1,"highlight_end":12},{"text":" #[cfg(feature = \"unstable\")]","highlight_start":1,"highlight_end":37},{"text":" #[cfg_attr(feature = \"docs\", doc(cfg(unstable)))]","highlight_start":1,"highlight_end":58},{"text":" fn try_race(","highlight_start":1,"highlight_end":30},{"text":" self,","highlight_start":1,"highlight_end":18},{"text":" other: F","highlight_start":1,"highlight_end":21},{"text":" ) -> impl Future::Output> [TryRace]","highlight_start":1,"highlight_end":92},{"text":" where","highlight_start":1,"highlight_end":14},{"text":" Self: std::future::Future> + Sized,","highlight_start":1,"highlight_end":70},{"text":" F: std::future::Future::Output>,","highlight_start":1,"highlight_end":84},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" TryRace::new(self, other)","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = r#\"","highlight_start":1,"highlight_end":20},{"text":" Waits for two similarly-typed futures to complete.","highlight_start":1,"highlight_end":63},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Awaits multiple futures simultaneously, returning the output of the","highlight_start":1,"highlight_end":80},{"text":" futures once both complete.","highlight_start":1,"highlight_end":40},{"text":"","highlight_start":1,"highlight_end":1},{"text":" This function returns a new future which polls both futures","highlight_start":1,"highlight_end":72},{"text":" concurrently.","highlight_start":1,"highlight_end":26},{"text":"","highlight_start":1,"highlight_end":1},{"text":" # Examples","highlight_start":1,"highlight_end":23},{"text":"","highlight_start":1,"highlight_end":1},{"text":" ```","highlight_start":1,"highlight_end":16},{"text":" # async_std::task::block_on(async {","highlight_start":1,"highlight_end":48},{"text":" use async_std::prelude::*;","highlight_start":1,"highlight_end":39},{"text":" use async_std::future;","highlight_start":1,"highlight_end":35},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let a = future::ready(1u8);","highlight_start":1,"highlight_end":40},{"text":" let b = future::ready(2u16);","highlight_start":1,"highlight_end":41},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let f = a.join(b);","highlight_start":1,"highlight_end":31},{"text":" assert_eq!(f.await, (1u8, 2u16));","highlight_start":1,"highlight_end":46},{"text":" # });","highlight_start":1,"highlight_end":18},{"text":" ```","highlight_start":1,"highlight_end":16},{"text":" \"#]","highlight_start":1,"highlight_end":12},{"text":" #[cfg(any(feature = \"unstable\", feature = \"docs\"))]","highlight_start":1,"highlight_end":60},{"text":" #[cfg_attr(feature = \"docs\", doc(cfg(unstable)))]","highlight_start":1,"highlight_end":58},{"text":" fn join(","highlight_start":1,"highlight_end":20},{"text":" self,","highlight_start":1,"highlight_end":18},{"text":" other: F","highlight_start":1,"highlight_end":21},{"text":" ) -> impl Future::Output, ::Output)> [Join]","highlight_start":1,"highlight_end":127},{"text":" where","highlight_start":1,"highlight_end":14},{"text":" Self: std::future::Future + Sized,","highlight_start":1,"highlight_end":47},{"text":" F: std::future::Future,","highlight_start":1,"highlight_end":36},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" Join::new(self, other)","highlight_start":1,"highlight_end":35},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = r#\"","highlight_start":1,"highlight_end":20},{"text":" Waits for two similarly-typed fallible futures to complete.","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":" Awaits multiple futures simultaneously, returning all results once","highlight_start":1,"highlight_end":79},{"text":" complete.","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":" `try_join` is similar to [`join`], but returns an error immediately","highlight_start":1,"highlight_end":80},{"text":" if a future resolves to an error.","highlight_start":1,"highlight_end":46},{"text":"","highlight_start":1,"highlight_end":1},{"text":" [`join`]: #method.join","highlight_start":1,"highlight_end":35},{"text":"","highlight_start":1,"highlight_end":1},{"text":" # Examples","highlight_start":1,"highlight_end":23},{"text":"","highlight_start":1,"highlight_end":1},{"text":" ```","highlight_start":1,"highlight_end":16},{"text":" # fn main() -> std::io::Result<()> { async_std::task::block_on(async {","highlight_start":1,"highlight_end":83},{"text":" #","highlight_start":1,"highlight_end":14},{"text":" use async_std::prelude::*;","highlight_start":1,"highlight_end":39},{"text":" use async_std::future;","highlight_start":1,"highlight_end":35},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let a = future::ready(Err::(\"Error\"));","highlight_start":1,"highlight_end":61},{"text":" let b = future::ready(Ok(1u8));","highlight_start":1,"highlight_end":44},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let f = a.try_join(b);","highlight_start":1,"highlight_end":35},{"text":" assert_eq!(f.await, Err(\"Error\"));","highlight_start":1,"highlight_end":47},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let a = future::ready(Ok::(1u8));","highlight_start":1,"highlight_end":58},{"text":" let b = future::ready(Ok::(2u16));","highlight_start":1,"highlight_end":60},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let f = a.try_join(b);","highlight_start":1,"highlight_end":35},{"text":" assert_eq!(f.await, Ok((1u8, 2u16)));","highlight_start":1,"highlight_end":50},{"text":" #","highlight_start":1,"highlight_end":14},{"text":" # Ok(()) }) }","highlight_start":1,"highlight_end":26},{"text":" ```","highlight_start":1,"highlight_end":16},{"text":" \"#]","highlight_start":1,"highlight_end":12},{"text":" #[cfg(any(feature = \"unstable\", feature = \"docs\"))]","highlight_start":1,"highlight_end":60},{"text":" #[cfg_attr(feature = \"docs\", doc(cfg(unstable)))]","highlight_start":1,"highlight_end":58},{"text":" fn try_join(","highlight_start":1,"highlight_end":33},{"text":" self,","highlight_start":1,"highlight_end":18},{"text":" other: F","highlight_start":1,"highlight_end":21},{"text":" ) -> impl Future> [TryJoin]","highlight_start":1,"highlight_end":72},{"text":" where","highlight_start":1,"highlight_end":14},{"text":" Self: std::future::Future> + Sized,","highlight_start":1,"highlight_end":70},{"text":" F: std::future::Future>,","highlight_start":1,"highlight_end":59},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" TryJoin::new(self, other)","highlight_start":1,"highlight_end":38},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = r#\"","highlight_start":1,"highlight_end":20},{"text":" Waits for both the future and a timeout, if the timeout completes before","highlight_start":1,"highlight_end":85},{"text":" the future, it returns an TimeoutError.","highlight_start":1,"highlight_end":52},{"text":"","highlight_start":1,"highlight_end":1},{"text":" # Example","highlight_start":1,"highlight_end":22},{"text":" ```","highlight_start":1,"highlight_end":16},{"text":" # async_std::task::block_on(async {","highlight_start":1,"highlight_end":48},{"text":" #","highlight_start":1,"highlight_end":14},{"text":" use std::time::Duration;","highlight_start":1,"highlight_end":37},{"text":"","highlight_start":1,"highlight_end":1},{"text":" use async_std::prelude::*;","highlight_start":1,"highlight_end":39},{"text":" use async_std::future;","highlight_start":1,"highlight_end":35},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let fut = future::ready(0);","highlight_start":1,"highlight_end":40},{"text":" let dur = Duration::from_millis(100);","highlight_start":1,"highlight_end":50},{"text":" let res = fut.timeout(dur).await;","highlight_start":1,"highlight_end":46},{"text":" assert!(res.is_ok());","highlight_start":1,"highlight_end":34},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let fut = future::pending::<()>();","highlight_start":1,"highlight_end":47},{"text":" let dur = Duration::from_millis(100);","highlight_start":1,"highlight_end":50},{"text":" let res = fut.timeout(dur).await;","highlight_start":1,"highlight_end":46},{"text":" assert!(res.is_err())","highlight_start":1,"highlight_end":34},{"text":" #","highlight_start":1,"highlight_end":14},{"text":" # });","highlight_start":1,"highlight_end":18},{"text":" ```","highlight_start":1,"highlight_end":16},{"text":" \"#]","highlight_start":1,"highlight_end":12},{"text":" #[cfg(any(all(feature = \"default\", feature = \"unstable\"), feature = \"docs\"))]","highlight_start":1,"highlight_end":86},{"text":" #[cfg_attr(feature = \"docs\", doc(cfg(unstable)))]","highlight_start":1,"highlight_end":58},{"text":" fn timeout(self, dur: Duration) -> impl Future [TimeoutFuture]","highlight_start":1,"highlight_end":100},{"text":" where Self: Sized","highlight_start":1,"highlight_end":30},{"text":" {","highlight_start":1,"highlight_end":10},{"text":" TimeoutFuture::new(self, dur)","highlight_start":1,"highlight_end":42},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl Future for Box {","highlight_start":1,"highlight_end":57},{"text":" type Output = F::Output;","highlight_start":1,"highlight_end":33},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll {","highlight_start":1,"highlight_end":84},{"text":" unreachable!(\"this impl only appears in the rendered docs\")","highlight_start":1,"highlight_end":72},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl Future for &mut F {","highlight_start":1,"highlight_end":57},{"text":" type Output = F::Output;","highlight_start":1,"highlight_end":33},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll {","highlight_start":1,"highlight_end":84},{"text":" unreachable!(\"this impl only appears in the rendered docs\")","highlight_start":1,"highlight_end":72},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl

Future for Pin

","highlight_start":1,"highlight_end":30},{"text":" where","highlight_start":1,"highlight_end":10},{"text":" P: DerefMut + Unpin,","highlight_start":1,"highlight_end":29},{"text":"

::Target: Future,","highlight_start":1,"highlight_end":38},{"text":" {","highlight_start":1,"highlight_end":6},{"text":" type Output = <

::Target as Future>::Output;","highlight_start":1,"highlight_end":64},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll {","highlight_start":1,"highlight_end":84},{"text":" unreachable!(\"this impl only appears in the rendered docs\")","highlight_start":1,"highlight_end":72},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl Future for std::panic::AssertUnwindSafe {","highlight_start":1,"highlight_end":65},{"text":" type Output = F::Output;","highlight_start":1,"highlight_end":33},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll {","highlight_start":1,"highlight_end":84},{"text":" unreachable!(\"this impl only appears in the rendered docs\")","highlight_start":1,"highlight_end":72},{"text":" }","highlight_start":1,"highlight_end":10},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"extension_trait!","def_site_span":{"file_name":"src/utils.rs","byte_start":3905,"byte_end":7378,"line_start":163,"line_end":260,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! extension_trait {","highlight_start":1,"highlight_end":31},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" // Interesting patterns:","highlight_start":1,"highlight_end":33},{"text":" // - `$name`: trait name that gets rendered in the docs","highlight_start":1,"highlight_end":64},{"text":" // - `$ext`: name of the hidden extension trait","highlight_start":1,"highlight_end":56},{"text":" // - `$base`: base trait","highlight_start":1,"highlight_end":33},{"text":" #[doc = $doc:tt]","highlight_start":1,"highlight_end":25},{"text":" pub trait $name:ident {","highlight_start":1,"highlight_end":32},{"text":" $($body_base:tt)*","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = $doc_ext:tt]","highlight_start":1,"highlight_end":29},{"text":" pub trait $ext:ident: $base:path {","highlight_start":1,"highlight_end":43},{"text":" $($body_ext:tt)*","highlight_start":1,"highlight_end":29},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Shim trait impls that only appear in docs.","highlight_start":1,"highlight_end":54},{"text":" $($imp:item)*","highlight_start":1,"highlight_end":22},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" // A fake `impl Future` type that doesn't borrow.","highlight_start":1,"highlight_end":58},{"text":" #[allow(dead_code)]","highlight_start":1,"highlight_end":28},{"text":" mod owned {","highlight_start":1,"highlight_end":20},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" pub struct ImplFuture(std::marker::PhantomData);","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // A fake `impl Future` type that borrows its environment.","highlight_start":1,"highlight_end":67},{"text":" #[allow(dead_code)]","highlight_start":1,"highlight_end":28},{"text":" mod borrowed {","highlight_start":1,"highlight_end":23},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" pub struct ImplFuture<'a, T>(std::marker::PhantomData<&'a T>);","highlight_start":1,"highlight_end":75},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Render a fake trait combining the bodies of the base trait and the extension trait.","highlight_start":1,"highlight_end":95},{"text":" #[cfg(feature = \"docs\")]","highlight_start":1,"highlight_end":33},{"text":" #[doc = $doc]","highlight_start":1,"highlight_end":22},{"text":" pub trait $name {","highlight_start":1,"highlight_end":26},{"text":" extension_trait!(@doc () $($body_base)* $($body_ext)*);","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // When not rendering docs, re-export the base trait from the futures crate.","highlight_start":1,"highlight_end":85},{"text":" #[cfg(not(feature = \"docs\"))]","highlight_start":1,"highlight_end":38},{"text":" pub use $base as $name;","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // The extension trait that adds methods to any type implementing the base trait.","highlight_start":1,"highlight_end":90},{"text":" #[doc = $doc_ext]","highlight_start":1,"highlight_end":26},{"text":" pub trait $ext: $name {","highlight_start":1,"highlight_end":32},{"text":" extension_trait!(@ext () $($body_ext)*);","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Blanket implementation of the extension trait for any type implementing the base trait.","highlight_start":1,"highlight_end":99},{"text":" impl $ext for T {}","highlight_start":1,"highlight_end":46},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Shim trait impls that only appear in docs.","highlight_start":1,"highlight_end":54},{"text":" $(#[cfg(feature = \"docs\")] $imp)*","highlight_start":1,"highlight_end":42},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Optimization: expand `$head` eagerly before starting a new method definition.","highlight_start":1,"highlight_end":85},{"text":" (@ext ($($head:tt)*) #[doc = $d:literal] $($tail:tt)*) => {","highlight_start":1,"highlight_end":64},{"text":" $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*);","highlight_start":1,"highlight_end":66},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse the return type in an extension method.","highlight_start":1,"highlight_end":53},{"text":" (@doc ($($head:tt)*) -> impl Future $(+ $lt:lifetime)? [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":104},{"text":" extension_trait!(@doc ($($head)* -> owned::ImplFuture<$out>) $($tail)*);","highlight_start":1,"highlight_end":81},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (@ext ($($head:tt)*) -> impl Future $(+ $lt:lifetime)? [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":104},{"text":" extension_trait!(@ext ($($head)* -> $f) $($tail)*);","highlight_start":1,"highlight_end":60},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse the return type in an extension method.","highlight_start":1,"highlight_end":53},{"text":" (@doc ($($head:tt)*) -> impl Future + $lt:lifetime [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":100},{"text":" extension_trait!(@doc ($($head)* -> borrowed::ImplFuture<$lt, $out>) $($tail)*);","highlight_start":1,"highlight_end":89},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (@ext ($($head:tt)*) -> impl Future + $lt:lifetime [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":100},{"text":" extension_trait!(@ext ($($head)* -> $f) $($tail)*);","highlight_start":1,"highlight_end":60},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse a token.","highlight_start":1,"highlight_end":22},{"text":" (@doc ($($head:tt)*) $token:tt $($tail:tt)*) => {","highlight_start":1,"highlight_end":54},{"text":" extension_trait!(@doc ($($head)* $token) $($tail)*);","highlight_start":1,"highlight_end":61},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (@ext ($($head:tt)*) $token:tt $($tail:tt)*) => {","highlight_start":1,"highlight_end":54},{"text":" extension_trait!(@ext ($($head)* $token) $($tail)*);","highlight_start":1,"highlight_end":61},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Handle the end of the token list.","highlight_start":1,"highlight_end":41},{"text":" (@doc ($($head:tt)*)) => { $($head)* };","highlight_start":1,"highlight_end":44},{"text":" (@ext ($($head:tt)*)) => { $($head)* };","highlight_start":1,"highlight_end":44},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse imports at the beginning of the macro.","highlight_start":1,"highlight_end":52},{"text":" ($import:item $($tail:tt)*) => {","highlight_start":1,"highlight_end":37},{"text":" #[cfg(feature = \"docs\")]","highlight_start":1,"highlight_end":33},{"text":" $import","highlight_start":1,"highlight_end":16},{"text":"","highlight_start":1,"highlight_end":1},{"text":" extension_trait!($($tail)*);","highlight_start":1,"highlight_end":37},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"extension_trait!","def_site_span":{"file_name":"src/utils.rs","byte_start":3905,"byte_end":7378,"line_start":163,"line_end":260,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! extension_trait {","highlight_start":1,"highlight_end":31},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" // Interesting patterns:","highlight_start":1,"highlight_end":33},{"text":" // - `$name`: trait name that gets rendered in the docs","highlight_start":1,"highlight_end":64},{"text":" // - `$ext`: name of the hidden extension trait","highlight_start":1,"highlight_end":56},{"text":" // - `$base`: base trait","highlight_start":1,"highlight_end":33},{"text":" #[doc = $doc:tt]","highlight_start":1,"highlight_end":25},{"text":" pub trait $name:ident {","highlight_start":1,"highlight_end":32},{"text":" $($body_base:tt)*","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = $doc_ext:tt]","highlight_start":1,"highlight_end":29},{"text":" pub trait $ext:ident: $base:path {","highlight_start":1,"highlight_end":43},{"text":" $($body_ext:tt)*","highlight_start":1,"highlight_end":29},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Shim trait impls that only appear in docs.","highlight_start":1,"highlight_end":54},{"text":" $($imp:item)*","highlight_start":1,"highlight_end":22},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" // A fake `impl Future` type that doesn't borrow.","highlight_start":1,"highlight_end":58},{"text":" #[allow(dead_code)]","highlight_start":1,"highlight_end":28},{"text":" mod owned {","highlight_start":1,"highlight_end":20},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" pub struct ImplFuture(std::marker::PhantomData);","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // A fake `impl Future` type that borrows its environment.","highlight_start":1,"highlight_end":67},{"text":" #[allow(dead_code)]","highlight_start":1,"highlight_end":28},{"text":" mod borrowed {","highlight_start":1,"highlight_end":23},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" pub struct ImplFuture<'a, T>(std::marker::PhantomData<&'a T>);","highlight_start":1,"highlight_end":75},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Render a fake trait combining the bodies of the base trait and the extension trait.","highlight_start":1,"highlight_end":95},{"text":" #[cfg(feature = \"docs\")]","highlight_start":1,"highlight_end":33},{"text":" #[doc = $doc]","highlight_start":1,"highlight_end":22},{"text":" pub trait $name {","highlight_start":1,"highlight_end":26},{"text":" extension_trait!(@doc () $($body_base)* $($body_ext)*);","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // When not rendering docs, re-export the base trait from the futures crate.","highlight_start":1,"highlight_end":85},{"text":" #[cfg(not(feature = \"docs\"))]","highlight_start":1,"highlight_end":38},{"text":" pub use $base as $name;","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // The extension trait that adds methods to any type implementing the base trait.","highlight_start":1,"highlight_end":90},{"text":" #[doc = $doc_ext]","highlight_start":1,"highlight_end":26},{"text":" pub trait $ext: $name {","highlight_start":1,"highlight_end":32},{"text":" extension_trait!(@ext () $($body_ext)*);","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Blanket implementation of the extension trait for any type implementing the base trait.","highlight_start":1,"highlight_end":99},{"text":" impl $ext for T {}","highlight_start":1,"highlight_end":46},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Shim trait impls that only appear in docs.","highlight_start":1,"highlight_end":54},{"text":" $(#[cfg(feature = \"docs\")] $imp)*","highlight_start":1,"highlight_end":42},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Optimization: expand `$head` eagerly before starting a new method definition.","highlight_start":1,"highlight_end":85},{"text":" (@ext ($($head:tt)*) #[doc = $d:literal] $($tail:tt)*) => {","highlight_start":1,"highlight_end":64},{"text":" $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*);","highlight_start":1,"highlight_end":66},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse the return type in an extension method.","highlight_start":1,"highlight_end":53},{"text":" (@doc ($($head:tt)*) -> impl Future $(+ $lt:lifetime)? [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":104},{"text":" extension_trait!(@doc ($($head)* -> owned::ImplFuture<$out>) $($tail)*);","highlight_start":1,"highlight_end":81},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (@ext ($($head:tt)*) -> impl Future $(+ $lt:lifetime)? [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":104},{"text":" extension_trait!(@ext ($($head)* -> $f) $($tail)*);","highlight_start":1,"highlight_end":60},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse the return type in an extension method.","highlight_start":1,"highlight_end":53},{"text":" (@doc ($($head:tt)*) -> impl Future + $lt:lifetime [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":100},{"text":" extension_trait!(@doc ($($head)* -> borrowed::ImplFuture<$lt, $out>) $($tail)*);","highlight_start":1,"highlight_end":89},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (@ext ($($head:tt)*) -> impl Future + $lt:lifetime [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":100},{"text":" extension_trait!(@ext ($($head)* -> $f) $($tail)*);","highlight_start":1,"highlight_end":60},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse a token.","highlight_start":1,"highlight_end":22},{"text":" (@doc ($($head:tt)*) $token:tt $($tail:tt)*) => {","highlight_start":1,"highlight_end":54},{"text":" extension_trait!(@doc ($($head)* $token) $($tail)*);","highlight_start":1,"highlight_end":61},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (@ext ($($head:tt)*) $token:tt $($tail:tt)*) => {","highlight_start":1,"highlight_end":54},{"text":" extension_trait!(@ext ($($head)* $token) $($tail)*);","highlight_start":1,"highlight_end":61},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Handle the end of the token list.","highlight_start":1,"highlight_end":41},{"text":" (@doc ($($head:tt)*)) => { $($head)* };","highlight_start":1,"highlight_end":44},{"text":" (@ext ($($head:tt)*)) => { $($head)* };","highlight_start":1,"highlight_end":44},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse imports at the beginning of the macro.","highlight_start":1,"highlight_end":52},{"text":" ($import:item $($tail:tt)*) => {","highlight_start":1,"highlight_end":37},{"text":" #[cfg(feature = \"docs\")]","highlight_start":1,"highlight_end":33},{"text":" $import","highlight_start":1,"highlight_end":16},{"text":"","highlight_start":1,"highlight_end":1},{"text":" extension_trait!($($tail)*);","highlight_start":1,"highlight_end":37},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"extension_trait!","def_site_span":{"file_name":"src/utils.rs","byte_start":3905,"byte_end":7378,"line_start":163,"line_end":260,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! extension_trait {","highlight_start":1,"highlight_end":31},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" // Interesting patterns:","highlight_start":1,"highlight_end":33},{"text":" // - `$name`: trait name that gets rendered in the docs","highlight_start":1,"highlight_end":64},{"text":" // - `$ext`: name of the hidden extension trait","highlight_start":1,"highlight_end":56},{"text":" // - `$base`: base trait","highlight_start":1,"highlight_end":33},{"text":" #[doc = $doc:tt]","highlight_start":1,"highlight_end":25},{"text":" pub trait $name:ident {","highlight_start":1,"highlight_end":32},{"text":" $($body_base:tt)*","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = $doc_ext:tt]","highlight_start":1,"highlight_end":29},{"text":" pub trait $ext:ident: $base:path {","highlight_start":1,"highlight_end":43},{"text":" $($body_ext:tt)*","highlight_start":1,"highlight_end":29},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Shim trait impls that only appear in docs.","highlight_start":1,"highlight_end":54},{"text":" $($imp:item)*","highlight_start":1,"highlight_end":22},{"text":" ) => {","highlight_start":1,"highlight_end":11},{"text":" // A fake `impl Future` type that doesn't borrow.","highlight_start":1,"highlight_end":58},{"text":" #[allow(dead_code)]","highlight_start":1,"highlight_end":28},{"text":" mod owned {","highlight_start":1,"highlight_end":20},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" pub struct ImplFuture(std::marker::PhantomData);","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // A fake `impl Future` type that borrows its environment.","highlight_start":1,"highlight_end":67},{"text":" #[allow(dead_code)]","highlight_start":1,"highlight_end":28},{"text":" mod borrowed {","highlight_start":1,"highlight_end":23},{"text":" #[doc(hidden)]","highlight_start":1,"highlight_end":27},{"text":" pub struct ImplFuture<'a, T>(std::marker::PhantomData<&'a T>);","highlight_start":1,"highlight_end":75},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Render a fake trait combining the bodies of the base trait and the extension trait.","highlight_start":1,"highlight_end":95},{"text":" #[cfg(feature = \"docs\")]","highlight_start":1,"highlight_end":33},{"text":" #[doc = $doc]","highlight_start":1,"highlight_end":22},{"text":" pub trait $name {","highlight_start":1,"highlight_end":26},{"text":" extension_trait!(@doc () $($body_base)* $($body_ext)*);","highlight_start":1,"highlight_end":68},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // When not rendering docs, re-export the base trait from the futures crate.","highlight_start":1,"highlight_end":85},{"text":" #[cfg(not(feature = \"docs\"))]","highlight_start":1,"highlight_end":38},{"text":" pub use $base as $name;","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // The extension trait that adds methods to any type implementing the base trait.","highlight_start":1,"highlight_end":90},{"text":" #[doc = $doc_ext]","highlight_start":1,"highlight_end":26},{"text":" pub trait $ext: $name {","highlight_start":1,"highlight_end":32},{"text":" extension_trait!(@ext () $($body_ext)*);","highlight_start":1,"highlight_end":53},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Blanket implementation of the extension trait for any type implementing the base trait.","highlight_start":1,"highlight_end":99},{"text":" impl $ext for T {}","highlight_start":1,"highlight_end":46},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Shim trait impls that only appear in docs.","highlight_start":1,"highlight_end":54},{"text":" $(#[cfg(feature = \"docs\")] $imp)*","highlight_start":1,"highlight_end":42},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Optimization: expand `$head` eagerly before starting a new method definition.","highlight_start":1,"highlight_end":85},{"text":" (@ext ($($head:tt)*) #[doc = $d:literal] $($tail:tt)*) => {","highlight_start":1,"highlight_end":64},{"text":" $($head)* extension_trait!(@ext (#[doc = $d]) $($tail)*);","highlight_start":1,"highlight_end":66},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse the return type in an extension method.","highlight_start":1,"highlight_end":53},{"text":" (@doc ($($head:tt)*) -> impl Future $(+ $lt:lifetime)? [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":104},{"text":" extension_trait!(@doc ($($head)* -> owned::ImplFuture<$out>) $($tail)*);","highlight_start":1,"highlight_end":81},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (@ext ($($head:tt)*) -> impl Future $(+ $lt:lifetime)? [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":104},{"text":" extension_trait!(@ext ($($head)* -> $f) $($tail)*);","highlight_start":1,"highlight_end":60},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse the return type in an extension method.","highlight_start":1,"highlight_end":53},{"text":" (@doc ($($head:tt)*) -> impl Future + $lt:lifetime [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":100},{"text":" extension_trait!(@doc ($($head)* -> borrowed::ImplFuture<$lt, $out>) $($tail)*);","highlight_start":1,"highlight_end":89},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (@ext ($($head:tt)*) -> impl Future + $lt:lifetime [$f:ty] $($tail:tt)*) => {","highlight_start":1,"highlight_end":100},{"text":" extension_trait!(@ext ($($head)* -> $f) $($tail)*);","highlight_start":1,"highlight_end":60},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse a token.","highlight_start":1,"highlight_end":22},{"text":" (@doc ($($head:tt)*) $token:tt $($tail:tt)*) => {","highlight_start":1,"highlight_end":54},{"text":" extension_trait!(@doc ($($head)* $token) $($tail)*);","highlight_start":1,"highlight_end":61},{"text":" };","highlight_start":1,"highlight_end":7},{"text":" (@ext ($($head:tt)*) $token:tt $($tail:tt)*) => {","highlight_start":1,"highlight_end":54},{"text":" extension_trait!(@ext ($($head)* $token) $($tail)*);","highlight_start":1,"highlight_end":61},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Handle the end of the token list.","highlight_start":1,"highlight_end":41},{"text":" (@doc ($($head:tt)*)) => { $($head)* };","highlight_start":1,"highlight_end":44},{"text":" (@ext ($($head:tt)*)) => { $($head)* };","highlight_start":1,"highlight_end":44},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Parse imports at the beginning of the macro.","highlight_start":1,"highlight_end":52},{"text":" ($import:item $($tail:tt)*) => {","highlight_start":1,"highlight_end":37},{"text":" #[cfg(feature = \"docs\")]","highlight_start":1,"highlight_end":33},{"text":" $import","highlight_start":1,"highlight_end":16},{"text":"","highlight_start":1,"highlight_end":1},{"text":" extension_trait!($($tail)*);","highlight_start":1,"highlight_end":37},{"text":" };","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"extension_trait!","def_site_span":{"file_name":"src/utils.rs","byte_start":3905,"byte_end":7378,"line_start":163,"line_end":260,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! extension_trait {","highlight_start":1,"highlight_end":31},{"text":" (","highlight_start":1,"highlight_end":6},{"text":" // Interesting patterns:","highlight_start":1,"highlight_end":33},{"text":" // - `$name`: trait name that gets rendered in the docs","highlight_start":1,"highlight_end":64},{"text":" // - `$ext`: name of the hidden extension trait","highlight_start":1,"highlight_end":56},{"text":" // - `$base`: base trait","highlight_start":1,"highlight_end":33},{"text":" #[doc = $doc:tt]","highlight_start":1,"highlight_end":25},{"text":" pub trait $name:ident {","highlight_start":1,"highlight_end":32},{"text":" $($body_base:tt)*","highlight_start":1,"highlight_end":30},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" #[doc = $doc_ext:tt]","highlight_start":1,"highlight_end":29},{"text":" pub trait $ext:ident: $base:path {","highlight_start":1,"highlight_end":43},{"text":" $($body_ext:tt)*","highlight_start":1,"highlight_end":29},{"text":" }","highlight_start":1,"highlight_end":10},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // Shim trait impls that only appear in docs.","highlight_start":1,"highlight_end":54},{"text":" $($imp:item)*","highlight_start":1,"highlight_end":22},{"text":" ) => {"," [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "8ffc1cf7a9099ff896550e7b0143e1d795300dffee63c3db103286ed45676807", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8ffc1cf7a9099ff896550e7b0143e1d795300dffee63c3db103286ed45676807", kill_on_drop: false }` [INFO] [stdout] 8ffc1cf7a9099ff896550e7b0143e1d795300dffee63c3db103286ed45676807