error: implementation of `zc::private::TryConstruct` is not general enough --> $DIR/non_static_error.rs:20:18 | 20 | let result = zc::try_from!(owner, MyStruct, [u8]); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't satisfy where-clause | ::: $WORKSPACE/src/private.rs | | / pub unsafe trait TryConstruct<'o, O>: Sized 35 | | where 36 | | O: ?Sized, 37 | | { ... | 41 | | unsafe fn try_construct(self, owned: &'o O) -> Result; 42 | | } | |_- trait `zc::private::TryConstruct` defined here | ::: $WORKSPACE/src/lib.rs | | / pub fn try_new(owner: O, constructor: C) -> Result 110 | | where 111 | | E: 'static, 112 | | C: for<'o> TryConstruct<'o, ::Target, Error = E, Dependant = D>, ... | 119 | | } 120 | | } | |_____- due to a where-clause on `Zc::::try_new`... | = note: ...`for<'r> fn(&'r [u8]) -> std::result::Result, as TryFrom<&'r [u8]>>::Error> {_new_fn}` must implement `zc::private::TryConstruct<'0, [u8]>`, for any lifetime `'0`... = note: ...but `for<'r> fn(&'r [u8]) -> std::result::Result, as TryFrom<&'r [u8]>>::Error> {_new_fn}` actually implements `zc::private::TryConstruct<'1, [u8]>`, for some specific lifetime `'1` = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)