Skip to content

Commit 95566f4

Browse files
committed
---
yaml --- r: 23294 b: refs/heads/master c: 6d7b143 h: refs/heads/master v: v3
1 parent 2b4a53f commit 95566f4

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
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: 0e3825d38cc459f9fcb24f1e95d4f6e867265300
2+
refs/heads/master: 6d7b143036e1d61c8f58864db3445d2a0ae4ad11
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: cd6f24f9d14ac90d167386a56e7a6ac1f0318195
55
refs/heads/try: ffbe0e0e00374358b789b0037bcb3a577cd218be

trunk/src/libstd/cell.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ impl<T> Cell<T> {
3939
fn is_empty() -> bool {
4040
self.value.is_none()
4141
}
42+
43+
// Calls a closure with a reference to the value.
44+
fn with_ref(f: fn(v: &T)) {
45+
let val = move self.take();
46+
f(&val);
47+
self.put_back(move val);
48+
}
4249
}
4350

4451
#[test]
@@ -66,4 +73,4 @@ fn test_take_empty() {
6673
fn test_put_back_non_empty() {
6774
let value_cell = Cell(~10);
6875
value_cell.put_back(~20);
69-
}
76+
}

0 commit comments

Comments
 (0)