Skip to content

Commit 9325535

Browse files
committed
auto merge of #7978 : sstewartgallus/rust/rename_arc, r=bblum
To be more specific: `UPPERCASETYPE` was changed to `UppercaseType` `type_new` was changed to `Type::new` `type_function(value)` was changed to `value.method()`
2 parents 3078e83 + 39b3a05 commit 9325535

Some content is hidden

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

41 files changed

+427
-424
lines changed

doc/po/tutorial-tasks.md.pot

+17-17
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ msgstr ""
135135
#. type: Bullet: '* '
136136
#: doc/tutorial-tasks.md:56
137137
msgid ""
138-
"[`extra::arc`] - The ARC (atomically reference counted) type, for safely "
138+
"[`extra::arc`] - The Arc (atomically reference counted) type, for safely "
139139
"sharing immutable data,"
140140
msgstr ""
141141

@@ -597,7 +597,7 @@ msgstr ""
597597

598598
#. type: Plain text
599599
#: doc/tutorial-tasks.md:338
600-
msgid "## Sharing immutable data without copy: ARC"
600+
msgid "## Sharing immutable data without copy: Arc"
601601
msgstr ""
602602

603603
#. type: Plain text
@@ -613,18 +613,18 @@ msgstr ""
613613
#: doc/tutorial-tasks.md:347
614614
msgid ""
615615
"To tackle this issue, one can use an Atomically Reference Counted wrapper "
616-
"(`ARC`) as implemented in the `extra` library of Rust. With an ARC, the data "
617-
"will no longer be copied for each task. The ARC acts as a reference to the "
616+
"(`Arc`) as implemented in the `extra` library of Rust. With an Arc, the data "
617+
"will no longer be copied for each task. The Arc acts as a reference to the "
618618
"shared data and only this reference is shared and cloned."
619619
msgstr ""
620620

621621
#. type: Plain text
622622
#: doc/tutorial-tasks.md:355
623623
msgid ""
624-
"Here is a small example showing how to use ARCs. We wish to run concurrently "
624+
"Here is a small example showing how to use Arcs. We wish to run concurrently "
625625
"several computations on a single large vector of floats. Each task needs the "
626626
"full vector to perform its duty. ~~~ # use std::vec; # use std::uint; # use "
627-
"std::rand; use extra::arc::ARC;"
627+
"std::rand; use extra::arc::Arc;"
628628
msgstr ""
629629

630630
#. type: Plain text
@@ -648,7 +648,7 @@ msgstr ""
648648
#. type: Plain text
649649
#: doc/tutorial-tasks.md:365
650650
#, no-wrap
651-
msgid " let numbers_arc = ARC(numbers);\n"
651+
msgid " let numbers_arc = Arc::new(numbers);\n"
652652
msgstr ""
653653

654654
#. type: Plain text
@@ -665,7 +665,7 @@ msgstr ""
665665
#, no-wrap
666666
msgid ""
667667
" do spawn {\n"
668-
" let local_arc : ARC<~[float]> = port.recv();\n"
668+
" let local_arc : Arc<~[float]> = port.recv();\n"
669669
" let task_numbers = local_arc.get();\n"
670670
" println(fmt!(\"%u-norm = %?\", num, pnorm(task_numbers, num)));\n"
671671
" }\n"
@@ -679,31 +679,31 @@ msgstr ""
679679
msgid ""
680680
"The function `pnorm` performs a simple computation on the vector (it "
681681
"computes the sum of its items at the power given as argument and takes the "
682-
"inverse power of this value). The ARC on the vector is created by the line "
683-
"~~~ # use extra::arc::ARC; # use std::vec; # use std::rand; # let numbers = "
682+
"inverse power of this value). The Arc on the vector is created by the line "
683+
"~~~ # use extra::arc::Arc; # use std::vec; # use std::rand; # let numbers = "
684684
"vec::from_fn(1000000, |_| rand::random::<float>()); let "
685-
"numbers_arc=ARC(numbers); ~~~ and a clone of it is sent to each task ~~~ # "
686-
"use extra::arc::ARC; # use std::vec; # use std::rand; # let numbers=vec::"
685+
"numbers_arc=Arc::new(numbers); ~~~ and a clone of it is sent to each task ~~~ # "
686+
"use extra::arc::Arc; # use std::vec; # use std::rand; # let numbers=vec::"
687687
"from_fn(1000000, |_| rand::random::<float>()); # let numbers_arc = "
688-
"ARC(numbers); # let (port, chan) = stream(); chan.send(numbers_arc."
688+
"Arc::new(numbers); # let (port, chan) = stream(); chan.send(numbers_arc."
689689
"clone()); ~~~ copying only the wrapper and not its contents."
690690
msgstr ""
691691

692692
#. type: Plain text
693693
#: doc/tutorial-tasks.md:414
694694
msgid ""
695-
"Each task recovers the underlying data by ~~~ # use extra::arc::ARC; # use "
695+
"Each task recovers the underlying data by ~~~ # use extra::arc::Arc; # use "
696696
"std::vec; # use std::rand; # let numbers=vec::from_fn(1000000, |_| rand::"
697-
"random::<float>()); # let numbers_arc=ARC(numbers); # let (port, chan) = "
698-
"stream(); # chan.send(numbers_arc.clone()); # let local_arc : ARC<~[float]> "
697+
"random::<float>()); # let numbers_arc=Arc::new(numbers); # let (port, chan) = "
698+
"stream(); # chan.send(numbers_arc.clone()); # let local_arc : Arc<~[float]> "
699699
"= port.recv(); let task_numbers = local_arc.get(); ~~~ and can use it as if "
700700
"it were local."
701701
msgstr ""
702702

