You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With rust version 1.79.0, build of this package (latest release version 0.11.4) fails with error[E0310]: the parameter type `T` may not live long enough:
Updating git repository `https://github.com/H-M-H/autopilot-rs.git`
Updating crates.io index
Downloaded block-padding v0.1.5
[...]
Compiling proc-macro2 v1.0.29
Compiling unicode-xid v0.2.2
[...]
Compiling log v0.3.9
error[E0310]: the parameter type `T` may not live long enough
--> /var/cache/makepkg/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustc-serialize-0.3.24/src/serialize.rs:1155:5
|
1155 | fn decode<D: Decoder>(d: &mut D) -> Result<Cow<'static, T>, D::Error> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| the parameter type `T` must be valid for the static lifetime...
| ...so that the type `T` will meet its required lifetime bounds...
|
note: ...that is required by this bound
--> /build/rust/src/rustc-1.79.0-src/library/alloc/src/borrow.rs:180:30
help: consider adding an explicit lifetime bound
|
1151 | impl<'a, T: ?Sized + 'static> Decodable for Cow<'a, T>
| +++++++++
Compiling pin-utils v0.1.0
[...]
Compiling matches v0.1.9
For more information about this error, try `rustc --explain E0310`.
error: could not compile `rustc-serialize` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
A parameter type is missing a lifetime constraint or has a lifetime that does not live long enough.
Erroneous code example:
// This won't compile because T is not constrained to the static lifetime
// the reference needs
struct Foo<T> {
foo: &'static T
}
Type parameters in type definitions have lifetimes associated with them that represent how long the data stored within them is guaranteed
to live. This lifetime must be as long as the data needs to be alive, and missing the constraint that denotes this will cause this error.
This will compile, because it has the constraint on the type parameter:
struct Foo<T: 'static> {
foo: &'static T
}
Regards!
The text was updated successfully, but these errors were encountered:
With rust version 1.79.0, build of this package (latest release version 0.11.4) fails with
error[E0310]: the parameter type `T` may not live long enough
:I am building according to this recipe.
rustc --explain E0310
shows:Regards!
The text was updated successfully, but these errors were encountered: