File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Expand file tree Collapse file tree 1 file changed +4
-4
lines changed 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