[INFO] fetching crate rs-matter 0.1.0...
[INFO] checking rs-matter-0.1.0 against try#31561a63598a0f21fc74c024747ef1310fdd2eb2 for pr-133536
[INFO] extracting crate rs-matter 0.1.0 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate rs-matter 0.1.0 on toolchain 31561a63598a0f21fc74c024747ef1310fdd2eb2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+31561a63598a0f21fc74c024747ef1310fdd2eb2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-6-tc2/source/Cargo.toml
[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" "+31561a63598a0f21fc74c024747ef1310fdd2eb2" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+31561a63598a0f21fc74c024747ef1310fdd2eb2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 90def789166ede7abb4c05462fdd97a4769136d3767ffba3bd656d2d9879baed
[INFO] running `Command { std: "docker" "start" "-a" "90def789166ede7abb4c05462fdd97a4769136d3767ffba3bd656d2d9879baed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90def789166ede7abb4c05462fdd97a4769136d3767ffba3bd656d2d9879baed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90def789166ede7abb4c05462fdd97a4769136d3767ffba3bd656d2d9879baed", kill_on_drop: false }`
[INFO] [stdout] 90def789166ede7abb4c05462fdd97a4769136d3767ffba3bd656d2d9879baed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+31561a63598a0f21fc74c024747ef1310fdd2eb2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 535d2afb5c1f127925be3865049bf72985ed159abc194efba0e162c7cbd5e7a7
[INFO] running `Command { std: "docker" "start" "-a" "535d2afb5c1f127925be3865049bf72985ed159abc194efba0e162c7cbd5e7a7", 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 proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling prettyplease v0.2.12
[INFO] [stderr]    Compiling log v0.4.19
[INFO] [stderr]    Compiling shlex v1.1.0
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling regex-syntax v0.7.4
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling semver v1.0.18
[INFO] [stderr]    Compiling bindgen v0.65.1
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling thiserror v1.0.44
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]    Compiling anyhow v1.0.72
[INFO] [stderr]    Compiling clang-sys v1.6.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling hashbrown v0.14.0
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]    Compiling rustix v0.38.4
[INFO] [stderr]    Compiling heapless v0.7.16
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]     Checking aho-corasick v1.0.2
[INFO] [stderr]    Compiling syn v2.0.27
[INFO] [stderr]    Compiling which v4.4.0
[INFO] [stderr]    Compiling filetime v0.2.21
[INFO] [stderr]    Compiling mbedtls-platform-support v0.1.0
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling indexmap v2.0.0
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]     Checking critical-section v1.1.1
[INFO] [stderr]     Checking bitflags v2.3.3
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling serde v1.0.177
[INFO] [stderr]     Checking linux-raw-sys v0.4.3
[INFO] [stderr]    Compiling winnow v0.5.1
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]    Compiling atomic-polyfill v1.0.3
[INFO] [stderr]     Checking nb v1.1.0
[INFO] [stderr]     Checking nb v0.1.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling mbedtls v0.9.1
[INFO] [stderr]    Compiling async-io v1.12.0
[INFO] [stderr]     Checking parking v2.1.0
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]    Compiling embassy-sync v0.2.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking bit-vec v0.5.1
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling portable-atomic v1.4.2
[INFO] [stderr]    Compiling regex-automata v0.3.3
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking concurrent-queue v2.2.0
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking embedded-hal v0.2.7
[INFO] [stderr]     Checking async-lock v2.7.0
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking yasna v0.2.2
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]     Checking num-complex v0.4.3
[INFO] [stderr]     Checking time-core v0.1.1
[INFO] [stderr]     Checking embedded-io v0.4.0
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.177
[INFO] [stderr]     Checking termcolor v1.2.0
[INFO] [stderr]     Checking checked_int_cast v1.0.0
[INFO] [stderr]     Checking nix v0.26.2
[INFO] [stderr]     Checking qrcode v0.12.0
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking time v0.3.23
[INFO] [stderr]     Checking embassy-time v0.1.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking domain v0.7.2
[INFO] [stderr]     Checking no-std-net v0.6.0
[INFO] [stderr]    Compiling toml_edit v0.19.14
[INFO] [stderr]     Checking verhoeff v1.0.0
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]     Checking embassy-futures v0.1.0
[INFO] [stderr]    Compiling regex v1.9.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.44
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[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 rs-matter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking strum v0.24.1
[INFO] [stderr]    Compiling mbedtls-sys-auto v2.28.3
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]   --> src/data_model/objects/node.rs:73:38
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn read<'s, 'm>(
[INFO] [stdout]    |                 -- lifetime `'s` declared here
[INFO] [stdout] ...
[INFO] [stdout] 73 |     ) -> impl Iterator<Item = Result<AttrDetails, AttrStatus>> + 'm
[INFO] [stdout]    |                                      ^^^^^^^^^^^ this elided lifetime gets resolved as `'s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]   --> src/data_model/objects/node.rs:93:38
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn subscribing_read<'s, 'm>(
[INFO] [stdout]    |                             -- lifetime `'s` declared here
[INFO] [stdout] ...
[INFO] [stdout] 93 |     ) -> impl Iterator<Item = Result<AttrDetails, AttrStatus>> + 'm
[INFO] [stdout]    |                                      ^^^^^^^^^^^ this elided lifetime gets resolved as `'s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/data_model/objects/node.rs:115:38
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn read_attr_requests<'s, 'm, P>(
[INFO] [stdout]     |                           -- lifetime `'s` declared here
[INFO] [stdout] ...
[INFO] [stdout] 115 |     ) -> impl Iterator<Item = Result<AttrDetails, AttrStatus>> + 'm
[INFO] [stdout]     |                                      ^^^^^^^^^^^ this elided lifetime gets resolved as `'s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/data_model/objects/node.rs:202:39
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn write<'m>(
[INFO] [stdout]     |                  -- lifetime `'m` declared here
[INFO] [stdout] ...
[INFO] [stdout] 202 |     ) -> impl Iterator<Item = Result<(AttrDetails, TLVElement<'m>), AttrStatus>> + 'm {
[INFO] [stdout]     |                                       ^^^^^^^^^^^ this elided lifetime gets resolved as `'m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/data_model/objects/node.rs:282:39
[INFO] [stdout]     |
[INFO] [stdout] 278 |     pub fn invoke<'m>(
[INFO] [stdout]     |                   -- lifetime `'m` declared here
[INFO] [stdout] ...
[INFO] [stdout] 282 |     ) -> impl Iterator<Item = Result<(CmdDetails, TLVElement<'m>), CmdStatus>> + 'm {
[INFO] [stdout]     |                                       ^^^^^^^^^^ this elided lifetime gets resolved as `'m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]   --> src/data_model/objects/node.rs:73:38
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn read<'s, 'm>(
[INFO] [stdout]    |                 -- lifetime `'s` declared here
[INFO] [stdout] ...
[INFO] [stdout] 73 |     ) -> impl Iterator<Item = Result<AttrDetails, AttrStatus>> + 'm
[INFO] [stdout]    |                                      ^^^^^^^^^^^ this elided lifetime gets resolved as `'s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]   --> src/data_model/objects/node.rs:93:38
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn subscribing_read<'s, 'm>(
[INFO] [stdout]    |                             -- lifetime `'s` declared here
[INFO] [stdout] ...
[INFO] [stdout] 93 |     ) -> impl Iterator<Item = Result<AttrDetails, AttrStatus>> + 'm
[INFO] [stdout]    |                                      ^^^^^^^^^^^ this elided lifetime gets resolved as `'s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/data_model/objects/node.rs:115:38
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn read_attr_requests<'s, 'm, P>(
[INFO] [stdout]     |                           -- lifetime `'s` declared here
[INFO] [stdout] ...
[INFO] [stdout] 115 |     ) -> impl Iterator<Item = Result<AttrDetails, AttrStatus>> + 'm
[INFO] [stdout]     |                                      ^^^^^^^^^^^ this elided lifetime gets resolved as `'s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/data_model/objects/node.rs:202:39
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn write<'m>(
[INFO] [stdout]     |                  -- lifetime `'m` declared here
[INFO] [stdout] ...
[INFO] [stdout] 202 |     ) -> impl Iterator<Item = Result<(AttrDetails, TLVElement<'m>), AttrStatus>> + 'm {
[INFO] [stdout]     |                                       ^^^^^^^^^^^ this elided lifetime gets resolved as `'m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/data_model/objects/node.rs:282:39
[INFO] [stdout]     |
[INFO] [stdout] 278 |     pub fn invoke<'m>(
[INFO] [stdout]     |                   -- lifetime `'m` declared here
[INFO] [stdout] ...
[INFO] [stdout] 282 |     ) -> impl Iterator<Item = Result<(CmdDetails, TLVElement<'m>), CmdStatus>> + 'm {
[INFO] [stdout]     |                                       ^^^^^^^^^^ this elided lifetime gets resolved as `'m`
[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]     |                       |
[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[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[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[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] 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[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[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] 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[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[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[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] 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[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[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[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] 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[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[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[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[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[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] 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[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[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[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: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: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: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[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: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[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] 173 | |             }
[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] 173 | |             }
[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[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: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] 173 | |             }
[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: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[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] 173 | |             }
[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: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] 173 | |             }
[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] 173 | |             }
[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] 173 | |             }
[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] 173 | |             }
[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] 194 | |             }
[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[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] 194 | |             }
[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] 194 | |             }
[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] 194 | |             }
[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] 194 | |             }
[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[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] 194 | |             }
[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] 194 | |             }
[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] 194 | |             }
[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] 144 | |         )
[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] 144 | |         )
[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] 144 | |         )
[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] 144 | |         )
[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] 144 | |         )
[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] 169 | |             }
[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] 169 | |             }
[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] 169 | |             }
[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] 169 | |             }
[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] 169 | |             }
[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] 190 | |             }
[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] 190 | |             }
[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] 190 | |             }
[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] 190 | |             }
[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] 190 | |             }
[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: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] 144 | |         )
[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] 144 | |         )
[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] 144 | |         )
[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] 144 | |         )
[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] 144 | |         )
[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] 169 | |             }
[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] 169 | |             }
[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] 169 | |             }
[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] 169 | |             }
[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] 169 | |             }
[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] 190 | |             }
[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] 190 | |             }
[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] 190 | |             }
[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] 190 | |             }
[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] 190 | |             }
[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 88 previous errors; 5 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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 test) due to 88 previous errors; 5 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "535d2afb5c1f127925be3865049bf72985ed159abc194efba0e162c7cbd5e7a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "535d2afb5c1f127925be3865049bf72985ed159abc194efba0e162c7cbd5e7a7", kill_on_drop: false }`
[INFO] [stdout] 535d2afb5c1f127925be3865049bf72985ed159abc194efba0e162c7cbd5e7a7
