Skip to content

Commit

Permalink
Clean up E0310 explanation
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Feb 18, 2020
1 parent dbef353 commit 73283f1
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions src/librustc_error_codes/error_codes/E0310.md
@@ -1,7 +1,7 @@
Types in type definitions have lifetimes associated with them that represent
how long the data stored within them is guaranteed to be 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.
A parameter type is missing a lifetime constraint or has a lifetime that
does not live long enough.

Erroneous code example:

```compile_fail,E0310
// This won't compile because T is not constrained to the static lifetime
Expand All @@ -11,6 +11,11 @@ struct Foo<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:

```
Expand Down

0 comments on commit 73283f1

Please sign in to comment.