<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libsync/mpmc_bounded_queue.rs, branch auto</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=auto</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=auto'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2014-11-24T18:51:39+00:00</updated>
<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>
<entry>
<title>Create UnsignedInt trait and deprecate free functions</title>
<updated>2014-11-12T15:02:44+00:00</updated>
<author>
<name>Brendan Zabarauskas</name>
<email>bjzaba@yahoo.com.au</email>
</author>
<published>2014-11-09T06:15:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d1eb68e8d7d2883c70304021d5443c96bca18abb'/>
<id>urn:sha1:d1eb68e8d7d2883c70304021d5443c96bca18abb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update code with new lint names</title>
<updated>2014-10-28T15:54:21+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2014-10-27T22:37:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e0ad0fcb95f0bd6e69e9032c23b66515a590dfe5'/>
<id>urn:sha1:e0ad0fcb95f0bd6e69e9032c23b66515a590dfe5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove a large amount of deprecated functionality</title>
<updated>2014-10-19T19:59:40+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-10-15T06:05:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9d5d97b55d6487ee23b805bc1acbaa0669b82116'/>
<id>urn:sha1:9d5d97b55d6487ee23b805bc1acbaa0669b82116</id>
<content type='text'>
Spring cleaning is here! In the Fall! This commit removes quite a large amount
of deprecated functionality from the standard libraries. I tried to ensure that
only old deprecated functionality was removed.

This is removing lots and lots of deprecated features, so this is a breaking
change. Please consult the deprecation messages of the deleted code to see how
to migrate code forward if it still needs migration.

[breaking-change]
</content>
</entry>
<entry>
<title>Fallout from renaming</title>
<updated>2014-09-16T21:37:48+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2014-09-15T03:27:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fc525eeb4ec3443d29bce677f589b19f31c189bb'/>
<id>urn:sha1:fc525eeb4ec3443d29bce677f589b19f31c189bb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stabilize atomics (now atomic)</title>
<updated>2014-08-04T23:03:21+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2014-08-04T22:42:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=68bde0a07396efb415d61047c6b2a8183f47ef30'/>
<id>urn:sha1:68bde0a07396efb415d61047c6b2a8183f47ef30</id>
<content type='text'>
This commit stabilizes the `std::sync::atomics` module, renaming it to
`std::sync::atomic` to match library precedent elsewhere, and tightening
up behavior around incorrect memory ordering annotations.

The vast majority of the module is now `stable`. However, the
`AtomicOption` type has been deprecated, since it is essentially unused
and is not truly a primitive atomic type. It will eventually be replaced
by a higher-level abstraction like MVars.

Due to deprecations, this is a:

[breaking-change]
</content>
</entry>
<entry>
<title>std: Stabilize unit, bool, ty, tuple, arc, any</title>
<updated>2014-07-26T20:12:20+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-07-24T02:10:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e5da6a71a6a0b46dd3630fc8326e6d5906a1fde6'/>
<id>urn:sha1:e5da6a71a6a0b46dd3630fc8326e6d5906a1fde6</id>
<content type='text'>
This commit applies stability attributes to the contents of these modules,
summarized here:

* The `unit` and `bool` modules have become #[unstable] as they are purely meant
  for documentation purposes and are candidates for removal.

* The `ty` module has been deprecated, and the inner `Unsafe` type has been
  renamed to `UnsafeCell` and moved to the `cell` module. The `marker1` field
  has been removed as the compiler now always infers `UnsafeCell` to be
  invariant. The `new` method i stable, but the `value` field, `get` and
  `unwrap` methods are all unstable.

* The `tuple` module has its name as stable, the naming of the `TupleN` traits
  as stable while the methods are all #[unstable]. The other impls in the module
  have appropriate stability for the corresponding trait.

* The `arc` module has received the exact same treatment as the `rc` module
  previously did.

* The `any` module has its name as stable. The `Any` trait is also stable, with
  a new private supertrait which now contains the `get_type_id` method. This is
  to make the method a private implementation detail rather than a public-facing
  detail.

  The two extension traits in the module are marked #[unstable] as they will not
  be necessary with DST. The `is` method is #[stable], the as_{mut,ref} methods
  have been renamed to downcast_{mut,ref} and are #[unstable].

  The extension trait `BoxAny` has been clarified as to why it is unstable as it
  will not be necessary with DST.

This is a breaking change because the `marker1` field was removed from the
`UnsafeCell` type. To deal with this change, you can simply delete the field and
only specify the value of the `data` field in static initializers.

[breaking-change]
</content>
</entry>
<entry>
<title>deprecate Vec::get</title>
<updated>2014-07-17T00:08:31+00:00</updated>
<author>
<name>Nick Cameron</name>
<email>ncameron@mozilla.com</email>
</author>
<published>2014-07-14T23:37:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=aa760a849ee9f4d6817c81aad25fdc7990e894ed'/>
<id>urn:sha1:aa760a849ee9f4d6817c81aad25fdc7990e894ed</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sync: Move underneath libstd</title>
<updated>2014-06-11T17:00:43+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-06-07T18:13:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b1c9ce9c6f0eb7d4a7df1aad6b6799f4b548181c'/>
<id>urn:sha1:b1c9ce9c6f0eb7d4a7df1aad6b6799f4b548181c</id>
<content type='text'>
This commit is the final step in the libstd facade, #13851. The purpose of this
commit is to move libsync underneath the standard library, behind the facade.
This will allow core primitives like channels, queues, and atomics to all live
in the same location.

There were a few notable changes and a few breaking changes as part of this
movement:

* The `Vec` and `String` types are reexported at the top level of libcollections
* The `unreachable!()` macro was copied to libcore
* The `std::rt::thread` module was moved to librustrt, but it is still
  reexported at the same location.
* The `std::comm` module was moved to libsync
* The `sync::comm` module was moved under `sync::comm`, and renamed to `duplex`.
  It is now a private module with types/functions being reexported under
  `sync::comm`. This is a breaking change for any existing users of duplex
  streams.
* All concurrent queues/deques were moved directly under libsync. They are also
  all marked with #![experimental] for now if they are public.
* The `task_pool` and `future` modules no longer live in libsync, but rather
  live under `std::sync`. They will forever live at this location, but they may
  move to libsync if the `std::task` module moves as well.

[breaking-change]
</content>
</entry>
</feed>
