<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sync/arc.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>2014-05-20T01:12:18+00:00</updated>
<entry>
<title>std: Remove UnsafeArc</title>
<updated>2014-05-20T01:12:18+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-05-20T00:51:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4c8a4d241a984fdc0b8a015dceca2a006f2b7146'/>
<id>urn:sha1:4c8a4d241a984fdc0b8a015dceca2a006f2b7146</id>
<content type='text'>
This type has been superseded by Arc&lt;Unsafe&lt;T&gt;&gt;. The UnsafeArc type is a relic
of an era that has long since past, and with the introduction of liballoc the
standard library is able to use the Arc smart pointer. With little need left for
UnsafeArc, it was removed.

All existing code using UnsafeArc should either be reevaluated to whether it can
use only Arc, or it should transition to Arc&lt;Unsafe&lt;T&gt;&gt;

[breaking-change]
</content>
</entry>
<entry>
<title>core: Remove the cast module</title>
<updated>2014-05-11T08:13:02+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-05-09T17:34:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f94d671bfae5d8e9a4a4add310b1c40af0ab62a6'/>
<id>urn:sha1:f94d671bfae5d8e9a4a4add310b1c40af0ab62a6</id>
<content type='text'>
This commit revisits the `cast` module in libcore and libstd, and scrutinizes
all functions inside of it. The result was to remove the `cast` module entirely,
folding all functionality into the `mem` module. Specifically, this is the fate
of each function in the `cast` module.

