about summary refs log tree commit diff
path: root/src/libextra/arc.rs
AgeCommit message (Collapse)AuthorLines
2014-02-05move concurrent stuff from libextra to libsyncJeremyLetang-1074/+0
2014-02-04auto merge of #11230 : csherratt/rust/cow, r=alexcrichtonbors-0/+108
This allows patch adds a new arc type that allows for creation of copy-on-write data structures. The idea is that it is safe to mutate any data structure as long as it has only one reference to it. If there are multiple, it requires cloning of the data structure before mutation is possible.
2014-02-03extra: Fix tests with io_error usageAlex Crichton-10/+10
2014-01-31Introduce marker types for indicating variance and for opting outNiko Matsakis-8/+14
of builtin bounds. Fixes #10834. Fixes #11385. cc #5922.
2014-01-30auto merge of #11895 : xales/rust/libstd, r=alexcrichtonbors-3/+2
Fixes #11814
2014-01-30Remove Times traitBrendan Zabarauskas-8/+8
`Times::times` was always a second-class loop because it did not support the `break` and `continue` operations. Its playful appeal was then lost after `do` was disabled for closures. It's time to let this one go.
2014-01-29Remove seldom-used std::reference functions.xales-3/+2
2014-01-29Rename std::borrow to std::reference.xales-2/+2
Fixes #11814
2014-01-29Removing do keyword from libextraScott Lawrence-36/+36
2014-01-26Fix privacy fallout from previous changeAlex Crichton-2/+2
2013-12-31Added Freeze trait to CowArcColin Sherratt-2/+2
2013-12-31Add a copy-on-write container.Colin Sherratt-0/+108
2013-12-24std: Introduce std::syncAlex Crichton-64/+1
For now, this moves the following modules to std::sync * UnsafeArc (also removed unwrap method) * mpsc_queue * spsc_queue * atomics * mpmc_bounded_queue * deque We may want to remove some of the queues, but for now this moves things out of std::rt into std::sync
2013-12-23extra: Fix all code examplesAlex Crichton-16/+20
2013-12-21Remove unneccessary mut from arcSteven Fackler-4/+4
2013-12-21Don't poison ARCs that are used while unwindingSteven Fackler-12/+55
Closes #11097
2013-12-16Test fallout from std::comm rewriteAlex Crichton-2/+1
2013-12-16Fallout of rewriting std::commAlex Crichton-14/+13
2013-12-15extra: fix spelling in docs.Huon Wilson-1/+1
2013-12-11Make 'self lifetime illegal.Erik Price-12/+12
Also remove all instances of 'self within the codebase. This fixes #10889.
2013-12-10libextra: Remove various cells involved in `Arc`s.Patrick Walton-3/+2
I could have done this by making `Arc` use RAII, but this is too involved for now.
2013-12-10libextra: Another round of de-`Cell`-ing.Patrick Walton-3/+3
34 uses of `Cell` remain.
2013-12-01remove useless `transmute_immut` functionDaniel Micay-1/+1
2013-11-28Register new snapshotsAlex Crichton-3/+3
2013-11-26librustuv: Remove all non-`proc` uses of `do` from `libextra` andPatrick Walton-99/+97
`librustuv`.
2013-11-24Remove linked failure from the runtimeAlex Crichton-1/+1
The reasons for doing this are: * The model on which linked failure is based is inherently complex * The implementation is also very complex, and there are few remaining who fully understand the implementation * There are existing race conditions in the core context switching function of the scheduler, and possibly others. * It's unclear whether this model of linked failure maps well to a 1:1 threading model Linked failure is often a desired aspect of tasks, but we would like to take a much more conservative approach in re-implementing linked failure if at all. Closes #8674 Closes #8318 Closes #8863
2013-11-19libextra: Convert uses of `&fn(A)->B` to `|A|->B`.Patrick Walton-13/+11
2013-11-08Update various tests and libraries that were incorrectlyNiko Matsakis-14/+14
annotated.
2013-10-24libextra: Make arc::get and arc::new inline too.Patrick Walton-0/+2
Should be a 2x improvement in a Servo test case.
2013-10-24libextra: Make arc clone inlinePatrick Walton-0/+3
2013-10-23Removed unnecessary comments and white spaces as suggestedreedlepee-1/+0
2013-10-23Removed Unnecessary comments and white spaces #4386reedlepee-6/+0
2013-10-23Making fields in std and extra : private #4386reedlepee-5/+12
2013-10-22Drop the '2' suffix from logging macrosAlex Crichton-5/+5
Who doesn't like a massive renaming?
2013-10-18Made `std::task::TaskBuilder::future_result()` easier to useMarvin Löbel-1/+1
2013-09-30syntax: Remove usage of fmt!Alex Crichton-1/+1
2013-09-30extra: Remove usage of fmt!Alex Crichton-5/+5
2013-09-25rustdoc: Change all code-blocks with a scriptAlex Crichton-4/+4
find src -name '*.rs' | xargs sed -i '' 's/~~~.*{\.rust}/```rust/g' find src -name '*.rs' | xargs sed -i '' 's/ ~~~$/ ```/g' find src -name '*.rs' | xargs sed -i '' 's/^~~~$/ ```/g'
2013-09-24Correctly encode item visibility in metadataAlex Crichton-2/+2
This fixes private statics and functions from being usable cross-crates, along with some bad privacy error messages. This is a reopening of #8365 with all the privacy checks in privacy.rs instead of resolve.rs (where they should be anyway). These maps of exported items will hopefully get used for generating documentation by rustdoc Closes #8592
2013-09-16switch Drop to `&mut self`Daniel Micay-1/+1
2013-09-04Use MuextArc and RWArc in docstringsFlaper Fesp-5/+5
2013-09-04Fixed docs and stylesFlaper Fesp-122/+30
2013-09-04Add a safe implementation of MutexArc::access* methodsFlaper Fesp-21/+162
Current access methods are nestable and unsafe. This patch renames current methods implementation - prepends unsafe_ - and implements 2 new methods that are both safe and un-nestable. Fixes #7473
2013-09-04Rename MutexArc access methods to unsafe_accessFlaper Fesp-9/+9
2013-08-31Cleanup concurrency testsSteven Stewart-Gallus-49/+49
In this commit I: - removed unneeded heap allocations - added extra whitespace to crowded expressions - and removed unneeded syntax
2013-08-27Rename UnsafeAtomicRcBox to UnsafeArc. Fixes #7674.Huon Wilson-7/+7
2013-08-22Enabled unit tests in std and extra.Vadim Chugunov-9/+9
2013-08-16Reserve 'yield' keywordKevin Ballard-4/+4
Rename task::yield() to task::deschedule(). Fixes #8494.
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-2/+2
2013-08-08auto merge of #8385 : cmr/rust/big-rollup, r=alexcrichtonbors-10/+4
This is a fairly large rollup, but I've tested everything locally, and none of it should be platform-specific. r=alexcrichton (bdfdbdd) r=brson (d803c18) r=alexcrichton (a5041d0) r=bstrie (317412a) r=alexcrichton (135c85e) r=thestinger (8805baa) r=pcwalton (0661178) r=cmr (9397fe0) r=cmr (caa4135) r=cmr (6a21d93) r=cmr (4dc3379) r=cmr (0aa5154) r=cmr (18be261) r=thestinger (f10be03)