Skip to content

Commit 8cb84f5

Browse files
committed
std: Change Cell constructor to new convention
1 parent 846545a commit 8cb84f5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+138
-137
lines changed

src/compiletest/compiletest.rc

+2-2
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ pub fn make_test_name(config: &config, testfile: &Path) -> test::TestName {
260260

261261
pub fn make_test_closure(config: &config, testfile: &Path) -> test::TestFn {
262262
use core::cell::Cell;
263-
let config = Cell(copy *config);
264-
let testfile = Cell(testfile.to_str());
263+
let config = Cell::new(copy *config);
264+
let testfile = Cell::new(testfile.to_str());
265265
test::DynTestFn(|| { runtest::run(config.take(), testfile.take()) })
266266
}

src/libextra/arc.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ mod tests {
558558
let arc = ~MutexARC(false);
559559
let arc2 = ~arc.clone();
560560
let (p,c) = comm::oneshot();
561-
let (c,p) = (Cell(c), Cell(p));
561+
let (c,p) = (Cell::new(c), Cell::new(p));
562562
do task::spawn || {
563563
// wait until parent gets in
564564
comm::recv_one(p.take());

src/libextra/flatpipes.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -791,8 +791,8 @@ mod test {
791791

792792
let addr0 = ip::v4::parse_addr("127.0.0.1");
793793

794-
let begin_connect_chan = Cell(begin_connect_chan);
795-
let accept_chan = Cell(accept_chan);
794+
let begin_connect_chan = Cell::new(begin_connect_chan);
795+
let accept_chan = Cell::new(accept_chan);
796796

797797
// The server task
798798
let addr = copy addr0;

src/libextra/future.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ pub fn from_port<A:Owned>(port: PortOne<A>) -> Future<A> {
109109
* waiting for the result to be received on the port.
110110
*/
111111

112-
let port = Cell(port);
112+
let port = Cell::new(port);
113113
do from_fn {
114114
recv_one(port.take())
115115
}
@@ -137,7 +137,7 @@ pub fn spawn<A:Owned>(blk: ~fn() -> A) -> Future<A> {
137137

138138
let (port, chan) = oneshot();
139139

140-
let chan = Cell(chan);
140+
let chan = Cell::new(chan);
141141
do task::spawn {
142142
let chan = chan.take();
143143
send_one(chan, blk());
@@ -204,7 +204,7 @@ mod test {
204204
#[test]
205205
fn test_sendable_future() {
206206
let expected = "schlorf";
207-
let f = Cell(do spawn { expected });
207+
let f = Cell::new(do spawn { expected });
208208
do task::spawn {
209209
let mut f = f.take();
210210
let actual = f.get();

src/libextra/net_tcp.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1830,7 +1830,7 @@ mod test {
18301830
let (server_po, server_ch) = stream::<~str>();
18311831
let server_ch = SharedChan::new(server_ch);
18321832
let server_ip_addr = ip::v4::parse_addr(server_ip);
1833-
let resp_cell = Cell(resp);
1833+
let resp_cell = Cell::new(resp);
18341834
let listen_result = listen(server_ip_addr, server_port, 128,
18351835
iotask,
18361836
// on_establish_cb -- called when listener is set up
@@ -1842,7 +1842,7 @@ mod test {
18421842
// risky to run this on the loop, but some users
18431843
// will want the POWER
18441844
|new_conn, kill_ch| {
1845-
let resp_cell2 = Cell(resp_cell.take());
1845+
let resp_cell2 = Cell::new(resp_cell.take());
18461846
debug!("SERVER: new connection!");
18471847
let (cont_po, cont_ch) = stream();
18481848
let server_ch = server_ch.clone();

src/libextra/rc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ mod test_rc {
105105

106106
#[test]
107107
fn test_clone() {
108-
let x = rc_from_owned(Cell(5));
108+
let x = rc_from_owned(Cell::new(5));
109109
let y = x.clone();
110110
do x.borrow().with_mut_ref |inner| {
111111
*inner = 20;
@@ -115,7 +115,7 @@ mod test_rc {
115115

116116
#[test]
117117
fn test_deep_clone() {
118-
let x = rc_from_owned(Cell(5));
118+
let x = rc_from_owned(Cell::new(5));
119119
let y = x.deep_clone();
120120
do x.borrow().with_mut_ref |inner| {
121121
*inner = 20;

src/libextra/sync.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -818,7 +818,7 @@ mod tests {
818818
let s = ~semaphore(1);
819819
let s2 = ~s.clone();
820820
let (p,c) = comm::stream();
821-
let child_data = Cell((s2, c));
821+
let child_data = Cell::new((s2, c));
822822
do s.access {
823823
let (s2, c) = child_data.take();
824824
do task::spawn || {
@@ -999,7 +999,7 @@ mod tests {
999999
let mut sibling_convos = ~[];
10001000
for 2.times {
10011001
let (p,c) = comm::stream();
1002-
let c = Cell(c);
1002+
let c = Cell::new(c);
10031003
sibling_convos.push(p);
10041004
let mi = ~m2.clone();
10051005
// spawn sibling task

src/libextra/test.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ pub fn run_test(force_ignore: bool,
568568
fn run_test_inner(desc: TestDesc,
569569
monitor_ch: SharedChan<MonitorMsg>,
570570
testfn: ~fn()) {
571-
let testfn_cell = ::core::cell::Cell(testfn);
571+
let testfn_cell = ::core::cell::Cell::new(testfn);
572572
do task::spawn {
573573
let mut result_future = None; // task::future_result(builder);
574574

src/libextra/timer.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ mod test {
282282

283283
for (times as uint).times {
284284
let mut rng = rand::rng();
285-
let expected = Cell(rng.gen_str(16u));
285+
let expected = Cell::new(rng.gen_str(16u));
286286
let (test_po, test_ch) = stream::<~str>();
287287
let hl_loop_clone = hl_loop.clone();
288288
do task::spawn() {

src/libextra/workcache.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ impl TPrep for Prep {
347347
_ => {
348348
let (port, chan) = oneshot();
349349
let blk = replace(&mut bo, None).unwrap();
350-
let chan = Cell(chan);
350+
let chan = Cell::new(chan);
351351

352352
do task::spawn {
353353
let exe = Exec {

src/librustc/middle/typeck/infer/region_inference.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ use middle::typeck::infer::cres;
546546
use util::common::indenter;
547547
use util::ppaux::note_and_explain_region;
548548

549-
use core::cell::{Cell, empty_cell};
549+
use core::cell::Cell;
550550
use core::hashmap::{HashMap, HashSet};
551551
use core::to_bytes;
552552
use core::uint;
@@ -633,7 +633,7 @@ pub fn RegionVarBindings(tcx: ty::ctxt) -> RegionVarBindings {
633633
RegionVarBindings {
634634
tcx: tcx,
635635
var_spans: ~[],
636-
values: empty_cell(),
636+
values: Cell::empty(),
637637
constraints: HashMap::new(),
638638
lubs: HashMap::new(),
639639
glbs: HashMap::new(),

src/librustdoc/astsrv.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ fn run<T>(owner: SrvOwner<T>, source: ~str, parse: Parser) -> T {
6565

6666
let (po, ch) = stream();
6767

68-
let source = Cell(source);
69-
let parse = Cell(parse);
68+
let source = Cell::new(source);
69+
let parse = Cell::new(parse);
7070
do task::spawn {
7171
act(&po, source.take(), parse.take());
7272
}

src/librustdoc/config.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ fn config_from_opts(
178178
}
179179
}
180180
};
181-
let process_output = Cell(process_output);
181+
let process_output = Cell::new(process_output);
182182
let result = do result::chain(result) |config| {
183183
let pandoc_cmd = getopts::opt_maybe_str(matches, opt_pandoc_cmd());
184184
let pandoc_cmd = maybe_find_pandoc(

src/librustdoc/markdown_pass.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use core::vec;
2828
use syntax;
2929

3030
pub fn mk_pass(writer_factory: WriterFactory) -> Pass {
31-
let writer_factory = Cell(writer_factory);
31+
let writer_factory = Cell::new(writer_factory);
3232
Pass {
3333
name: ~"markdown",
3434
f: |srv, doc| run(srv, doc, writer_factory.take())

src/librustdoc/text_pass.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use util::NominalOp;
2323
use core::cell::Cell;
2424

2525
pub fn mk_pass(name: ~str, op: @fn(&str) -> ~str) -> Pass {
26-
let op = Cell(op);
26+
let op = Cell::new(op);
2727
Pass {
2828
name: copy name,
2929
f: |srv: astsrv::Srv, doc: doc::Doc| -> doc::Doc {

src/librusti/rusti.rc

+2-2
Original file line numberDiff line numberDiff line change
@@ -365,8 +365,8 @@ pub fn run_line(repl: &mut Repl, in: @io::Reader, out: @io::Writer, line: ~str,
365365
}
366366
}
367367

368-
let line = Cell(line);
369-
let r = Cell(copy *repl);
368+
let line = Cell::new(line);
369+
let r = Cell::new(copy *repl);
370370
let result = do task::try {
371371
run(r.take(), line.take())
372372
};

src/libstd/cell.rs

+14-14
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,17 @@ pub struct Cell<T> {
2929
priv value: Option<T>
3030
}
3131

32-
/// Creates a new full cell with the given value.
33-
pub fn Cell<T>(value: T) -> Cell<T> {
34-
Cell { value: Some(value) }
35-
}
32+
pub impl<T> Cell<T> {
33+
/// Creates a new full cell with the given value.
34+
fn new(value: T) -> Cell<T> {
35+
Cell { value: Some(value) }
36+
}
3637

37-
/// Creates a new empty cell with no value inside.
38-
pub fn empty_cell<T>() -> Cell<T> {
39-
Cell { value: None }
40-
}
38+
/// Creates an empty cell.
39+
pub fn empty() -> Cell<T> {
40+
Cell { value: None }
41+
}
4142

42-
impl<T> Cell<T> {
4343
/// Yields the value, failing if the cell is empty.
4444
pub fn take(&self) -> T {
4545
let this = unsafe { transmute_mut(self) };
@@ -83,7 +83,7 @@ impl<T> Cell<T> {
8383

8484
#[test]
8585
fn test_basic() {
86-
let value_cell = Cell(~10);
86+
let value_cell = Cell::new(~10);
8787
assert!(!value_cell.is_empty());
8888
let value = value_cell.take();
8989
assert!(value == ~10);
@@ -96,22 +96,22 @@ fn test_basic() {
9696
#[should_fail]
9797
#[ignore(cfg(windows))]
9898
fn test_take_empty() {
99-
let value_cell = empty_cell::<~int>();
99+
let value_cell = Cell::empty::<~int>();
100100
value_cell.take();
101101
}
102102

103103
#[test]
104104
#[should_fail]
105105
#[ignore(cfg(windows))]
106106
fn test_put_back_non_empty() {
107-
let value_cell = Cell(~10);
107+
let value_cell = Cell::new(~10);
108108
value_cell.put_back(~20);
109109
}
110110

111111
#[test]
112112
fn test_with_ref() {
113113
let good = 6;
114-
let c = Cell(~[1, 2, 3, 4, 5, 6]);
114+
let c = Cell::new(~[1, 2, 3, 4, 5, 6]);
115115
let l = do c.with_ref() |v| { v.len() };
116116
assert_eq!(l, good);
117117
}
@@ -120,7 +120,7 @@ fn test_with_ref() {
120120
fn test_with_mut_ref() {
121121
let good = ~[1, 2, 3];
122122
let v = ~[1, 2];
123-
let c = Cell(v);
123+
let c = Cell::new(v);
124124
do c.with_mut_ref() |v| { v.push(3); }
125125
let v = c.take();
126126
assert_eq!(v, good);

src/libstd/rt/comm.rs

+16-16
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,8 @@ pub struct Port<T> {
309309

310310
pub fn stream<T: Owned>() -> (Port<T>, Chan<T>) {
311311
let (pone, cone) = oneshot();
312-
let port = Port { next: Cell(pone) };
313-
let chan = Chan { next: Cell(cone) };
312+
let port = Port { next: Cell::new(pone) };
313+
let chan = Chan { next: Cell::new(cone) };
314314
return (port, chan);
315315
}
316316

@@ -483,7 +483,7 @@ mod test {
483483
fn oneshot_multi_task_recv_then_send() {
484484
do run_in_newsched_task {
485485
let (port, chan) = oneshot::<~int>();
486-
let port_cell = Cell(port);
486+
let port_cell = Cell::new(port);
487487
do spawntask_immediately {
488488
assert!(port_cell.take().recv() == ~10);
489489
}
@@ -496,8 +496,8 @@ mod test {
496496
fn oneshot_multi_task_recv_then_close() {
497497
do run_in_newsched_task {
498498
let (port, chan) = oneshot::<~int>();
499-
let port_cell = Cell(port);
500-
let chan_cell = Cell(chan);
499+
let port_cell = Cell::new(port);
500+
let chan_cell = Cell::new(chan);
501501
do spawntask_later {
502502
let _cell = chan_cell.take();
503503
}
@@ -513,7 +513,7 @@ mod test {
513513
for stress_factor().times {
514514
do run_in_newsched_task {
515515
let (port, chan) = oneshot::<int>();
516-
let port_cell = Cell(port);
516+
let port_cell = Cell::new(port);
517517
let _thread = do spawntask_thread {
518518
let _p = port_cell.take();
519519
};
@@ -527,8 +527,8 @@ mod test {
527527
for stress_factor().times {
528528
do run_in_newsched_task {
529529
let (port, chan) = oneshot::<int>();
530-
let chan_cell = Cell(chan);
531-
let port_cell = Cell(port);
530+
let chan_cell = Cell::new(chan);
531+
let port_cell = Cell::new(port);
532532
let _thread1 = do spawntask_thread {
533533
let _p = port_cell.take();
534534
};
@@ -545,17 +545,17 @@ mod test {
545545
for stress_factor().times {
546546
do run_in_newsched_task {
547547
let (port, chan) = oneshot::<int>();
548-
let chan_cell = Cell(chan);
549-
let port_cell = Cell(port);
548+
let chan_cell = Cell::new(chan);
549+
let port_cell = Cell::new(port);
550550
let _thread1 = do spawntask_thread {
551-
let port_cell = Cell(port_cell.take());
551+
let port_cell = Cell::new(port_cell.take());
552552
let res = do spawntask_try {
553553
port_cell.take().recv();
554554
};
555555
assert!(res.is_err());
556556
};
557557
let _thread2 = do spawntask_thread {
558-
let chan_cell = Cell(chan_cell.take());
558+
let chan_cell = Cell::new(chan_cell.take());
559559
do spawntask {
560560
chan_cell.take();
561561
}
@@ -569,8 +569,8 @@ mod test {
569569
for stress_factor().times {
570570
do run_in_newsched_task {
571571
let (port, chan) = oneshot::<~int>();
572-
let chan_cell = Cell(chan);
573-
let port_cell = Cell(port);
572+
let chan_cell = Cell::new(chan);
573+
let port_cell = Cell::new(port);
574574
let _thread1 = do spawntask_thread {
575575
chan_cell.take().send(~10);
576576
};
@@ -593,7 +593,7 @@ mod test {
593593
fn send(chan: Chan<~int>, i: int) {
594594
if i == 10 { return }
595595

596-
let chan_cell = Cell(chan);
596+
let chan_cell = Cell::new(chan);
597597
let _thread = do spawntask_thread {
598598
let chan = chan_cell.take();
599599
chan.send(~i);
@@ -604,7 +604,7 @@ mod test {
604604
fn recv(port: Port<~int>, i: int) {
605605
if i == 10 { return }
606606

607-
let port_cell = Cell(port);
607+
let port_cell = Cell::new(port);
608608
let _thread = do spawntask_thread {
609609
let port = port_cell.take();
610610
assert!(port.recv() == ~i);

0 commit comments

Comments
 (0)