Skip to content

Commit aa232e9

Browse files
committed
---
yaml --- r: 67221 b: refs/heads/master c: 9a093ab h: refs/heads/master i: 67219: eef6dfb v: v3
1 parent 2dcf5d1 commit aa232e9

File tree

2 files changed

+19
-27
lines changed

2 files changed

+19
-27
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: d5803e67eecda097932424a6c7b52cd1addd76b9
2+
refs/heads/master: 9a093ab70a7d7b12e9cddf644e1a975375937465
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 18e3db7392d2d0697b7e27d6d986139960144d85
55
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9

trunk/src/libextra/workcache.rs

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -330,37 +330,29 @@ impl<T:Send +
330330
pub fn new(p: @mut Prep, e: Either<T,PortOne<(Exec,T)>>) -> Work<T> {
331331
Work { prep: p, res: Some(e) }
332332
}
333-
}
334333

335-
// FIXME (#3724): movable self. This should be in impl Work.
336-
fn unwrap<T:Send +
337-
Encodable<json::Encoder> +
338-
Decodable<json::Decoder>>( // FIXME(#5121)
339-
w: Work<T>) -> T {
340-
let mut ww = w;
341-
let s = ww.res.take();
342-
343-
match s {
344-
None => fail!(),
345-
Some(Left(v)) => v,
346-
Some(Right(port)) => {
347-
let (exe, v) = recv_one(port);
348-
349-
let s = json_encode(&v);
350-
351-
let p = &*ww.prep;
352-
do p.ctxt.db.write |db| {
353-
db.cache(p.fn_name,
354-
&p.declared_inputs,
355-
&exe.discovered_inputs,
356-
&exe.discovered_outputs,
357-
s);
334+
pub fn unwrap(self) -> T {
335+
let Work { prep, res } = self;
336+
match res {
337+
None => fail!(),
338+
Some(Left(v)) => v,
339+
Some(Right(port)) => {
340+
let (exe, v) = recv_one(port);
341+
let s = json_encode(&v);
342+
do prep.ctxt.db.write |db| {
343+
db.cache(prep.fn_name,
344+
&prep.declared_inputs,
345+
&exe.discovered_inputs,
346+
&exe.discovered_outputs,
347+
s);
348+
}
349+
v
358350
}
359-
v
360351
}
361352
}
362353
}
363354

355+
364356
//#[test]
365357
fn test() {
366358
use std::io::WriterUtil;
@@ -385,6 +377,6 @@ fn test() {
385377
out.to_str()
386378
}
387379
};
388-
let s = unwrap(w);
380+
let s = w.unwrap();
389381
io::println(s);
390382
}

0 commit comments

Comments
 (0)