703703
#. type: Plain text
704704
#: doc/tutorial-tasks.md:416
705705
msgid ""
706-
"The `arc` module also implements ARCs around mutable data that are not "
706+
"The `arc` module also implements Arcs around mutable data that are not "
707707
"covered here."
708708
msgstr ""
709709

doc/tutorial-tasks.md

+17-17
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ concurrency at this writing:
5050
* [`std::pipes`] - The underlying messaging infrastructure,
5151
* [`extra::comm`] - Additional messaging types based on `std::pipes`,
5252
* [`extra::sync`] - More exotic synchronization tools, including locks,
53-
* [`extra::arc`] - The ARC (atomically reference counted) type,
53+
* [`extra::arc`] - The Arc (atomically reference counted) type,
5454
for safely sharing immutable data,
5555
* [`extra::future`] - A type representing values that may be computed concurrently and retrieved at a later time.
5656

@@ -334,24 +334,24 @@ fn main() {
334334
}
335335
~~~
336336

337-
## Sharing immutable data without copy: ARC
337+
## Sharing immutable data without copy: Arc
338338

339339
To share immutable data between tasks, a first approach would be to only use pipes as we have seen
340340
previously. A copy of the data to share would then be made for each task. In some cases, this would
341341
add up to a significant amount of wasted memory and would require copying the same data more than
342342
necessary.
343343

344-
To tackle this issue, one can use an Atomically Reference Counted wrapper (`ARC`) as implemented in
345-
the `extra` library of Rust. With an ARC, the data will no longer be copied for each task. The ARC
344+
To tackle this issue, one can use an Atomically Reference Counted wrapper (`Arc`) as implemented in
345+
the `extra` library of Rust. With an Arc, the data will no longer be copied for each task. The Arc
346346
acts as a reference to the shared data and only this reference is shared and cloned.
347347

348-
Here is a small example showing how to use ARCs. We wish to run concurrently several computations on
348+
Here is a small example showing how to use Arcs. We wish to run concurrently several computations on
349349
a single large vector of floats. Each task needs the full vector to perform its duty.
350350
~~~
351351
# use std::vec;
352352
# use std::uint;
353353
# use std::rand;
354-
use extra::arc::ARC;
354+
use extra::arc::Arc;
355355
356356
fn pnorm(nums: &~[float], p: uint) -> float {
357357
nums.iter().fold(0.0, |a,b| a+(*b).pow(&(p as float)) ).pow(&(1f / (p as float)))
@@ -361,14 +361,14 @@ fn main() {
361361
let numbers = vec::from_fn(1000000, |_| rand::random::<float>());
362362
println(fmt!("Inf-norm = %?", *numbers.iter().max().unwrap()));
363363
364-
let numbers_arc = ARC(numbers);
364+
let numbers_arc = Arc::new(numbers);
365365
366366
for uint::range(1,10) |num| {
367367
let (port, chan) = stream();
368368
chan.send(numbers_arc.clone());
369369
370370
do spawn {
371-
let local_arc : ARC<~[float]> = port.recv();
371+
let local_arc : Arc<~[float]> = port.recv();
372372
let task_numbers = local_arc.get();
373373
println(fmt!("%u-norm = %?", num, pnorm(task_numbers, num)));
374374
}
@@ -377,42 +377,42 @@ fn main() {
377377
~~~
378378

379379
The function `pnorm` performs a simple computation on the vector (it computes the sum of its items
380-
at the power given as argument and takes the inverse power of this value). The ARC on the vector is
380+
at the power given as argument and takes the inverse power of this value). The Arc on the vector is
381381
created by the line
382382
~~~
383-
# use extra::arc::ARC;
383+
# use extra::arc::Arc;
384384
# use std::vec;
385385
# use std::rand;
386386
# let numbers = vec::from_fn(1000000, |_| rand::random::<float>());
387-
let numbers_arc=ARC(numbers);
387+
let numbers_arc=Arc::new(numbers);
388388
~~~
389389
and a clone of it is sent to each task
390390
~~~
391-
# use extra::arc::ARC;
391+
# use extra::arc::Arc;
392392
# use std::vec;
393393
# use std::rand;
394394
# let numbers=vec::from_fn(1000000, |_| rand::random::<float>());
395-
# let numbers_arc = ARC(numbers);
395+
# let numbers_arc = Arc::new(numbers);
396396
# let (port, chan) = stream();
397397
chan.send(numbers_arc.clone());
398398
~~~
399399
copying only the wrapper and not its contents.
400400

401401
Each task recovers the underlying data by
402402
~~~
403-
# use extra::arc::ARC;
403+
# use extra::arc::Arc;
404404
# use std::vec;
405405
# use std::rand;
406406
# let numbers=vec::from_fn(1000000, |_| rand::random::<float>());
407-
# let numbers_arc=ARC(numbers);
407+
# let numbers_arc=Arc::new(numbers);
408408
# let (port, chan) = stream();
409409
# chan.send(numbers_arc.clone());
410-
# let local_arc : ARC<~[float]> = port.recv();
410+
# let local_arc : Arc<~[float]> = port.recv();
411411
let task_numbers = local_arc.get();
412412
~~~
413413
and can use it as if it were local.
414414

415-
The `arc` module also implements ARCs around mutable data that are not covered here.
415+
The `arc` module also implements Arcs around mutable data that are not covered here.
416416

417417
# Handling task failure
418418

0 commit comments

Comments
 (0)