<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libcollections/btree/node.rs, branch 1.3.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.3.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.3.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-06-25T00:00:43+00:00</updated>
<entry>
<title>Make `align_of` behave like `min_align_of`.</title>
<updated>2015-06-25T00:00:43+00:00</updated>
<author>
<name>Huon Wilson</name>
<email>dbau.pp+github@gmail.com</email>
</author>
<published>2015-05-20T09:18:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=225b116829ef76b72f01c2ebf718259c20aa7e14'/>
<id>urn:sha1:225b116829ef76b72f01c2ebf718259c20aa7e14</id>
<content type='text'>
This removes a footgun, since it is a reasonable assumption to make that
pointers to `T` will be aligned to `align_of::&lt;T&gt;()`. This also matches
the behaviour of C/C++. `min_align_of` is now deprecated.

Closes #21611.
</content>
</entry>
<entry>
<title>Remove #[cfg(stage0)] items.</title>
<updated>2015-05-27T08:19:02+00:00</updated>
<author>
<name>Eduard Burtescu</name>
<email>edy.burt@gmail.com</email>
</author>
<published>2015-05-25T17:21:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6e8e4f847c2ea02fec021ea15dfb2de6beac797a'/>
<id>urn:sha1:6e8e4f847c2ea02fec021ea15dfb2de6beac797a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow for better optimizations of iterators for zero-sized types</title>
<updated>2015-05-15T13:30:22+00:00</updated>
<author>
<name>Björn Steinbrink</name>
<email>bsteinbr@gmail.com</email>
</author>
<published>2015-05-15T13:20:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eeeb2cc0dffc016582f020c0a9e6d9f9fc751397'/>
<id>urn:sha1:eeeb2cc0dffc016582f020c0a9e6d9f9fc751397</id>
<content type='text'>
Using regular pointer arithmetic to iterate collections of zero-sized types
doesn't work, because we'd get the same pointer all the time. Our
current solution is to convert the pointer to an integer, add an offset
and then convert back, but this inhibits certain optimizations.

What we should do instead is to convert the pointer to one that points
to an i8*, and then use a LLVM GEP instructions without the inbounds
flag to perform the pointer arithmetic. This allows to generate pointers
that point outside allocated objects without causing UB (as long as you
don't dereference them), and it wraps around using two's complement,
i.e. it behaves exactly like the wrapping_* operations we're currently
using, with the added benefit of LLVM being able to better optimize the
resulting IR.
</content>
</entry>
<entry>
<title>Register new snapshots</title>
<updated>2015-04-29T00:23:45+00:00</updated>
<author>
<name>Tamir Duberstein</name>
<email>tamird@gmail.com</email>
</author>
<published>2015-04-27T21:10:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=69abc12b0044d641e714bdd73a299cfa4136b7b8'/>
<id>urn:sha1:69abc12b0044d641e714bdd73a299cfa4136b7b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fill in missing implementation</title>
<updated>2015-04-15T03:26:04+00:00</updated>
<author>
<name>Tamir Duberstein</name>
<email>tamird@gmail.com</email>
</author>
<published>2015-03-25T00:02:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c55ae1dc3094912c935fb95cf915841af0259305'/>
<id>urn:sha1:c55ae1dc3094912c935fb95cf915841af0259305</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Negative case of `len()` -&gt; `is_empty()`</title>
<updated>2015-04-15T03:26:03+00:00</updated>
<author>
<name>Tamir Duberstein</name>
<email>tamird@gmail.com</email>
</author>
<published>2015-03-24T23:54:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=10f15e72e6c265eb43d34dba564d86dbf1c4fb99'/>
<id>urn:sha1:10f15e72e6c265eb43d34dba564d86dbf1c4fb99</id>
<content type='text'>
`s/([^\(\s]+\.)len\(\) [(?:!=)&gt;] 0/!$1is_empty()/g`
</content>
</entry>
<entry>
<title>Positive case of `len()` -&gt; `is_empty()`</title>
<updated>2015-04-15T03:26:03+00:00</updated>
<author>
<name>Tamir Duberstein</name>
<email>tamird@gmail.com</email>
</author>
<published>2015-03-24T23:53:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=29ac04402d53d358a1f6200bea45a301ff05b2d1'/>
<id>urn:sha1:29ac04402d53d358a1f6200bea45a301ff05b2d1</id>
<content type='text'>
`s/(?&lt;!\{ self)(?&lt;=\.)len\(\) == 0/is_empty()/g`
</content>
</entry>
<entry>
<title>Fallout in public-facing and semi-public-facing libs</title>
<updated>2015-04-01T15:23:45+00:00</updated>
<author>
<name>Niko Matsakis</name>
<email>niko@alum.mit.edu</email>
</author>
<published>2015-03-30T13:40:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c35c46821a69af14e6b38e0238f70e22433a3e8e'/>
<id>urn:sha1:c35c46821a69af14e6b38e0238f70e22433a3e8e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Standardize (input, output) param orderings</title>
<updated>2015-03-30T21:08:40+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-27T18:12:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=acd48a2b3e7fcc0372f7718a2fac1cf80e03db95'/>
<id>urn:sha1:acd48a2b3e7fcc0372f7718a2fac1cf80e03db95</id>
<content type='text'>
This functions swaps the order of arguments to a few functions that previously
took (output, input) parameters, but now take (input, output) parameters (in
that order).

The affected functions are:

* ptr::copy
* ptr::copy_nonoverlapping
* slice::bytes::copy_memory
* intrinsics::copy
* intrinsics::copy_nonoverlapping

Closes #22890
[breaking-change]
</content>
</entry>
<entry>
<title>rollup merge of #23738: alexcrichton/snapshots</title>
<updated>2015-03-27T17:08:40+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-27T17:08:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=956c2eb257a4ac69371144e64be3e8c7cce8cb07'/>
<id>urn:sha1:956c2eb257a4ac69371144e64be3e8c7cce8cb07</id>
<content type='text'>
Conflicts:
	src/libcollections/vec.rs
</content>
</entry>
</feed>
