<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libcore/fmt/num.rs, branch 0.11.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=0.11.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=0.11.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2014-06-25T00:18:48+00:00</updated>
<entry>
<title>librustc: Remove the fallback to `int` from typechecking.</title>
<updated>2014-06-25T00:18:48+00:00</updated>
<author>
<name>Niko Matsakis</name>
<email>niko@alum.mit.edu</email>
</author>
<published>2014-04-21T21:58:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9e3d0b002a5c2e81d43351c9b8550a3f4ccfb8f9'/>
<id>urn:sha1:9e3d0b002a5c2e81d43351c9b8550a3f4ccfb8f9</id>
<content type='text'>
This breaks a fair amount of code. The typical patterns are:

* `for _ in range(0, 10)`: change to `for _ in range(0u, 10)`;

* `println!("{}", 3)`: change to `println!("{}", 3i)`;

* `[1, 2, 3].len()`: change to `[1i, 2, 3].len()`.

RFC #30. Closes #6023.

[breaking-change]
</content>
</entry>
<entry>
<title>core: Rename `container` mod to `collections`. Closes #12543</title>
<updated>2014-06-09T04:29:57+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2014-05-19T18:32:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=50942c7695783875bd2161596036a52755ffb09c'/>
<id>urn:sha1:50942c7695783875bd2161596036a52755ffb09c</id>
<content type='text'>
Also renames the `Container` trait to `Collection`.

[breaking-change]
</content>
</entry>
<entry>
<title>std: Rename {Eq,Ord} to Partial{Eq,Ord}</title>
<updated>2014-05-30T22:52:24+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-05-30T00:45:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=748bc3ca49de8ab0b890726120c40567094e43fc'/>
<id>urn:sha1:748bc3ca49de8ab0b890726120c40567094e43fc</id>
<content type='text'>
This is part of the ongoing renaming of the equality traits. See #12517 for more
details. All code using Eq/Ord will temporarily need to move to Partial{Eq,Ord}
or the Total{Eq,Ord} traits. The Total traits will soon be renamed to {Eq,Ord}.

cc #12517

[breaking-change]
</content>
</entry>
<entry>
<title>std: Recreate a `rand` module</title>
<updated>2014-05-29T23:18:26+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-05-25T08:39:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=925ff6511887d917c09c61cb9d41f97ce7eab942'/>
<id>urn:sha1:925ff6511887d917c09c61cb9d41f97ce7eab942</id>
<content type='text'>
This commit shuffles around some of the `rand` code, along with some
reorganization. The new state of the world is as follows:

* The librand crate now only depends on libcore. This interface is experimental.
* The standard library has a new module, `std::rand`. This interface will
  eventually become stable.

Unfortunately, this entailed more of a breaking change than just shuffling some
names around. The following breaking changes were made to the rand library:

* Rng::gen_vec() was removed. This has been replaced with Rng::gen_iter() which
  will return an infinite stream of random values. Previous behavior can be
  regained with `rng.gen_iter().take(n).collect()`

* Rng::gen_ascii_str() was removed. This has been replaced with
  Rng::gen_ascii_chars() which will return an infinite stream of random ascii
  characters. Similarly to gen_iter(), previous behavior can be emulated with
  `rng.gen_ascii_chars().take(n).collect()`

* {IsaacRng, Isaac64Rng, XorShiftRng}::new() have all been removed. These all
  relied on being able to use an OSRng for seeding, but this is no longer
  available in librand (where these types are defined). To retain the same
  functionality, these types now implement the `Rand` trait so they can be
  generated with a random seed from another random number generator. This allows
  the stdlib to use an OSRng to create seeded instances of these RNGs.

* Rand implementations for `Box&lt;T&gt;` and `@T` were removed. These seemed to be
  pretty rare in the codebase, and it allows for librand to not depend on
  liballoc.  Additionally, other pointer types like Rc&lt;T&gt; and Arc&lt;T&gt; were not
  supported.  If this is undesirable, librand can depend on liballoc and regain
  these implementations.

* The WeightedChoice structure is no longer built with a `Vec&lt;Weighted&lt;T&gt;&gt;`,
  but rather a `&amp;mut [Weighted&lt;T&gt;]`. This means that the WeightedChoice
  structure now has a lifetime associated with it.

* The `sample` method on `Rng` has been moved to a top-level function in the
  `rand` module due to its dependence on `Vec`.

cc #13851

[breaking-change]
</content>
</entry>
<entry>
<title>std: Remove String's to_owned</title>
<updated>2014-05-27T18:11:15+00:00</updated>
<author>
<name>Richo Healey</name>
<email>richo@psych0tik.net</email>
</author>
<published>2014-05-25T10:10:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4348e23b269739657d934b532ad061bfd6d92309'/>
<id>urn:sha1:4348e23b269739657d934b532ad061bfd6d92309</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libcore: Remove all uses of `~str` from `libcore`.</title>
<updated>2014-05-22T21:42:02+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2014-05-20T06:19:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e878721d70349e2055f0ef854085de92e9498fde'/>
<id>urn:sha1:e878721d70349e2055f0ef854085de92e9498fde</id>
<content type='text'>
[breaking-change]
</content>
</entry>
<entry>
<title>core: Update all tests for fmt movement</title>
<updated>2014-05-16T06:22:15+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-05-11T18:14:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2e2160b026d7a2b2d13c3a2b4d6aa073ab3ff43f'/>
<id>urn:sha1:2e2160b026d7a2b2d13c3a2b4d6aa073ab3ff43f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>core: Inherit the std::fmt module</title>
<updated>2014-05-16T06:22:06+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-05-10T20:33:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cf0619383d2ce0f7bd822f82cf487c7fa33d0b76'/>
<id>urn:sha1:cf0619383d2ce0f7bd822f82cf487c7fa33d0b76</id>
<content type='text'>
This commit moves all possible functionality from the standard library's string
formatting utilities into the core library. This is a breaking change, due to a
few tweaks in the semantics of formatting:

1. In order to break the dependency on the std::io module, a new trait,
   FormatWriter was introduced in core::fmt. This is the trait which is used
   (instead of Writer) to format data into a stream.
2. The new FormatWriter trait has one method, write(), which takes some bytes
   and can return an error, but the error contains very little information. The
   intent for this trait is for an adaptor writer to be used around the standard
   library's Writer trait.
3. The fmt::write{,ln,_unsafe} methods no longer take &amp;mut io::Writer, but
   rather &amp;mut FormatWriter. Since this trait is less common, all functions were
   removed except fmt::write, and it is not intended to be invoked directly.

The main API-breaking change here is that the fmt::Formatter structure will no
longer expose its `buf` field. All previous code writing directly to `f.buf`
using writer methods or the `write!` macro will now instead use `f` directly.

The Formatter object itself implements the `Writer` trait itself for
convenience, although it does not implement the `FormatWriter` trait. The
fallout of these changes will be in the following commits.

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