Skip to content

Commit eb5743b

Browse files
committed
auto merge of #8170 : brson/rust/nopipes, r=pcwalton
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` protcol and the unbounded `stream` protocol 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. Concerned parties may include: @graydon, @pcwalton, @eholk, @bblum The most likely candidates for closing are #7666, #3018, #3020, #7021, #7667, #7303, #3658, #3295.
2 parents 82b2455 + 4b3e766 commit eb5743b

23 files changed

+3
-2369
lines changed

src/libsyntax/ext/base.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ pub enum SyntaxExtension {
8181
// An IdentTT is a macro that has an
8282
// identifier in between the name of the
8383
// macro and the argument. Currently,
84-
// the only examples of this are
85-
// macro_rules! and proto!
84+
// the only examples of this is
85+
// macro_rules!
8686

8787
// perhaps macro_rules! will lose its odd special identifier argument,
8888
// and this can go away also
@@ -197,8 +197,6 @@ pub fn syntax_expander_table() -> SyntaxEnv {
197197
syntax_expanders.insert(intern(&"module_path"),
198198
builtin_normal_tt(
199199
ext::source_util::expand_mod));
200-
syntax_expanders.insert(intern(&"proto"),
201-
builtin_item_tt(ext::pipes::expand_proto));
202200
syntax_expanders.insert(intern(&"asm"),
203201
builtin_normal_tt(ext::asm::expand_asm));
204202
syntax_expanders.insert(

src/libsyntax/ext/pipes/ast_builder.rs

-63
This file was deleted.

src/libsyntax/ext/pipes/check.rs

-82
This file was deleted.

src/libsyntax/ext/pipes/liveness.rs

-106
This file was deleted.

src/libsyntax/ext/pipes/mod.rs

-84
This file was deleted.

0 commit comments

Comments
 (0)