<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sync/atomic.rs, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-01-04T07:43:57+00:00</updated>
<entry>
<title>Remove deprecated functionality</title>
<updated>2015-01-04T07:43:57+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-01-02T07:53:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7d8d06f86b48520814596bd5363d2b82bc619774'/>
<id>urn:sha1:7d8d06f86b48520814596bd5363d2b82bc619774</id>
<content type='text'>
This removes a large array of deprecated functionality, regardless of how
recently it was deprecated. The purpose of this commit is to clean out the
standard libraries and compiler for the upcoming alpha release.

Some notable compiler changes were to enable warnings for all now-deprecated
command line arguments (previously the deprecated versions were silently
accepted) as well as removing deriving(Zero) entirely (the trait was removed).

The distribution no longer contains the libtime or libregex_macros crates. Both
of these have been deprecated for some time and are available externally.
</content>
</entry>
<entry>
<title>sed -i -s 's/\bmod,/self,/g' **/*.rs</title>
<updated>2015-01-04T03:42:21+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2015-01-04T03:42:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=56dcbd17fdad5d39b7b02e22a7490d2468718d08'/>
<id>urn:sha1:56dcbd17fdad5d39b7b02e22a7490d2468718d08</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rollup merge of #20315: alexcrichton/std-sync</title>
<updated>2015-01-02T17:19:00+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-01-02T17:19:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=009ec5d2b0c4ab0e7dc7ab2f6b15754b4da14caf'/>
<id>urn:sha1:009ec5d2b0c4ab0e7dc7ab2f6b15754b4da14caf</id>
<content type='text'>
Conflicts:
	src/libstd/rt/exclusive.rs
	src/libstd/sync/barrier.rs
	src/libstd/sys/unix/pipe.rs
	src/test/bench/shootout-binarytrees.rs
	src/test/bench/shootout-fannkuch-redux.rs
</content>
</entry>
<entry>
<title>std: Stabilize the prelude module</title>
<updated>2015-01-02T16:54:06+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-12-22T17:04:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=56290a004493a5d2e211f056601533253497df60'/>
<id>urn:sha1:56290a004493a5d2e211f056601533253497df60</id>
<content type='text'>
This commit is an implementation of [RFC 503][rfc] which is a stabilization
story for the prelude. Most of the RFC was directly applied, removing reexports.
Some reexports are kept around, however:

* `range` remains until range syntax has landed to reduce churn.
* `Path` and `GenericPath` remain until path reform lands. This is done to
  prevent many imports of `GenericPath` which will soon be removed.
* All `io` traits remain until I/O reform lands so imports can be rewritten all
  at once to `std::io::prelude::*`.

This is a breaking change because many prelude reexports have been removed, and
the RFC can be consulted for the exact list of removed reexports, as well as to
find the locations of where to import them.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0503-prelude-stabilization.md
[breaking-change]

Closes #20068
</content>
</entry>
<entry>
<title>std: Second pass stabilization of sync</title>
<updated>2015-01-02T06:02:59+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-12-29T23:03:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f3a7ec7028c76b3a1c6051131328f372b068e33a'/>
<id>urn:sha1:f3a7ec7028c76b3a1c6051131328f372b068e33a</id>
<content type='text'>
This pass performs a second pass of stabilization through the `std::sync`
module, avoiding modules/types that are being handled in other PRs (e.g.
mutexes, rwlocks, condvars, and channels).

The following items are now stable

* `sync::atomic`
* `sync::atomic::ATOMIC_BOOL_INIT` (was `INIT_ATOMIC_BOOL`)
* `sync::atomic::ATOMIC_INT_INIT` (was `INIT_ATOMIC_INT`)
* `sync::atomic::ATOMIC_UINT_INIT` (was `INIT_ATOMIC_UINT`)
* `sync::Once`
* `sync::ONCE_INIT`
* `sync::Once::call_once` (was `doit`)
  * C == `pthread_once(..)`
  * Boost == `call_once(..)`
  * Windows == `InitOnceExecuteOnce`
* `sync::Barrier`
* `sync::Barrier::new`
* `sync::Barrier::wait` (now returns a `bool`)
* `sync::Semaphore::new`
* `sync::Semaphore::acquire`
* `sync::Semaphore::release`

The following items remain unstable

* `sync::SemaphoreGuard`
* `sync::Semaphore::access` - it's unclear how this relates to the poisoning
                              story of mutexes.
* `sync::TaskPool` - the semantics of a failing task and whether a thread is
                     re-attached to a thread pool are somewhat unclear, and the
                     utility of this type in `sync` is question with respect to
                     the jobs of other primitives. This type will likely become
                     stable or move out of the standard library over time.
* `sync::Future` - futures as-is have yet to be deeply re-evaluated with the
                   recent core changes to Rust's synchronization story, and will
                   likely become stable in the future but are unstable until
                   that time comes.

[breaking-change]
</content>
</entry>
<entry>
<title>Remove core::atomic::Ordering::* public reexport</title>
<updated>2014-12-30T19:43:51+00:00</updated>
<author>
<name>Corey Farwell</name>
<email>coreyf@rwell.org</email>
</author>
<published>2014-12-30T18:19:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1d26fb9e07e664b312ca9d7b666f6d1dd52285ed'/>
<id>urn:sha1:1d26fb9e07e664b312ca9d7b666f6d1dd52285ed</id>
<content type='text'>
Part of #19253

[breaking-change]
</content>
</entry>
<entry>
<title>Fallout from globs/re-export/shadowing change</title>
<updated>2014-12-29T06:10:08+00:00</updated>
<author>
<name>Nick Cameron</name>
<email>ncameron@mozilla.com</email>
</author>
<published>2014-12-29T03:52:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ac095351fba2750bddd84c3f434d16c1ed7f1640'/>
<id>urn:sha1:ac095351fba2750bddd84c3f434d16c1ed7f1640</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revise std::thread API to join by default</title>
<updated>2014-12-19T07:31:52+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2014-12-14T08:05:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a27fbac86849e07a0a6c746869d8f78319bd3a16'/>
<id>urn:sha1:a27fbac86849e07a0a6c746869d8f78319bd3a16</id>
<content type='text'>
This commit is part of a series that introduces a `std::thread` API to
replace `std::task`.

In the new API, `spawn` returns a `JoinGuard`, which by default will
join the spawned thread when dropped. It can also be used to join
explicitly at any time, returning the thread's result. Alternatively,
the spawned thread can be explicitly detached (so no join takes place).

As part of this change, Rust processes now terminate when the main
thread exits, even if other detached threads are still running, moving
Rust closer to standard threading models. This new behavior may break code
that was relying on the previously implicit join-all.

In addition to the above, the new thread API also offers some built-in
support for building blocking abstractions in user space; see the module
doc for details.

Closes #18000

[breaking-change]
</content>
</entry>
<entry>
<title>Mostly rote conversion of `proc()` to `move||` (and occasionally `Thunk::new`)</title>
<updated>2014-12-14T09:21:56+00:00</updated>
<author>
<name>Niko Matsakis</name>
<email>niko@alum.mit.edu</email>
</author>
<published>2014-11-26T13:12:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5c3d3989192f88b16f39d554c3844700c91b6c8e'/>
<id>urn:sha1:5c3d3989192f88b16f39d554c3844700c91b6c8e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge libsync into libstd</title>
<updated>2014-11-24T18:51:39+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2014-11-23T20:52:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=985acfdb67d550d0259fcdcfbeed0a86ec3da9d0'/>
<id>urn:sha1:985acfdb67d550d0259fcdcfbeed0a86ec3da9d0</id>
<content type='text'>
This patch merges the `libsync` crate into `libstd`, undoing part of the
facade. This is in preparation for ultimately merging `librustrt`, as
well as the upcoming rewrite of `sync`.

Because this removes the `libsync` crate, it is a:

[breaking-change]

However, all uses of `libsync` should be able to reroute through
`std::sync` and `std::comm` instead.
</content>
</entry>
</feed>
