Commit d4a6d81
fix(lifetimes): correct lifetime pattern to separate out server state from mw state
Correct lifetimes in response to errors found by rust-lang/rust#27641;
the lifetime parameters on request ('a, 'b, 'k) seem to play the
following roles:
'a, 'b -- these represent the processing of this individual request.
They can vary.
'k -- this represents the lifetime of the server's internal, mutable
storage. It is fixed.
If you only have two parameters 'x and 'y to supply, then, the correct
pattern is `'x, 'x, 'y`, because then `'x` plays the role of the
intersection of `'a` and `'b`, but `'y` is pinned to the server's
internal storage.
BREAKING CHANGE:
Most type signatures involving `Request` will have broken, to fix code
broken by this change, you will need to remove the third lifetime.1 parent 3fd622f commit d4a6d81
File tree
6 files changed
+8
-8
lines changed- src
- macros
- router
6 files changed
+8
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
| 25 | + | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | | - | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
0 commit comments