<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libsyntax/ext/pipes/liveness.rs, branch try-perf</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try-perf</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try-perf'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2013-08-01T19:17:32+00:00</updated>
<entry>
<title>Remove the pipes compiler</title>
<updated>2013-08-01T19:17:32+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2013-07-31T23:10:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4b3e766ac6a6f89430b65a5bc2f55bb29f6290ab'/>
<id>urn:sha1:4b3e766ac6a6f89430b65a5bc2f55bb29f6290ab</id>
<content type='text'>
The pipes compiler produced data types that encoded efficient and safe
bounded message passing protocols between two endpoints. It was also
capable of producing unbounded protocols.

It was useful research but was arguably done before its proper time.

I am removing it for the following reasons:

* In practice we used it only for producing the `oneshot` and `stream`
  unbounded protocols and all communication in Rust use those.
* The interface between the proto! macro and the standard library
  has a large surface area and was difficult to maintain through
  language and library changes.
* It is now written in an old dialect of Rust and generates code
  which would likely be considered non-idiomatic.
* Both the compiler and the runtime are difficult to understand,
  and likewise the relationship between the generated code and
  the library is hard to understand. Debugging is difficult.
* The new scheduler implements `stream` and `oneshot` by hand
  in a way that will be significantly easier to maintain.

This shouldn't be taken as an indication that 'channel protocols'
for Rust are not worth pursuing again in the future.
</content>
</entry>
<entry>
<title>migrate many `for` loops to `foreach`</title>
<updated>2013-08-01T09:34:55+00:00</updated>
<author>
<name>Daniel Micay</name>
<email>danielmicay@gmail.com</email>
</author>
<published>2013-08-01T07:16:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1fc4db2d086fd068a934c9ed2ccf25456fedc216'/>
<id>urn:sha1:1fc4db2d086fd068a934c9ed2ccf25456fedc216</id>
<content type='text'>
</content>
</entry>
<entry>
<title>librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.</title>
<updated>2013-07-17T21:56:42+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-06-28T00:41:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b4e674f6e662bc80f2e7a5a1a9834f2152f08d32'/>
<id>urn:sha1:b4e674f6e662bc80f2e7a5a1a9834f2152f08d32</id>
<content type='text'>
</content>
</entry>
<entry>
<title>great renaming propagation: syntax</title>
<updated>2013-06-25T20:15:07+00:00</updated>
<author>
<name>Corey Richardson</name>
<email>corey@octayn.net</email>
</author>
<published>2013-06-25T00:40:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0d471d310ded00283338ae28350b304e0f36e562'/>
<id>urn:sha1:0d471d310ded00283338ae28350b304e0f36e562</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vec: rm old_iter implementations, except BaseIter</title>
<updated>2013-06-21T07:20:22+00:00</updated>
<author>
<name>Daniel Micay</name>
<email>danielmicay@gmail.com</email>
</author>
<published>2013-06-17T23:43:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=49c74524e2c5a2a81ce4cbe2c50a507c0be9f24e'/>
<id>urn:sha1:49c74524e2c5a2a81ce4cbe2c50a507c0be9f24e</id>
<content type='text'>
The removed test for issue #2611 is well covered by the `std::iterator`
module itself.

This adds the `count` method to `IteratorUtil` to replace `EqIter`.
</content>
</entry>
<entry>
<title>fix tests, remove some warnings</title>
<updated>2013-06-10T16:34:14+00:00</updated>
<author>
<name>Huon Wilson</name>
<email>dbau.pp+github@gmail.com</email>
</author>
<published>2013-06-10T16:34:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e8782eeb6327eb79b132cc3f71bfaf55310dde00'/>
<id>urn:sha1:e8782eeb6327eb79b132cc3f71bfaf55310dde00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: remove str::{connect,concat}*.</title>
<updated>2013-06-10T13:57:03+00:00</updated>
<author>
<name>Huon Wilson</name>
<email>dbau.pp+github@gmail.com</email>
</author>
<published>2013-06-10T13:25:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ccd0ac59e9a918f3c2a174e31213286dc6867d37'/>
<id>urn:sha1:ccd0ac59e9a918f3c2a174e31213286dc6867d37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>librustc: Stop reexporting the standard modules from prelude.</title>
<updated>2013-05-30T02:04:53+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-05-25T02:35:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=206ab89629298cc9f4b6fb0aa1cd7556c65b5bfe'/>
<id>urn:sha1:206ab89629298cc9f4b6fb0aa1cd7556c65b5bfe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>librustc: Change `std` to `extra` throughout libsyntax and librustc</title>
<updated>2013-05-23T04:57:08+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-05-18T19:39:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c532e033c9ee92d208a9bb2fac4c12d901932f42'/>
<id>urn:sha1:c532e033c9ee92d208a9bb2fac4c12d901932f42</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libextra: Rename the actual metadata names of libcore to libstd and libstd to libextra</title>
<updated>2013-05-23T04:57:07+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-05-17T22:28:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f3723cf7c486fd22544b71d27eca5ed7082c6dff'/>
<id>urn:sha1:f3723cf7c486fd22544b71d27eca5ed7082c6dff</id>
<content type='text'>
</content>
</entry>
</feed>
