<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libcore/hash, branch 1.1.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.1.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-05-03T12:08:30+00:00</updated>
<entry>
<title>Restore HashMap performance by allowing some functions to be inlined</title>
<updated>2015-05-03T12:08:30+00:00</updated>
<author>
<name>Björn Steinbrink</name>
<email>bsteinbr@gmail.com</email>
</author>
<published>2015-05-03T12:02:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f4176b52d3817b93570a73e2768736276d76ebf5'/>
<id>urn:sha1:f4176b52d3817b93570a73e2768736276d76ebf5</id>
<content type='text'>
Since the hashmap and its hasher are implemented in different crates, we
currently can't benefit from inlining, which means that especially for
small, fixed size keys, there is a huge overhead in hash calculations,
because the compiler can't apply optimizations that only apply for these
keys.

Fixes the brainfuck benchmark in #24014.
</content>
</entry>
<entry>
<title>rollup merge of #24541: alexcrichton/issue-24538</title>
<updated>2015-04-21T22:28:06+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-21T22:28:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=98e9765d973d46faa5c80fb37a48040ca9e87b28'/>
<id>urn:sha1:98e9765d973d46faa5c80fb37a48040ca9e87b28</id>
<content type='text'>
This is an implementation of [RFC 1030][rfc] which adds these traits to the
prelude and additionally removes all inherent `into_iter` methods on collections
in favor of the trait implementation (which is now accessible by default).

[rfc]: https://github.com/rust-lang/rfcs/pull/1030

This is technically a breaking change due to the prelude additions and removal
of inherent methods, but it is expected that essentially no code breaks in
practice.

[breaking-change]
Closes #24538
</content>
</entry>
<entry>
<title>Model lexer: Fix remaining issues</title>
<updated>2015-04-21T10:02:12+00:00</updated>
<author>
<name>Piotr Czarnecki</name>
<email>pioczarn@gmail.com</email>
</author>
<published>2015-04-21T10:02:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=13bc8afa4b56e8d7b012f35a35a11087739abf15'/>
<id>urn:sha1:13bc8afa4b56e8d7b012f35a35a11087739abf15</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Add Default/IntoIterator/ToOwned to the prelude</title>
<updated>2015-04-17T23:37:30+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-17T21:31:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8f5b5f94dcdb9884737dfbc8efd893d1d70f0b14'/>
<id>urn:sha1:8f5b5f94dcdb9884737dfbc8efd893d1d70f0b14</id>
<content type='text'>
This is an implementation of [RFC 1030][rfc] which adds these traits to the
prelude and additionally removes all inherent `into_iter` methods on collections
in favor of the trait implementation (which is now accessible by default).

[rfc]: https://github.com/rust-lang/rfcs/pull/1030

This is technically a breaking change due to the prelude additions and removal
of inherent methods, but it is expected that essentially no code breaks in
practice.

[breaking-change]
Closes #24538
</content>
</entry>
<entry>
<title>Auto merge of #23832 - petrochenkov:usize, r=aturon</title>
<updated>2015-04-03T04:29:52+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2015-04-03T04:29:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fc98b19cf72ea45851ebb7b28af160be92b19128'/>
<id>urn:sha1:fc98b19cf72ea45851ebb7b28af160be92b19128</id>
<content type='text'>
These constants are small and can fit even in `u8`, but semantically they have type `usize` because they denote sizes and are almost always used in `usize` context. The change of their type to `u32` during the integer audit led only to the large amount of `as usize` noise (see the second commit, which removes this noise).

This is a minor [breaking-change] to an unstable interface.

r? @aturon 

</content>
</entry>
<entry>
<title>std: Clean out #[deprecated] APIs</title>
<updated>2015-03-31T22:49:57+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-30T18:00:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d4a2c941809f303b97d153e06ba07e95cd245f88'/>
<id>urn:sha1:d4a2c941809f303b97d153e06ba07e95cd245f88</id>
<content type='text'>
This commit cleans out a large amount of deprecated APIs from the standard
library and some of the facade crates as well, updating all users in the
compiler and in tests as it goes along.
</content>
</entry>
<entry>
<title>Stabilize std::num</title>
<updated>2015-03-31T14:50:25+00:00</updated>
<author>
<name>Aaron Turon</name>
<email>aturon@mozilla.com</email>
</author>
<published>2015-03-20T06:42:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=232424d9952700682373ccf2d578109f401ff023'/>
<id>urn:sha1:232424d9952700682373ccf2d578109f401ff023</id>
<content type='text'>
This commit stabilizes the `std::num` module:

* The `Int` and `Float` traits are deprecated in favor of (1) the
  newly-added inherent methods and (2) the generic traits available in
  rust-lang/num.

* The `Zero` and `One` traits are reintroduced in `std::num`, which
  together with various other traits allow you to recover the most
  common forms of generic programming.

* The `FromStrRadix` trait, and associated free function, is deprecated
  in favor of inherent implementations.

* A wide range of methods and constants for both integers and floating
  point numbers are now `#[stable]`, having been adjusted for integer
  guidelines.

* `is_positive` and `is_negative` are renamed to `is_sign_positive` and
  `is_sign_negative`, in order to address #22985

* The `Wrapping` type is moved to `std::num` and stabilized;
  `WrappingOps` is deprecated in favor of inherent methods on the
  integer types, and direct implementation of operations on
  `Wrapping&lt;X&gt;` for each concrete integer type `X`.

Closes #22985
Closes #21069

[breaking-change]
</content>
</entry>
<entry>
<title>Remove unnecessary `as usize`</title>
<updated>2015-03-30T09:19:11+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2015-03-28T13:07:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ee76be54861189275be483c3f4a72531dc7f7698'/>
<id>urn:sha1:ee76be54861189275be483c3f4a72531dc7f7698</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Document properties for Eq + Hash</title>
<updated>2015-03-28T20:06:37+00:00</updated>
<author>
<name>Steve Klabnik</name>
<email>steve@steveklabnik.com</email>
</author>
<published>2015-03-28T20:06:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f6c234fb45327c3e96b4fe8902dd7416e0f61dde'/>
<id>urn:sha1:f6c234fb45327c3e96b4fe8902dd7416e0f61dde</id>
<content type='text'>
Fixes #23320
</content>
</entry>
<entry>
<title>Change lint names to plurals</title>
<updated>2015-03-24T21:06:13+00:00</updated>
<author>
<name>Nick Cameron</name>
<email>ncameron@mozilla.com</email>
</author>
<published>2015-03-23T22:23:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e7122a5a09d06aedd1d27d14c3ac38c40b0a7425'/>
<id>urn:sha1:e7122a5a09d06aedd1d27d14c3ac38c40b0a7425</id>
<content type='text'>
</content>
</entry>
</feed>
