File tree Expand file tree Collapse file tree 2 files changed +5
-5
lines changed Expand file tree Collapse file tree 2 files changed +5
-5
lines changed Original file line number Diff line number Diff line change 2
2
refs/heads/master: cd6f24f9d14ac90d167386a56e7a6ac1f0318195
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: cd6f24f9d14ac90d167386a56e7a6ac1f0318195
5
- refs/heads/try: 2ed00ff9286a26119168e08f25cb33f25d39ef33
5
+ refs/heads/try: 6d84d867360c99a8664118ff44c58c0f838a4cfc
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: d0c6ce338884ee21843f4b40bf6bf18d222ce5df
Original file line number Diff line number Diff line change @@ -43,7 +43,7 @@ struct Future<A> {
43
43
priv enum FutureState <A > {
44
44
Pending ( fn ~( ) -> A ) ,
45
45
Evaluating ,
46
- Forced ( A )
46
+ Forced ( ~ A )
47
47
}
48
48
49
49
/// Methods on the `future` type
@@ -75,7 +75,7 @@ fn from_value<A>(+val: A) -> Future<A> {
75
75
* not block.
76
76
*/
77
77
78
- Future { state : Forced ( val) }
78
+ Future { state : Forced ( ~ val) }
79
79
}
80
80
81
81
fn from_port < A : Send > ( +port : future_pipe:: client:: waiting < A > ) -> Future < A > {
@@ -139,7 +139,7 @@ fn get_ref<A>(future: &r/Future<A>) -> &r/A {
139
139
140
140
match future. state {
141
141
Forced ( ref v) => { // v here has type &A, but with a shorter lifetime.
142
- return unsafe { copy_lifetime ( future, v) } ; // ...extend it.
142
+ return unsafe { copy_lifetime ( future, & * * v) } ; // ...extend it.
143
143
}
144
144
Evaluating => {
145
145
fail ~"Recursive forcing of future!";
@@ -154,7 +154,7 @@ fn get_ref<A>(future: &r/Future<A>) -> &r/A {
154
154
fail ~" Logic error. ";
155
155
}
156
156
Pending ( move f) => {
157
- future. state = Forced ( f ( ) ) ;
157
+ future. state = Forced ( ~ f ( ) ) ;
158
158
return get_ref ( future) ;
159
159
}
160
160
}
You can’t perform that action at this time.
0 commit comments