* transmute - This function was moved to `mem`, but it is now marked as
              #[unstable]. This is due to planned changes to the `transmute`
              function and how it can be invoked (see the #[unstable] comment).
              For more information, see RFC 5 and #12898

* transmute_copy - This function was moved to `mem`, with clarification that is
                   is not an error to invoke it with T/U that are different
                   sizes, but rather that it is strongly discouraged. This
                   function is now #[stable]

* forget - This function was moved to `mem` and marked #[stable]

* bump_box_refcount - This function was removed due to the deprecation of
                      managed boxes as well as its questionable utility.

* transmute_mut - This function was previously deprecated, and removed as part
                  of this commit.

* transmute_mut_unsafe - This function doesn't serve much of a purpose when it
                         can be achieved with an `as` in safe code, so it was
                         removed.

* transmute_lifetime - This function was removed because it is likely a strong
                       indication that code is incorrect in the first place.

* transmute_mut_lifetime - This function was removed for the same reasons as
                           `transmute_lifetime`

* copy_lifetime - This function was moved to `mem`, but it is marked
                  `#[unstable]` now due to the likelihood of being removed in
                  the future if it is found to not be very useful.

* copy_mut_lifetime - This function was also moved to `mem`, but had the same
                      treatment as `copy_lifetime`.

* copy_lifetime_vec - This function was removed because it is not used today,
                      and its existence is not necessary with DST
                      (copy_lifetime will suffice).

In summary, the cast module was stripped down to these functions, and then the
functions were moved to the `mem` module.

    transmute - #[unstable]
    transmute_copy - #[stable]
    forget - #[stable]
    copy_lifetime - #[unstable]
    copy_mut_lifetime - #[unstable]

[breaking-change]
</content>
</entry>
<entry>
<title>Handle fallout in iter, option, result, and sync::arc</title>
<updated>2014-05-08T19:06:21+00:00</updated>
<author>
<name>Kevin Ballard</name>
<email>kevin@sb.org</email>
</author>
<published>2014-05-04T05:20:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=001a8741b42be9fed5521d9a5a96cf1ea7269fbb'/>
<id>urn:sha1:001a8741b42be9fed5521d9a5a96cf1ea7269fbb</id>
<content type='text'>
API changes:

- UnsafeArc::newN() returns Vec&lt;UnsafeArc&lt;T&gt;&gt;
</content>
</entry>
<entry>
<title>librustc: Remove `~EXPR`, `~TYPE`, and `~PAT` from the language, except</title>
<updated>2014-05-07T06:12:54+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2014-05-06T01:56:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=090040bf4037a094e50b03d79e4baf5cd89c912b'/>
<id>urn:sha1:090040bf4037a094e50b03d79e4baf5cd89c912b</id>
<content type='text'>
for `~str`/`~[]`.

Note that `~self` still remains, since I forgot to add support for
`Box&lt;self&gt;` before the snapshot.

How to update your code:

* Instead of `~EXPR`, you should write `box EXPR`.

* Instead of `~TYPE`, you should write `Box&lt;Type&gt;`.

* Instead of `~PATTERN`, you should write `box PATTERN`.

[breaking-change]
</content>
</entry>
<entry>
<title>Replace most ~exprs with 'box'. #11779</title>
<updated>2014-05-03T06:00:58+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2014-04-25T08:08:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a5be12ce7e88c1d28de1c98215991127d1e765f0'/>
<id>urn:sha1:a5be12ce7e88c1d28de1c98215991127d1e765f0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add debug_assert and debug_assert_eq macros</title>
<updated>2014-05-02T02:07:40+00:00</updated>
<author>
<name>Steven Fackler</name>
<email>sfackler@gmail.com</email>
</author>
<published>2014-04-27T01:25:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b0b7c252d79f57e47af5f677b9e551f42657c509'/>
<id>urn:sha1:b0b7c252d79f57e47af5f677b9e551f42657c509</id>
<content type='text'>
I also switched some `assert!` calls over to `debug_assert!`.

Closes #12049.

RFC: 0015-assert
</content>
</entry>
<entry>
<title>Replace all ~"" with "".to_owned()</title>
<updated>2014-04-19T00:25:34+00:00</updated>
<author>
<name>Richo Healey</name>
<email>richo@psych0tik.net</email>
</author>
<published>2014-04-16T01:17:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=919889a1d688a6bbe2edac8705f048f06b1b455c'/>
<id>urn:sha1:919889a1d688a6bbe2edac8705f048f06b1b455c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Make ~[T] no longer a growable vector</title>
<updated>2014-04-18T17:06:24+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-04-17T22:28:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7d3b0bf3912fabf52fdd6926900e578e55af1b49'/>
<id>urn:sha1:7d3b0bf3912fabf52fdd6926900e578e55af1b49</id>
<content type='text'>
This removes all resizability support for ~[T] vectors in preparation of DST.
The only growable vector remaining is Vec&lt;T&gt;. In summary, the following methods
from ~[T] and various functions were removed. Each method/function has an
equivalent on the Vec type in std::vec unless otherwise stated.

* slice::OwnedCloneableVector
* slice::OwnedEqVector
* slice::append
* slice::append_one
* slice::build (no replacement)
* slice::bytes::push_bytes
* slice::from_elem
* slice::from_fn
* slice::with_capacity
* ~[T].capacity()
* ~[T].clear()
* ~[T].dedup()
* ~[T].extend()
* ~[T].grow()
* ~[T].grow_fn()
* ~[T].grow_set()
* ~[T].insert()
* ~[T].pop()
* ~[T].push()
* ~[T].push_all()
* ~[T].push_all_move()
* ~[T].remove()
* ~[T].reserve()
* ~[T].reserve_additional()
* ~[T].reserve_exect()
* ~[T].retain()
* ~[T].set_len()
* ~[T].shift()
* ~[T].shrink_to_fit()
* ~[T].swap_remove()
* ~[T].truncate()
* ~[T].unshift()
* ~str.clear()
* ~str.set_len()
* ~str.truncate()

Note that no other API changes were made. Existing apis that took or returned
~[T] continue to do so.

[breaking-change]
</content>
</entry>
<entry>
<title>std: Switch field privacy as necessary</title>
<updated>2014-03-31T22:17:12+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-03-27T22:09:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9a3d04ae7629f6f273643b3a14f106726842be6a'/>
<id>urn:sha1:9a3d04ae7629f6f273643b3a14f106726842be6a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Let ArcData use Unsafe&lt;T&gt;</title>
<updated>2014-03-20T09:17:28+00:00</updated>
<author>
<name>Flavio Percoco</name>
<email>flaper87@gmail.com</email>
</author>
<published>2014-03-11T21:24:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8767c693390c0ad53ce96bf1d00548e1205be01b'/>
<id>urn:sha1:8767c693390c0ad53ce96bf1d00548e1205be01b</id>
<content type='text'>
</content>
</entry>
</feed>
