[INFO] fetching crate phylactery 2.0.5...
[INFO] checking phylactery-2.0.5 against try#7424ce9ff9baac3e9d9f5dd3c85828cddea0134d for pr-136776-2
[INFO] extracting crate phylactery 2.0.5 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate phylactery 2.0.5
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate phylactery 2.0.5
[INFO] tweaked toml for crates.io crate phylactery 2.0.5 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate phylactery 2.0.5 on toolchain 7424ce9ff9baac3e9d9f5dd3c85828cddea0134d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate phylactery 2.0.5 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" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 29c106e0f923c0019bf21149baf49441562116b0c46899d305f35212982faf6d
[INFO] running `Command { std: "docker" "start" "-a" "29c106e0f923c0019bf21149baf49441562116b0c46899d305f35212982faf6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "29c106e0f923c0019bf21149baf49441562116b0c46899d305f35212982faf6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29c106e0f923c0019bf21149baf49441562116b0c46899d305f35212982faf6d", kill_on_drop: false }`
[INFO] [stdout] 29c106e0f923c0019bf21149baf49441562116b0c46899d305f35212982faf6d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c40b06b5f115698928cfe2ab034058774f8e27ca0f2030276c4a429f0ded7d00
[INFO] running `Command { std: "docker" "start" "-a" "c40b06b5f115698928cfe2ab034058774f8e27ca0f2030276c4a429f0ded7d00", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]     Checking atomic-wait v1.1.0
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling phylactery_macro v0.4.5
[INFO] [stderr]     Checking phylactery v2.0.5 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 113 |     shroud_ty! { use: ::core::iter::ExactSizeIterator, trait: ExactSizeIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 113 |     shroud_ty! { use: ::core::iter::ExactSizeIterator, trait: ExactSizeIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 113 |     shroud_ty! { use: ::core::iter::ExactSizeIterator, trait: ExactSizeIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 113 |     shroud_ty! { use: ::core::iter::ExactSizeIterator, trait: ExactSizeIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 113 |     shroud_ty! { use: ::core::iter::ExactSizeIterator, trait: ExactSizeIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 113 |     shroud_ty! { use: ::core::iter::ExactSizeIterator, trait: ExactSizeIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 113 |     shroud_ty! { use: ::core::iter::ExactSizeIterator, trait: ExactSizeIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 113 |     shroud_ty! { use: ::core::iter::ExactSizeIterator, trait: ExactSizeIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 114 |     shroud_ty! { use: ::core::iter::FusedIterator, trait: FusedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 114 |     shroud_ty! { use: ::core::iter::FusedIterator, trait: FusedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 114 |     shroud_ty! { use: ::core::iter::FusedIterator, trait: FusedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 114 |     shroud_ty! { use: ::core::iter::FusedIterator, trait: FusedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 114 |     shroud_ty! { use: ::core::iter::FusedIterator, trait: FusedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 114 |     shroud_ty! { use: ::core::iter::FusedIterator, trait: FusedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 114 |     shroud_ty! { use: ::core::iter::FusedIterator, trait: FusedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 114 |     shroud_ty! { use: ::core::iter::FusedIterator, trait: FusedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 115 |     shroud_ty! { use: ::core::iter::Iterator, trait: Iterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 115 |     shroud_ty! { use: ::core::iter::Iterator, trait: Iterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 115 |     shroud_ty! { use: ::core::iter::Iterator, trait: Iterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 115 |     shroud_ty! { use: ::core::iter::Iterator, trait: Iterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 115 |     shroud_ty! { use: ::core::iter::Iterator, trait: Iterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 115 |     shroud_ty! { use: ::core::iter::Iterator, trait: Iterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 115 |     shroud_ty! { use: ::core::iter::Iterator, trait: Iterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 115 |     shroud_ty! { use: ::core::iter::Iterator, trait: Iterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 116 |     shroud_ty! { use: ::core::marker::Send, trait: Send, generics: (), bounds: (), associates: (), dynamic: true, traits: () }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 117 |     shroud_ty! { use: ::core::marker::Sync, trait: Sync, generics: (), bounds: (), associates: (), dynamic: true, traits: () }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 118 |     shroud_ty! { use: ::core::marker::Unpin, trait: Unpin, generics: (), bounds: (), associates: (), dynamic: true, traits: () }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 119 |     shroud_ty! { use: ::core::panic::RefUnwindSafe, trait: RefUnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 119 |     shroud_ty! { use: ::core::panic::RefUnwindSafe, trait: RefUnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 119 |     shroud_ty! { use: ::core::panic::RefUnwindSafe, trait: RefUnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 119 |     shroud_ty! { use: ::core::panic::RefUnwindSafe, trait: RefUnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 119 |     shroud_ty! { use: ::core::panic::RefUnwindSafe, trait: RefUnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 119 |     shroud_ty! { use: ::core::panic::RefUnwindSafe, trait: RefUnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 119 |     shroud_ty! { use: ::core::panic::RefUnwindSafe, trait: RefUnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 119 |     shroud_ty! { use: ::core::panic::RefUnwindSafe, trait: RefUnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 120 |     shroud_ty! { use: ::core::panic::UnwindSafe, trait: UnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 120 |     shroud_ty! { use: ::core::panic::UnwindSafe, trait: UnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 120 |     shroud_ty! { use: ::core::panic::UnwindSafe, trait: UnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 120 |     shroud_ty! { use: ::core::panic::UnwindSafe, trait: UnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 120 |     shroud_ty! { use: ::core::panic::UnwindSafe, trait: UnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 120 |     shroud_ty! { use: ::core::panic::UnwindSafe, trait: UnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 120 |     shroud_ty! { use: ::core::panic::UnwindSafe, trait: UnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 120 |     shroud_ty! { use: ::core::panic::UnwindSafe, trait: UnwindSafe, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 121 |     shroud_ty! { use: ::core::slice::SliceIndex, trait: SliceIndex, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 121 |     shroud_ty! { use: ::core::slice::SliceIndex, trait: SliceIndex, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 121 |     shroud_ty! { use: ::core::slice::SliceIndex, trait: SliceIndex, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 121 |     shroud_ty! { use: ::core::slice::SliceIndex, trait: SliceIndex, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 121 |     shroud_ty! { use: ::core::slice::SliceIndex, trait: SliceIndex, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 121 |     shroud_ty! { use: ::core::slice::SliceIndex, trait: SliceIndex, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 121 |     shroud_ty! { use: ::core::slice::SliceIndex, trait: SliceIndex, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 121 |     shroud_ty! { use: ::core::slice::SliceIndex, trait: SliceIndex, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 124 |         shroud_ty! { use: ::core::fmt::Binary, trait: Binary, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 124 |         shroud_ty! { use: ::core::fmt::Binary, trait: Binary, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 124 |         shroud_ty! { use: ::core::fmt::Binary, trait: Binary, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 124 |         shroud_ty! { use: ::core::fmt::Binary, trait: Binary, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 124 |         shroud_ty! { use: ::core::fmt::Binary, trait: Binary, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 124 |         shroud_ty! { use: ::core::fmt::Binary, trait: Binary, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 124 |         shroud_ty! { use: ::core::fmt::Binary, trait: Binary, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 124 |         shroud_ty! { use: ::core::fmt::Binary, trait: Binary, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 125 |         shroud_ty! { use: ::core::fmt::Debug, trait: Debug, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 125 |         shroud_ty! { use: ::core::fmt::Debug, trait: Debug, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 125 |         shroud_ty! { use: ::core::fmt::Debug, trait: Debug, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 125 |         shroud_ty! { use: ::core::fmt::Debug, trait: Debug, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 125 |         shroud_ty! { use: ::core::fmt::Debug, trait: Debug, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 125 |         shroud_ty! { use: ::core::fmt::Debug, trait: Debug, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 125 |         shroud_ty! { use: ::core::fmt::Debug, trait: Debug, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 125 |         shroud_ty! { use: ::core::fmt::Debug, trait: Debug, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 126 |         shroud_ty! { use: ::core::fmt::Display, trait: Display, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 126 |         shroud_ty! { use: ::core::fmt::Display, trait: Display, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 126 |         shroud_ty! { use: ::core::fmt::Display, trait: Display, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 126 |         shroud_ty! { use: ::core::fmt::Display, trait: Display, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 126 |         shroud_ty! { use: ::core::fmt::Display, trait: Display, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 126 |         shroud_ty! { use: ::core::fmt::Display, trait: Display, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 126 |         shroud_ty! { use: ::core::fmt::Display, trait: Display, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 126 |         shroud_ty! { use: ::core::fmt::Display, trait: Display, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 127 |         shroud_ty! { use: ::core::fmt::LowerExp, trait: LowerExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 127 |         shroud_ty! { use: ::core::fmt::LowerExp, trait: LowerExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 127 |         shroud_ty! { use: ::core::fmt::LowerExp, trait: LowerExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 127 |         shroud_ty! { use: ::core::fmt::LowerExp, trait: LowerExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 127 |         shroud_ty! { use: ::core::fmt::LowerExp, trait: LowerExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 127 |         shroud_ty! { use: ::core::fmt::LowerExp, trait: LowerExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 127 |         shroud_ty! { use: ::core::fmt::LowerExp, trait: LowerExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 127 |         shroud_ty! { use: ::core::fmt::LowerExp, trait: LowerExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 128 |         shroud_ty! { use: ::core::fmt::LowerHex, trait: LowerHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 128 |         shroud_ty! { use: ::core::fmt::LowerHex, trait: LowerHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 128 |         shroud_ty! { use: ::core::fmt::LowerHex, trait: LowerHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 128 |         shroud_ty! { use: ::core::fmt::LowerHex, trait: LowerHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 128 |         shroud_ty! { use: ::core::fmt::LowerHex, trait: LowerHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 128 |         shroud_ty! { use: ::core::fmt::LowerHex, trait: LowerHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 128 |         shroud_ty! { use: ::core::fmt::LowerHex, trait: LowerHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 128 |         shroud_ty! { use: ::core::fmt::LowerHex, trait: LowerHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 129 |         shroud_ty! { use: ::core::fmt::Octal, trait: Octal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 129 |         shroud_ty! { use: ::core::fmt::Octal, trait: Octal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 129 |         shroud_ty! { use: ::core::fmt::Octal, trait: Octal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 129 |         shroud_ty! { use: ::core::fmt::Octal, trait: Octal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 129 |         shroud_ty! { use: ::core::fmt::Octal, trait: Octal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 129 |         shroud_ty! { use: ::core::fmt::Octal, trait: Octal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 129 |         shroud_ty! { use: ::core::fmt::Octal, trait: Octal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 129 |         shroud_ty! { use: ::core::fmt::Octal, trait: Octal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 130 |         shroud_ty! { use: ::core::fmt::Pointer, trait: Pointer, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 130 |         shroud_ty! { use: ::core::fmt::Pointer, trait: Pointer, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 130 |         shroud_ty! { use: ::core::fmt::Pointer, trait: Pointer, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 130 |         shroud_ty! { use: ::core::fmt::Pointer, trait: Pointer, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 130 |         shroud_ty! { use: ::core::fmt::Pointer, trait: Pointer, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 130 |         shroud_ty! { use: ::core::fmt::Pointer, trait: Pointer, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 130 |         shroud_ty! { use: ::core::fmt::Pointer, trait: Pointer, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 130 |         shroud_ty! { use: ::core::fmt::Pointer, trait: Pointer, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 131 |         shroud_ty! { use: ::core::fmt::UpperExp, trait: UpperExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 131 |         shroud_ty! { use: ::core::fmt::UpperExp, trait: UpperExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 131 |         shroud_ty! { use: ::core::fmt::UpperExp, trait: UpperExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 131 |         shroud_ty! { use: ::core::fmt::UpperExp, trait: UpperExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 131 |         shroud_ty! { use: ::core::fmt::UpperExp, trait: UpperExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 131 |         shroud_ty! { use: ::core::fmt::UpperExp, trait: UpperExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 131 |         shroud_ty! { use: ::core::fmt::UpperExp, trait: UpperExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 131 |         shroud_ty! { use: ::core::fmt::UpperExp, trait: UpperExp, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 132 |         shroud_ty! { use: ::core::fmt::UpperHex, trait: UpperHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 132 |         shroud_ty! { use: ::core::fmt::UpperHex, trait: UpperHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 132 |         shroud_ty! { use: ::core::fmt::UpperHex, trait: UpperHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 132 |         shroud_ty! { use: ::core::fmt::UpperHex, trait: UpperHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 132 |         shroud_ty! { use: ::core::fmt::UpperHex, trait: UpperHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 132 |         shroud_ty! { use: ::core::fmt::UpperHex, trait: UpperHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 132 |         shroud_ty! { use: ::core::fmt::UpperHex, trait: UpperHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 132 |         shroud_ty! { use: ::core::fmt::UpperHex, trait: UpperHex, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 133 |         shroud_ty! { use: ::core::fmt::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 133 |         shroud_ty! { use: ::core::fmt::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 133 |         shroud_ty! { use: ::core::fmt::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 133 |         shroud_ty! { use: ::core::fmt::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 133 |         shroud_ty! { use: ::core::fmt::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 133 |         shroud_ty! { use: ::core::fmt::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 133 |         shroud_ty! { use: ::core::fmt::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 133 |         shroud_ty! { use: ::core::fmt::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 137 |         shroud_ty! { use: ::core::ops::AddAssign, trait: AddAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 137 |         shroud_ty! { use: ::core::ops::AddAssign, trait: AddAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 137 |         shroud_ty! { use: ::core::ops::AddAssign, trait: AddAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 137 |         shroud_ty! { use: ::core::ops::AddAssign, trait: AddAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 137 |         shroud_ty! { use: ::core::ops::AddAssign, trait: AddAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 137 |         shroud_ty! { use: ::core::ops::AddAssign, trait: AddAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 137 |         shroud_ty! { use: ::core::ops::AddAssign, trait: AddAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 137 |         shroud_ty! { use: ::core::ops::AddAssign, trait: AddAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 138 | ...   shroud_ty! { use: ::core::ops::BitAndAssign, trait: BitAndAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 138 | ...   shroud_ty! { use: ::core::ops::BitAndAssign, trait: BitAndAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 138 | ...   shroud_ty! { use: ::core::ops::BitAndAssign, trait: BitAndAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 138 | ...   shroud_ty! { use: ::core::ops::BitAndAssign, trait: BitAndAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 138 | ...   shroud_ty! { use: ::core::ops::BitAndAssign, trait: BitAndAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 138 | ...   shroud_ty! { use: ::core::ops::BitAndAssign, trait: BitAndAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 138 | ...   shroud_ty! { use: ::core::ops::BitAndAssign, trait: BitAndAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 138 | ...   shroud_ty! { use: ::core::ops::BitAndAssign, trait: BitAndAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 139 | ...   shroud_ty! { use: ::core::ops::BitOrAssign, trait: BitOrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       --------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 139 | ...   shroud_ty! { use: ::core::ops::BitOrAssign, trait: BitOrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       --------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 139 | ...   shroud_ty! { use: ::core::ops::BitOrAssign, trait: BitOrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       --------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 139 | ...   shroud_ty! { use: ::core::ops::BitOrAssign, trait: BitOrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       --------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 139 | ...   shroud_ty! { use: ::core::ops::BitOrAssign, trait: BitOrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       --------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 139 | ...   shroud_ty! { use: ::core::ops::BitOrAssign, trait: BitOrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       --------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 139 | ...   shroud_ty! { use: ::core::ops::BitOrAssign, trait: BitOrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       --------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 139 | ...   shroud_ty! { use: ::core::ops::BitOrAssign, trait: BitOrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       --------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 140 | ...   shroud_ty! { use: ::core::ops::BitXorAssign, trait: BitXorAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 140 | ...   shroud_ty! { use: ::core::ops::BitXorAssign, trait: BitXorAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 140 | ...   shroud_ty! { use: ::core::ops::BitXorAssign, trait: BitXorAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 140 | ...   shroud_ty! { use: ::core::ops::BitXorAssign, trait: BitXorAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 140 | ...   shroud_ty! { use: ::core::ops::BitXorAssign, trait: BitXorAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 140 | ...   shroud_ty! { use: ::core::ops::BitXorAssign, trait: BitXorAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 140 | ...   shroud_ty! { use: ::core::ops::BitXorAssign, trait: BitXorAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 | ...                   unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                    ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 140 | ...   shroud_ty! { use: ::core::ops::BitXorAssign, trait: BitXorAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |       ----------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 141 |         shroud_ty! { use: ::core::ops::Deref, trait: Deref, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 141 |         shroud_ty! { use: ::core::ops::Deref, trait: Deref, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 141 |         shroud_ty! { use: ::core::ops::Deref, trait: Deref, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 141 |         shroud_ty! { use: ::core::ops::Deref, trait: Deref, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 141 |         shroud_ty! { use: ::core::ops::Deref, trait: Deref, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 141 |         shroud_ty! { use: ::core::ops::Deref, trait: Deref, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 141 |         shroud_ty! { use: ::core::ops::Deref, trait: Deref, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 141 |         shroud_ty! { use: ::core::ops::Deref, trait: Deref, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 142 |         shroud_ty! { use: ::core::ops::DerefMut, trait: DerefMut, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 142 |         shroud_ty! { use: ::core::ops::DerefMut, trait: DerefMut, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 142 |         shroud_ty! { use: ::core::ops::DerefMut, trait: DerefMut, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 142 |         shroud_ty! { use: ::core::ops::DerefMut, trait: DerefMut, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 142 |         shroud_ty! { use: ::core::ops::DerefMut, trait: DerefMut, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 142 |         shroud_ty! { use: ::core::ops::DerefMut, trait: DerefMut, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 142 |         shroud_ty! { use: ::core::ops::DerefMut, trait: DerefMut, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 142 |         shroud_ty! { use: ::core::ops::DerefMut, trait: DerefMut, generics: (), bounds: (), associates: (Target), dynamic: true }
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 143 |         shroud_ty! { use: ::core::ops::DivAssign, trait: DivAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 143 |         shroud_ty! { use: ::core::ops::DivAssign, trait: DivAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 143 |         shroud_ty! { use: ::core::ops::DivAssign, trait: DivAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 143 |         shroud_ty! { use: ::core::ops::DivAssign, trait: DivAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 143 |         shroud_ty! { use: ::core::ops::DivAssign, trait: DivAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 143 |         shroud_ty! { use: ::core::ops::DivAssign, trait: DivAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 143 |         shroud_ty! { use: ::core::ops::DivAssign, trait: DivAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 143 |         shroud_ty! { use: ::core::ops::DivAssign, trait: DivAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 144 |         shroud_ty! { use: ::core::ops::Drop, trait: Drop, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 144 |         shroud_ty! { use: ::core::ops::Drop, trait: Drop, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 144 |         shroud_ty! { use: ::core::ops::Drop, trait: Drop, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 144 |         shroud_ty! { use: ::core::ops::Drop, trait: Drop, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 144 |         shroud_ty! { use: ::core::ops::Drop, trait: Drop, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 144 |         shroud_ty! { use: ::core::ops::Drop, trait: Drop, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 144 |         shroud_ty! { use: ::core::ops::Drop, trait: Drop, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 144 |         shroud_ty! { use: ::core::ops::Drop, trait: Drop, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 145 |         shroud_ty! { use: ::core::ops::Index, trait: Index, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 145 |         shroud_ty! { use: ::core::ops::Index, trait: Index, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 145 |         shroud_ty! { use: ::core::ops::Index, trait: Index, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 145 |         shroud_ty! { use: ::core::ops::Index, trait: Index, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 145 |         shroud_ty! { use: ::core::ops::Index, trait: Index, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 145 |         shroud_ty! { use: ::core::ops::Index, trait: Index, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 145 |         shroud_ty! { use: ::core::ops::Index, trait: Index, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 145 |         shroud_ty! { use: ::core::ops::Index, trait: Index, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 146 |         shroud_ty! { use: ::core::ops::IndexMut, trait: IndexMut, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 146 |         shroud_ty! { use: ::core::ops::IndexMut, trait: IndexMut, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 146 |         shroud_ty! { use: ::core::ops::IndexMut, trait: IndexMut, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 146 |         shroud_ty! { use: ::core::ops::IndexMut, trait: IndexMut, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 146 |         shroud_ty! { use: ::core::ops::IndexMut, trait: IndexMut, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 146 |         shroud_ty! { use: ::core::ops::IndexMut, trait: IndexMut, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 146 |         shroud_ty! { use: ::core::ops::IndexMut, trait: IndexMut, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 146 |         shroud_ty! { use: ::core::ops::IndexMut, trait: IndexMut, generics: (T), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |         -------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 147 |         shroud_ty! { use: ::core::ops::MulAssign, trait: MulAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 147 |         shroud_ty! { use: ::core::ops::MulAssign, trait: MulAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 147 |         shroud_ty! { use: ::core::ops::MulAssign, trait: MulAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 147 |         shroud_ty! { use: ::core::ops::MulAssign, trait: MulAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 147 |         shroud_ty! { use: ::core::ops::MulAssign, trait: MulAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 147 |         shroud_ty! { use: ::core::ops::MulAssign, trait: MulAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 147 |         shroud_ty! { use: ::core::ops::MulAssign, trait: MulAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 147 |         shroud_ty! { use: ::core::ops::MulAssign, trait: MulAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 148 |         shroud_ty! { use: ::core::ops::RemAssign, trait: RemAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 148 |         shroud_ty! { use: ::core::ops::RemAssign, trait: RemAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 148 |         shroud_ty! { use: ::core::ops::RemAssign, trait: RemAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 148 |         shroud_ty! { use: ::core::ops::RemAssign, trait: RemAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 148 |         shroud_ty! { use: ::core::ops::RemAssign, trait: RemAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 148 |         shroud_ty! { use: ::core::ops::RemAssign, trait: RemAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 148 |         shroud_ty! { use: ::core::ops::RemAssign, trait: RemAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 148 |         shroud_ty! { use: ::core::ops::RemAssign, trait: RemAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 149 |         shroud_ty! { use: ::core::ops::ShlAssign, trait: ShlAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 149 |         shroud_ty! { use: ::core::ops::ShlAssign, trait: ShlAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 149 |         shroud_ty! { use: ::core::ops::ShlAssign, trait: ShlAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 149 |         shroud_ty! { use: ::core::ops::ShlAssign, trait: ShlAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 149 |         shroud_ty! { use: ::core::ops::ShlAssign, trait: ShlAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 149 |         shroud_ty! { use: ::core::ops::ShlAssign, trait: ShlAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 149 |         shroud_ty! { use: ::core::ops::ShlAssign, trait: ShlAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 149 |         shroud_ty! { use: ::core::ops::ShlAssign, trait: ShlAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 150 |         shroud_ty! { use: ::core::ops::ShrAssign, trait: ShrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 150 |         shroud_ty! { use: ::core::ops::ShrAssign, trait: ShrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 150 |         shroud_ty! { use: ::core::ops::ShrAssign, trait: ShrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 150 |         shroud_ty! { use: ::core::ops::ShrAssign, trait: ShrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 150 |         shroud_ty! { use: ::core::ops::ShrAssign, trait: ShrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 150 |         shroud_ty! { use: ::core::ops::ShrAssign, trait: ShrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 150 |         shroud_ty! { use: ::core::ops::ShrAssign, trait: ShrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 150 |         shroud_ty! { use: ::core::ops::ShrAssign, trait: ShrAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 151 |         shroud_ty! { use: ::core::ops::SubAssign, trait: SubAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 151 |         shroud_ty! { use: ::core::ops::SubAssign, trait: SubAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 151 |         shroud_ty! { use: ::core::ops::SubAssign, trait: SubAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 151 |         shroud_ty! { use: ::core::ops::SubAssign, trait: SubAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 151 |         shroud_ty! { use: ::core::ops::SubAssign, trait: SubAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 151 |         shroud_ty! { use: ::core::ops::SubAssign, trait: SubAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 151 |         shroud_ty! { use: ::core::ops::SubAssign, trait: SubAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 151 |         shroud_ty! { use: ::core::ops::SubAssign, trait: SubAssign, generics: (), bounds: (T: Sized), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 160 |         shroud_ty! { use: ::std::io::BufRead, trait: BufRead, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 160 |         shroud_ty! { use: ::std::io::BufRead, trait: BufRead, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 160 |         shroud_ty! { use: ::std::io::BufRead, trait: BufRead, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 160 |         shroud_ty! { use: ::std::io::BufRead, trait: BufRead, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 160 |         shroud_ty! { use: ::std::io::BufRead, trait: BufRead, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 160 |         shroud_ty! { use: ::std::io::BufRead, trait: BufRead, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 160 |         shroud_ty! { use: ::std::io::BufRead, trait: BufRead, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 160 |         shroud_ty! { use: ::std::io::BufRead, trait: BufRead, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 161 |         shroud_ty! { use: ::std::io::IsTerminal, trait: IsTerminal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 161 |         shroud_ty! { use: ::std::io::IsTerminal, trait: IsTerminal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 161 |         shroud_ty! { use: ::std::io::IsTerminal, trait: IsTerminal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 161 |         shroud_ty! { use: ::std::io::IsTerminal, trait: IsTerminal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 161 |         shroud_ty! { use: ::std::io::IsTerminal, trait: IsTerminal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 161 |         shroud_ty! { use: ::std::io::IsTerminal, trait: IsTerminal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 161 |         shroud_ty! { use: ::std::io::IsTerminal, trait: IsTerminal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 161 |         shroud_ty! { use: ::std::io::IsTerminal, trait: IsTerminal, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 162 |         shroud_ty! { use: ::std::io::Read, trait: Read, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 162 |         shroud_ty! { use: ::std::io::Read, trait: Read, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 162 |         shroud_ty! { use: ::std::io::Read, trait: Read, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 162 |         shroud_ty! { use: ::std::io::Read, trait: Read, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 162 |         shroud_ty! { use: ::std::io::Read, trait: Read, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 162 |         shroud_ty! { use: ::std::io::Read, trait: Read, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 162 |         shroud_ty! { use: ::std::io::Read, trait: Read, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 162 |         shroud_ty! { use: ::std::io::Read, trait: Read, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 163 |         shroud_ty! { use: ::std::io::Seek, trait: Seek, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 163 |         shroud_ty! { use: ::std::io::Seek, trait: Seek, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 163 |         shroud_ty! { use: ::std::io::Seek, trait: Seek, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 163 |         shroud_ty! { use: ::std::io::Seek, trait: Seek, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 163 |         shroud_ty! { use: ::std::io::Seek, trait: Seek, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 163 |         shroud_ty! { use: ::std::io::Seek, trait: Seek, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 163 |         shroud_ty! { use: ::std::io::Seek, trait: Seek, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 163 |         shroud_ty! { use: ::std::io::Seek, trait: Seek, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 164 |         shroud_ty! { use: ::std::io::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 164 |         shroud_ty! { use: ::std::io::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 164 |         shroud_ty! { use: ::std::io::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 164 |         shroud_ty! { use: ::std::io::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 164 |         shroud_ty! { use: ::std::io::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 164 |         shroud_ty! { use: ::std::io::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 164 |         shroud_ty! { use: ::std::io::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 164 |         shroud_ty! { use: ::std::io::Write, trait: Write, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 165 |         shroud_ty! { use: ::std::string::ToString, trait: ToString, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 165 |         shroud_ty! { use: ::std::string::ToString, trait: ToString, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 165 |         shroud_ty! { use: ::std::string::ToString, trait: ToString, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 165 |         shroud_ty! { use: ::std::string::ToString, trait: ToString, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 165 |         shroud_ty! { use: ::std::string::ToString, trait: ToString, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 165 |         shroud_ty! { use: ::std::string::ToString, trait: ToString, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 165 |         shroud_ty! { use: ::std::string::ToString, trait: ToString, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 165 |         shroud_ty! { use: ::std::string::ToString, trait: ToString, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 101 |     shroud_ty! { use: ::core::borrow::Borrow, trait: Borrow, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 102 |     shroud_ty! { use: ::core::borrow::BorrowMut, trait: BorrowMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 103 |     shroud_ty! { use: ::core::cmp::PartialEq, trait: PartialEq, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 104 |     shroud_ty! { use: ::core::cmp::PartialOrd, trait: PartialOrd, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 105 |     shroud_ty! { use: ::core::convert::AsMut, trait: AsMut, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 106 |     shroud_ty! { use: ::core::convert::AsRef, trait: AsRef, generics: (T), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 108 |     shroud_ty! { use: ::core::error::Error, trait: Error, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     --------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 109 |     shroud_ty! { use: ::core::future::Future, trait: Future, generics: (), bounds: (), associates: (Output), dynamic: true }
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 110 |     shroud_ty! { use: ::core::hash::BuildHasher, trait: BuildHasher, generics: (), bounds: (), associates: (Hasher), dynamic: true }
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 111 |     shroud_ty! { use: ::core::hash::Hasher, trait: Hasher, generics: (), bounds: (), associates: (), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[INFO] [stdout]     |                                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:94:66
[INFO] [stdout]     |
[INFO] [stdout]  94 |                     unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                  |
[INFO] [stdout]     |                                                                  the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                  ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 168 |     shroud_fn!(Fn(T0, T1, T2, T3, T4, T5, T6, T7) -> T);
[INFO] [stdout]     |     --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  91 |             impl<$($parameter,)* $return, TConcrete: 'static $function($($parameter),*) -> $return $(+ $trait)*> $crate::shroud::Shroud<TConcrete> for dyn $function($($parameter),*) -> $return $(+ $trait)* {
[INFO] [stdout]     |                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `TConcrete` may not live long enough
[INFO] [stdout]    --> src/shroud.rs:49:70
[INFO] [stdout]     |
[INFO] [stdout]  49 |                         unsafe { ::core::ptr::NonNull::new_unchecked(from.as_ptr() as *mut _) }
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      the parameter type `TConcrete` must be valid for the static lifetime...
[INFO] [stdout]     |                                                                      ...so that the type `TConcrete` will meet its required lifetime bounds
[INFO] [stdout] ...
[INFO] [stdout] 112 |     shroud_ty! { use: ::core::iter::DoubleEndedIterator, trait: DoubleEndedIterator, generics: (), bounds: (), associates: (Item), dynamic: true }
[INFO] [stdout]     |     ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `shroud_ty` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout]  46 |                 impl<$($generic: ?Sized,)* $($name,)* TConcrete: 'static $trait<$($generic,)* $($name,)*> $(+ $traits)*> $crate::shroud::Shroud<TConcrete> for dyn $trait<$($generic,)* $($name,)* $($associate = TConcrete::$associate,)*> $(+ $traits)* where $($name: $bound,)* {
[WARN] too many lines in the log, truncating it
