[INFO] fetching crate rs-matter 0.1.0...
[INFO] testing rs-matter-0.1.0 against 1.91.0 for beta-1.92-2
[INFO] extracting crate rs-matter 0.1.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate rs-matter 0.1.0
[INFO] removed 1 missing examples
[INFO] finished tweaking crates.io crate rs-matter 0.1.0
[INFO] tweaked toml for crates.io crate rs-matter 0.1.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rs-matter 0.1.0 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rs-matter 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `domain` dependency)
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded spki v0.7.2
[INFO] [stderr]   Downloaded der_derive v0.7.1
[INFO] [stderr]   Downloaded atomic-pool v1.0.1
[INFO] [stderr]   Downloaded verhoeff v1.0.0
[INFO] [stderr]   Downloaded const-oid v0.9.4
[INFO] [stderr]   Downloaded flagset v0.4.3
[INFO] [stderr]   Downloaded embassy-net-driver v0.1.0
[INFO] [stderr]   Downloaded x509-cert v0.2.4
[INFO] [stderr]   Downloaded astro-dnssd v0.3.2
[INFO] [stderr]   Downloaded crypto-bigint v0.4.9
[INFO] [stderr]   Downloaded async-io v1.12.0
[INFO] [stderr]   Downloaded embedded-can v0.4.1
[INFO] [stderr]   Downloaded windows-targets v0.48.1
[INFO] [stderr]   Downloaded iana-time-zone v0.1.57
[INFO] [stderr]   Downloaded globwalk v0.8.1
[INFO] [stderr]   Downloaded embassy-futures v0.1.0
[INFO] [stderr]   Downloaded crypto-bigint v0.5.2
[INFO] [stderr]   Downloaded domain v0.7.2
[INFO] [stderr]   Downloaded openssl-sys v0.9.90
[INFO] [stderr]   Downloaded bstr v1.6.0
[INFO] [stderr]   Downloaded openssl v0.10.55
[INFO] [stderr]   Downloaded widestring v1.0.2
[INFO] [stderr]   Downloaded rustix v0.38.4
[INFO] [stderr]   Downloaded bindgen v0.63.0
[INFO] [stderr]   Downloaded const_format v0.2.31
[INFO] [stderr]   Downloaded regex v1.9.1
[INFO] [stderr]   Downloaded esp-idf-hal v0.41.2
[INFO] [stderr]   Downloaded serde_derive v1.0.177
[INFO] [stderr]   Downloaded esp-idf-svc v0.46.0
[INFO] [stderr]   Downloaded ccm v0.5.0
[INFO] [stderr]   Downloaded js-sys v0.3.64
[INFO] [stderr]   Downloaded bumpalo v3.13.0
[INFO] [stderr]   Downloaded embuild v0.31.2
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.87
[INFO] [stderr]   Downloaded serde_json v1.0.104
[INFO] [stderr]   Downloaded bindgen v0.65.1
[INFO] [stderr]   Downloaded hkdf v0.12.3
[INFO] [stderr]   Downloaded portable-atomic v1.4.2
[INFO] [stderr]   Downloaded winnow v0.5.1
[INFO] [stderr]   Downloaded toml_edit v0.19.14
[INFO] [stderr]   Downloaded serde v1.0.177
[INFO] [stderr]   Downloaded heapless v0.7.16
[INFO] [stderr]   Downloaded smoltcp v0.10.0
[INFO] [stderr]   Downloaded time v0.3.23
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.3
[INFO] [stderr]   Downloaded syn v2.0.27
[INFO] [stderr]   Downloaded der v0.7.7
[INFO] [stderr]   Downloaded embassy-time v0.1.2
[INFO] [stderr]   Downloaded defmt-parser v0.3.3
[INFO] [stderr]   Downloaded defmt-macros v0.3.6
[INFO] [stderr]   Downloaded defmt v0.3.5
[INFO] [stderr]   Downloaded no-std-net v0.5.0
[INFO] [stderr]   Downloaded strum v0.23.0
[INFO] [stderr]   Downloaded strum_macros v0.23.1
[INFO] [stderr]   Downloaded embedded-svc v0.25.3
[INFO] [stderr]   Downloaded edge-executor v0.3.0
[INFO] [stderr]   Downloaded pin-project-lite v0.2.10
[INFO] [stderr]   Downloaded embassy-sync v0.2.0
[INFO] [stderr]   Downloaded embedded-hal v1.0.0-alpha.10
[INFO] [stderr]   Downloaded embedded-hal-nb v1.0.0-alpha.2
[INFO] [stderr]   Downloaded enumset_derive v0.8.1
[INFO] [stderr]   Downloaded enumset v1.1.2
[INFO] [stderr]   Downloaded uncased v0.9.9
[INFO] [stderr]   Downloaded build-time v0.1.3
[INFO] [stderr]   Downloaded cargo-platform v0.1.3
[INFO] [stderr]   Downloaded const_format_proc_macros v0.2.31
[INFO] [stderr]   Downloaded anyhow v1.0.72
[INFO] [stderr]   Downloaded globset v0.4.12
[INFO] [stderr]   Downloaded as-slice v0.2.1
[INFO] [stderr]   Downloaded aligned v0.4.1
[INFO] [stderr]   Downloaded mbedtls-sys-auto v2.28.3
[INFO] [stderr]   Downloaded cvt v0.1.2
[INFO] [stderr]   Downloaded fs_at v0.1.8
[INFO] [stderr]   Downloaded regex-automata v0.3.3
[INFO] [stderr]   Downloaded embassy-net v0.1.0
[INFO] [stderr]   Downloaded rs-matter-macros v0.1.0
[INFO] [stderr]   Downloaded remove_dir_all v0.8.2
[INFO] [stderr]   Downloaded fastrand v2.0.0
[INFO] [stderr]   Downloaded bitflags v2.3.3
[INFO] [stderr]   Downloaded tempfile v3.7.0
[INFO] [stderr]   Downloaded esp-idf-sys v0.33.1
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.87
[INFO] [stderr]   Downloaded mbedtls-platform-support v0.1.0
[INFO] [stderr]   Downloaded clang-sys v1.6.1
[INFO] [stderr]   Downloaded yasna v0.2.2
[INFO] [stderr]   Downloaded semver v1.0.18
[INFO] [stderr]   Downloaded normpath v1.1.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.87
[INFO] [stderr]   Downloaded shlex v1.1.0
[INFO] [stderr]   Downloaded qrcode v0.12.0
[INFO] [stderr]   Downloaded cpufeatures v0.2.9
[INFO] [stderr]   Downloaded sha2 v0.10.7
[INFO] [stderr]   Downloaded lock_api v0.4.10
[INFO] [stderr]   Downloaded managed v0.8.0
[INFO] [stderr]   Downloaded mbedtls v0.9.1
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.87
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.87
[INFO] [stderr]   Downloaded owo-colors v3.5.0
[INFO] [stderr]   Downloaded prettyplease v0.2.12
[INFO] [stderr]   Downloaded rs-libc v0.2.4
[INFO] [stderr]   Downloaded memoffset v0.7.1
[INFO] [stderr]   Downloaded num v0.4.1
[INFO] [stderr]   Downloaded checked_int_cast v1.0.0
[INFO] [stderr]   Downloaded bit-vec v0.5.1
[INFO] [stderr]   Downloaded ecdsa v0.16.8
[INFO] [stderr]   Downloaded elliptic-curve v0.13.5
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.16
[INFO] [stderr]   Downloaded primeorder v0.13.2
[INFO] [stderr]   Downloaded critical-section v1.1.1
[INFO] [stderr]   Downloaded atomic-polyfill v0.1.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f051dee415afb0dc9111404aec27a3c7cf232539f9d2621515dadf1612cb355b
[INFO] running `Command { std: "docker" "start" "-a" "f051dee415afb0dc9111404aec27a3c7cf232539f9d2621515dadf1612cb355b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f051dee415afb0dc9111404aec27a3c7cf232539f9d2621515dadf1612cb355b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f051dee415afb0dc9111404aec27a3c7cf232539f9d2621515dadf1612cb355b", kill_on_drop: false }`
[INFO] [stdout] f051dee415afb0dc9111404aec27a3c7cf232539f9d2621515dadf1612cb355b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b5f9d1793ed42303db15f8799afed661d2d214e79ab4d0b116ffaa1bb496a25b
[INFO] running `Command { std: "docker" "start" "-a" "b5f9d1793ed42303db15f8799afed661d2d214e79ab4d0b116ffaa1bb496a25b", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `domain` dependency)
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling prettyplease v0.2.12
[INFO] [stderr]    Compiling shlex v1.1.0
[INFO] [stderr]    Compiling log v0.4.19
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling regex-syntax v0.7.4
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling bindgen v0.65.1
[INFO] [stderr]    Compiling semver v1.0.18
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling anyhow v1.0.72
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling pin-project-lite v0.2.10
[INFO] [stderr]    Compiling thiserror v1.0.44
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling rustix v0.38.4
[INFO] [stderr]    Compiling hash32 v0.2.1
[INFO] [stderr]    Compiling clang-sys v1.6.1
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling hashbrown v0.14.0
[INFO] [stderr]    Compiling heapless v0.7.16
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling aho-corasick v1.0.2
[INFO] [stderr]    Compiling critical-section v1.1.1
[INFO] [stderr]    Compiling serde v1.0.177
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling winnow v0.5.1
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling bitflags v2.3.3
[INFO] [stderr]    Compiling syn v2.0.27
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling which v4.4.0
[INFO] [stderr]    Compiling indexmap v2.0.0
[INFO] [stderr]    Compiling filetime v0.2.21
[INFO] [stderr]    Compiling mbedtls-platform-support v0.1.0
[INFO] [stderr]    Compiling atomic-polyfill v1.0.3
[INFO] [stderr]    Compiling regex-automata v0.3.3
[INFO] [stderr]    Compiling nb v1.1.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.3
[INFO] [stderr]    Compiling nb v0.1.3
[INFO] [stderr]    Compiling mbedtls v0.9.1
[INFO] [stderr]    Compiling async-io v1.12.0
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling futures-io v0.3.28
[INFO] [stderr]    Compiling parking v2.1.0
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling bit-vec v0.5.1
[INFO] [stderr]    Compiling waker-fn v1.1.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling embassy-sync v0.2.0
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling portable-atomic v1.4.2
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling is-terminal v0.4.9
[INFO] [stderr]    Compiling async-lock v2.7.0
[INFO] [stderr]    Compiling embedded-hal v0.2.7
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling concurrent-queue v2.2.0
[INFO] [stderr]    Compiling yasna v0.2.2
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling regex v1.9.1
[INFO] [stderr]    Compiling num-complex v0.4.3
[INFO] [stderr]    Compiling toml_edit v0.19.14
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling embedded-io v0.4.0
[INFO] [stderr]    Compiling time-core v0.1.1
[INFO] [stderr]    Compiling checked_int_cast v1.0.0
[INFO] [stderr]    Compiling termcolor v1.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.177
[INFO] [stderr]    Compiling qrcode v0.12.0
[INFO] [stderr]    Compiling time v0.3.23
[INFO] [stderr]    Compiling nix v0.26.2
[INFO] [stderr]    Compiling num v0.4.1
[INFO] [stderr]    Compiling embassy-time v0.1.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling domain v0.7.2
[INFO] [stderr]    Compiling embassy-futures v0.1.0
[INFO] [stderr]    Compiling verhoeff v1.0.0
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]    Compiling owo-colors v3.5.0
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling env_logger v0.10.0
[INFO] [stderr]    Compiling no-std-net v0.6.0
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.44
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling rs-matter-macros v0.1.0
[INFO] [stderr]    Compiling embuild v0.31.2
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling rs-matter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling mbedtls-sys-auto v2.28.3
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |                       ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl<'a> MdnsService<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 132 |         let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 132 |         let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                  ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 132 |         let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 132 |           let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 133 | |             stack,
[INFO] [stdout] 134 | |             crate::transport::network::SocketAddr::new(IpAddr::V6(Ipv6Addr::UNSPECIFIED), PORT),
[INFO] [stdout] 135 | |             &mut buffers.udp,
[INFO] [stdout] 136 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |           ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout]  54 |   impl<'a> MdnsService<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 132 |           let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 133 | |             stack,
[INFO] [stdout] 134 | |             crate::transport::network::SocketAddr::new(IpAddr::V6(Ipv6Addr::UNSPECIFIED), PORT),
[INFO] [stdout] 135 | |             &mut buffers.udp,
[INFO] [stdout] 136 | |         )
[INFO] [stdout]     | |_________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 132 |           let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 133 | |             stack,
[INFO] [stdout] 134 | |             crate::transport::network::SocketAddr::new(IpAddr::V6(Ipv6Addr::UNSPECIFIED), PORT),
[INFO] [stdout] 135 | |             &mut buffers.udp,
[INFO] [stdout] 136 | |         )
[INFO] [stdout]     | |_________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                    ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 132 |           let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 133 | |             stack,
[INFO] [stdout] 134 | |             crate::transport::network::SocketAddr::new(IpAddr::V6(Ipv6Addr::UNSPECIFIED), PORT),
[INFO] [stdout] 135 | |             &mut buffers.udp,
[INFO] [stdout] 136 | |         )
[INFO] [stdout]     | |_________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 132 |           let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 133 | |             stack,
[INFO] [stdout] 134 | |             crate::transport::network::SocketAddr::new(IpAddr::V6(Ipv6Addr::UNSPECIFIED), PORT),
[INFO] [stdout] 135 | |             &mut buffers.udp,
[INFO] [stdout] 136 | |         )
[INFO] [stdout] 137 | |         .await?;
[INFO] [stdout]     | |               ^
[INFO] [stdout]     | |               |
[INFO] [stdout]     | |_______________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |                 ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout]  54 |   impl<'a> MdnsService<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 132 |           let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 133 | |             stack,
[INFO] [stdout] 134 | |             crate::transport::network::SocketAddr::new(IpAddr::V6(Ipv6Addr::UNSPECIFIED), PORT),
[INFO] [stdout] 135 | |             &mut buffers.udp,
[INFO] [stdout] 136 | |         )
[INFO] [stdout] 137 | |         .await?;
[INFO] [stdout]     | |_______________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 132 |           let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 133 | |             stack,
[INFO] [stdout] 134 | |             crate::transport::network::SocketAddr::new(IpAddr::V6(Ipv6Addr::UNSPECIFIED), PORT),
[INFO] [stdout] 135 | |             &mut buffers.udp,
[INFO] [stdout] 136 | |         )
[INFO] [stdout] 137 | |         .await?;
[INFO] [stdout]     | |_______________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                    ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 132 |           let mut udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 133 | |             stack,
[INFO] [stdout] 134 | |             crate::transport::network::SocketAddr::new(IpAddr::V6(Ipv6Addr::UNSPECIFIED), PORT),
[INFO] [stdout] 135 | |             &mut buffers.udp,
[INFO] [stdout] 136 | |         )
[INFO] [stdout] 137 | |         .await?;
[INFO] [stdout]     | |_______________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 |         .await?;
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |          ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl<'a> MdnsService<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 137 |         .await?;
[INFO] [stdout]     |          ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 137 |         .await?;
[INFO] [stdout]     |          ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                  ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 137 |         .await?;
[INFO] [stdout]     |          ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |             udp.join_multicast_v6(IPV6_BROADCAST_ADDR, interface)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |             ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl<'a> MdnsService<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 142 |             udp.join_multicast_v6(IPV6_BROADCAST_ADDR, interface)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 142 |             udp.join_multicast_v6(IPV6_BROADCAST_ADDR, interface)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                  ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 142 |             udp.join_multicast_v6(IPV6_BROADCAST_ADDR, interface)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 .await?;
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |                  ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl<'a> MdnsService<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 143 |                 .await?;
[INFO] [stdout]     |                  ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 143 |                 .await?;
[INFO] [stdout]     |                  ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                  ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 143 |                 .await?;
[INFO] [stdout]     |                  ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 | /         udp.join_multicast_v4(
[INFO] [stdout] 147 | |             IP_BROADCAST_ADDR,
[INFO] [stdout] 148 | |             crate::transport::network::Ipv4Addr::from(self.host.ip),
[INFO] [stdout] 149 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |           ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout]  54 |   impl<'a> MdnsService<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 146 | /         udp.join_multicast_v4(
[INFO] [stdout] 147 | |             IP_BROADCAST_ADDR,
[INFO] [stdout] 148 | |             crate::transport::network::Ipv4Addr::from(self.host.ip),
[INFO] [stdout] 149 | |         )
[INFO] [stdout]     | |_________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 146 | /         udp.join_multicast_v4(
[INFO] [stdout] 147 | |             IP_BROADCAST_ADDR,
[INFO] [stdout] 148 | |             crate::transport::network::Ipv4Addr::from(self.host.ip),
[INFO] [stdout] 149 | |         )
[INFO] [stdout]     | |_________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                    ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 146 | /         udp.join_multicast_v4(
[INFO] [stdout] 147 | |             IP_BROADCAST_ADDR,
[INFO] [stdout] 148 | |             crate::transport::network::Ipv4Addr::from(self.host.ip),
[INFO] [stdout] 149 | |         )
[INFO] [stdout]     | |_________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 150 |         .await?;
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |          ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl<'a> MdnsService<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 150 |         .await?;
[INFO] [stdout]     |          ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 150 |         .await?;
[INFO] [stdout]     |          ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                  ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 150 |         .await?;
[INFO] [stdout]     |          ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         embassy_futures::select::select3(&mut tx, &mut rx, &mut run)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |         ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl<'a> MdnsService<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 199 |         embassy_futures::select::select3(&mut tx, &mut rx, &mut run)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 199 |         embassy_futures::select::select3(&mut tx, &mut rx, &mut run)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                  ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 199 |         embassy_futures::select::select3(&mut tx, &mut rx, &mut run)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:200:14
[INFO] [stdout]     |
[INFO] [stdout] 200 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |              ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:200:14
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl<'a> MdnsService<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 200 |             .await
[INFO] [stdout]     |              ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:200:14
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 200 |             .await
[INFO] [stdout]     |              ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:200:14
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                  ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 200 |             .await
[INFO] [stdout]     |              ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout] 159 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 160 | |             loop {
[INFO] [stdout] 161 | |                 {
[INFO] [stdout] 162 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         });
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |            ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout]  54 |   impl<'a> MdnsService<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 159 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 160 | |             loop {
[INFO] [stdout] 161 | |                 {
[INFO] [stdout] 162 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 159 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 160 | |             loop {
[INFO] [stdout] 161 | |                 {
[INFO] [stdout] 162 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                    ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 159 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 160 | |             loop {
[INFO] [stdout] 161 | |                 {
[INFO] [stdout] 162 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:176:22
[INFO] [stdout]     |
[INFO] [stdout] 176 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 177 | |             loop {
[INFO] [stdout] 178 | |                 {
[INFO] [stdout] 179 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |         });
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |            ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:176:22
[INFO] [stdout]     |
[INFO] [stdout]  54 |   impl<'a> MdnsService<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 176 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 177 | |             loop {
[INFO] [stdout] 178 | |                 {
[INFO] [stdout] 179 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:176:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 176 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 177 | |             loop {
[INFO] [stdout] 178 | |                 {
[INFO] [stdout] 179 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:176:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                    ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 176 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 177 | |             loop {
[INFO] [stdout] 178 | |                 {
[INFO] [stdout] 179 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout] 159 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 160 | |             loop {
[INFO] [stdout] 161 | |                 {
[INFO] [stdout] 162 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         });
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |            ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout]  54 |   impl<'a> MdnsService<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 159 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 160 | |             loop {
[INFO] [stdout] 161 | |                 {
[INFO] [stdout] 162 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 159 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 160 | |             loop {
[INFO] [stdout] 161 | |                 {
[INFO] [stdout] 162 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                    ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 159 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 160 | |             loop {
[INFO] [stdout] 161 | |                 {
[INFO] [stdout] 162 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:176:22
[INFO] [stdout]     |
[INFO] [stdout] 176 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 177 | |             loop {
[INFO] [stdout] 178 | |                 {
[INFO] [stdout] 179 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |         });
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |            ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:176:22
[INFO] [stdout]     |
[INFO] [stdout]  54 |   impl<'a> MdnsService<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 176 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 177 | |             loop {
[INFO] [stdout] 178 | |                 {
[INFO] [stdout] 179 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 130 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:176:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 176 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 177 | |             loop {
[INFO] [stdout] 178 | |                 {
[INFO] [stdout] 179 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/mdns/builtin.rs:176:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut MdnsRunBuffers,
[INFO] [stdout]     |                    ------------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 176 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 177 | |             loop {
[INFO] [stdout] 178 | |                 {
[INFO] [stdout] 179 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut MdnsRunBuffers,
[INFO] [stdout] 128 |     ) -> Result<(), Error>
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |                   ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<'a> Matter<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |         let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |         let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut RunBuffers,
[INFO] [stdout]     |                  --------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |         let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut RunBuffers,
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |         handler: &H,
[INFO] [stdout]     |                  -- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |         let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] 129 ~         handler: &'b H,
[INFO] [stdout] 130 |     ) -> Result<(), Error>
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |           let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |             stack,
[INFO] [stdout] 137 | |             crate::transport::network::SocketAddr::new(
[INFO] [stdout] 138 | |                 crate::transport::network::IpAddr::V6(
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |             &mut buffers.udp_bufs,
[INFO] [stdout] 144 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |           ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 122 |   impl<'a> Matter<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |           let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |             stack,
[INFO] [stdout] 137 | |             crate::transport::network::SocketAddr::new(
[INFO] [stdout] 138 | |                 crate::transport::network::IpAddr::V6(
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |             &mut buffers.udp_bufs,
[INFO] [stdout] 144 | |         )
[INFO] [stdout]     | |_________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |           let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |             stack,
[INFO] [stdout] 137 | |             crate::transport::network::SocketAddr::new(
[INFO] [stdout] 138 | |                 crate::transport::network::IpAddr::V6(
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |             &mut buffers.udp_bufs,
[INFO] [stdout] 144 | |         )
[INFO] [stdout]     | |_________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut RunBuffers,
[INFO] [stdout]     |                    --------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |           let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |             stack,
[INFO] [stdout] 137 | |             crate::transport::network::SocketAddr::new(
[INFO] [stdout] 138 | |                 crate::transport::network::IpAddr::V6(
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |             &mut buffers.udp_bufs,
[INFO] [stdout] 144 | |         )
[INFO] [stdout]     | |_________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut RunBuffers,
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |           handler: &H,
[INFO] [stdout]     |                    -- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |           let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |             stack,
[INFO] [stdout] 137 | |             crate::transport::network::SocketAddr::new(
[INFO] [stdout] 138 | |                 crate::transport::network::IpAddr::V6(
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |             &mut buffers.udp_bufs,
[INFO] [stdout] 144 | |         )
[INFO] [stdout]     | |_________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] 129 ~         handler: &'b H,
[INFO] [stdout] 130 |     ) -> Result<(), Error>
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |           let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |             stack,
[INFO] [stdout] 137 | |             crate::transport::network::SocketAddr::new(
[INFO] [stdout] 138 | |                 crate::transport::network::IpAddr::V6(
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         .await?;
[INFO] [stdout]     | |               ^
[INFO] [stdout]     | |               |
[INFO] [stdout]     | |_______________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |                 ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 122 |   impl<'a> Matter<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |           let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |             stack,
[INFO] [stdout] 137 | |             crate::transport::network::SocketAddr::new(
[INFO] [stdout] 138 | |                 crate::transport::network::IpAddr::V6(
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         .await?;
[INFO] [stdout]     | |_______________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |           let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |             stack,
[INFO] [stdout] 137 | |             crate::transport::network::SocketAddr::new(
[INFO] [stdout] 138 | |                 crate::transport::network::IpAddr::V6(
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         .await?;
[INFO] [stdout]     | |_______________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut RunBuffers,
[INFO] [stdout]     |                    --------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |           let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |             stack,
[INFO] [stdout] 137 | |             crate::transport::network::SocketAddr::new(
[INFO] [stdout] 138 | |                 crate::transport::network::IpAddr::V6(
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         .await?;
[INFO] [stdout]     | |_______________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut RunBuffers,
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |           handler: &H,
[INFO] [stdout]     |                    -- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 135 |           let udp = crate::transport::udp::UdpListener::new(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |             stack,
[INFO] [stdout] 137 | |             crate::transport::network::SocketAddr::new(
[INFO] [stdout] 138 | |                 crate::transport::network::IpAddr::V6(
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         .await?;
[INFO] [stdout]     | |_______________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] 129 ~         handler: &'b H,
[INFO] [stdout] 130 |     ) -> Result<(), Error>
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 145 |         .await?;
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |          ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<'a> Matter<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 145 |         .await?;
[INFO] [stdout]     |          ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 145 |         .await?;
[INFO] [stdout]     |          ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut RunBuffers,
[INFO] [stdout]     |                  --------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 145 |         .await?;
[INFO] [stdout]     |          ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut RunBuffers,
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 129 |         handler: &H,
[INFO] [stdout]     |                  -- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 145 |         .await?;
[INFO] [stdout]     |          ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] 129 ~         handler: &'b H,
[INFO] [stdout] 130 |     ) -> Result<(), Error>
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |         embassy_futures::select::select3(&mut tx, &mut rx, &mut run)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |         ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<'a> Matter<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 198 |         embassy_futures::select::select3(&mut tx, &mut rx, &mut run)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 198 |         embassy_futures::select::select3(&mut tx, &mut rx, &mut run)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut RunBuffers,
[INFO] [stdout]     |                  --------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 198 |         embassy_futures::select::select3(&mut tx, &mut rx, &mut run)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut RunBuffers,
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         handler: &H,
[INFO] [stdout]     |                  -- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 198 |         embassy_futures::select::select3(&mut tx, &mut rx, &mut run)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] 129 ~         handler: &'b H,
[INFO] [stdout] 130 |     ) -> Result<(), Error>
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout] 199 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |              ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<'a> Matter<'a> {
[INFO] [stdout]     |      -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 199 |             .await
[INFO] [stdout]     |              ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self,
[INFO] [stdout]     |         ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 199 |             .await
[INFO] [stdout]     |              ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout] 127 |         buffers: &mut RunBuffers,
[INFO] [stdout]     |                  --------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 199 |             .await
[INFO] [stdout]     |              ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut RunBuffers,
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout] 129 |         handler: &H,
[INFO] [stdout]     |                  -- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 199 |             .await
[INFO] [stdout]     |              ^^^^^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] 129 ~         handler: &'b H,
[INFO] [stdout] 130 |     ) -> Result<(), Error>
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:155:22
[INFO] [stdout]     |
[INFO] [stdout] 155 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 156 | |             loop {
[INFO] [stdout] 157 | |                 {
[INFO] [stdout] 158 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         });
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |            ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:155:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |   impl<'a> Matter<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 156 | |             loop {
[INFO] [stdout] 157 | |                 {
[INFO] [stdout] 158 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:155:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 156 | |             loop {
[INFO] [stdout] 157 | |                 {
[INFO] [stdout] 158 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:155:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut RunBuffers,
[INFO] [stdout]     |                    --------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 156 | |             loop {
[INFO] [stdout] 157 | |                 {
[INFO] [stdout] 158 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut RunBuffers,
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:155:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |           handler: &H,
[INFO] [stdout]     |                    -- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 156 | |             loop {
[INFO] [stdout] 157 | |                 {
[INFO] [stdout] 158 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] 129 ~         handler: &'b H,
[INFO] [stdout] 130 |     ) -> Result<(), Error>
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 172 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 173 | |             loop {
[INFO] [stdout] 174 | |                 {
[INFO] [stdout] 175 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |         });
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |            ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |   impl<'a> Matter<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 172 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 173 | |             loop {
[INFO] [stdout] 174 | |                 {
[INFO] [stdout] 175 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 172 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 173 | |             loop {
[INFO] [stdout] 174 | |                 {
[INFO] [stdout] 175 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut RunBuffers,
[INFO] [stdout]     |                    --------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 172 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 173 | |             loop {
[INFO] [stdout] 174 | |                 {
[INFO] [stdout] 175 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut RunBuffers,
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |           handler: &H,
[INFO] [stdout]     |                    -- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 172 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 173 | |             loop {
[INFO] [stdout] 174 | |                 {
[INFO] [stdout] 175 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] 129 ~         handler: &'b H,
[INFO] [stdout] 130 |     ) -> Result<(), Error>
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:155:22
[INFO] [stdout]     |
[INFO] [stdout] 155 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 156 | |             loop {
[INFO] [stdout] 157 | |                 {
[INFO] [stdout] 158 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         });
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |            ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:155:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |   impl<'a> Matter<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 156 | |             loop {
[INFO] [stdout] 157 | |                 {
[INFO] [stdout] 158 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:155:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 156 | |             loop {
[INFO] [stdout] 157 | |                 {
[INFO] [stdout] 158 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:155:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut RunBuffers,
[INFO] [stdout]     |                    --------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 156 | |             loop {
[INFO] [stdout] 157 | |                 {
[INFO] [stdout] 158 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut RunBuffers,
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:155:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |           handler: &H,
[INFO] [stdout]     |                    -- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let mut tx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 156 | |             loop {
[INFO] [stdout] 157 | |                 {
[INFO] [stdout] 158 | |                     let mut data = tx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] 129 ~         handler: &'b H,
[INFO] [stdout] 130 |     ) -> Result<(), Error>
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 172 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 173 | |             loop {
[INFO] [stdout] 174 | |                 {
[INFO] [stdout] 175 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |         });
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________the parameter type `D` must be valid for the static lifetime...
[INFO] [stdout]     |            ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'static,
[INFO] [stdout]     |                                                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |   impl<'a> Matter<'a> {
[INFO] [stdout]     |        -- the parameter type `D` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 172 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 173 | |             loop {
[INFO] [stdout] 174 | |                 {
[INFO] [stdout] 175 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 132 |         D: crate::transport::network::NetworkStackDriver + 'a,
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |           &self,
[INFO] [stdout]     |           ----- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 172 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 173 | |             loop {
[INFO] [stdout] 174 | |                 {
[INFO] [stdout] 175 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 ~         &'b self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |           buffers: &mut RunBuffers,
[INFO] [stdout]     |                    --------------- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 172 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 173 | |             loop {
[INFO] [stdout] 174 | |                 {
[INFO] [stdout] 175 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] 126 |         stack: &crate::transport::network::NetworkStack<D>,
[INFO] [stdout] 127 ~         buffers: &'b mut RunBuffers,
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] ...
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0311]: the parameter type `D` may not live long enough
[INFO] [stdout]    --> src/transport/core.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |           handler: &H,
[INFO] [stdout]     |                    -- the parameter type `D` must be valid for the anonymous lifetime defined here...
[INFO] [stdout] ...
[INFO] [stdout] 172 |           let mut rx = pin!(async move {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 173 | |             loop {
[INFO] [stdout] 174 | |                 {
[INFO] [stdout] 175 | |                     let mut data = rx_pipe.data.lock().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |         });
[INFO] [stdout]     | |__________^ ...so that the type `D` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `pin` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 124 ~     pub async fn run<'b, D, H>(
[INFO] [stdout] 125 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 128 |         dev_comm: CommissioningData,
[INFO] [stdout] 129 ~         handler: &'b H,
[INFO] [stdout] 130 |     ) -> Result<(), Error>
[INFO] [stdout] 131 |     where
[INFO] [stdout] 132 ~         D: crate::transport::network::NetworkStackDriver + 'b,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0309, E0310, E0311.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0309`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rs-matter` (lib) due to 106 previous errors
[INFO] running `Command { std: "docker" "inspect" "b5f9d1793ed42303db15f8799afed661d2d214e79ab4d0b116ffaa1bb496a25b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5f9d1793ed42303db15f8799afed661d2d214e79ab4d0b116ffaa1bb496a25b", kill_on_drop: false }`
[INFO] [stdout] b5f9d1793ed42303db15f8799afed661d2d214e79ab4d0b116ffaa1bb496a25b
