about summary refs log tree commit diff
path: root/src/libsyntax/ext/pipes/parse_proto.rs
AgeCommit message (Collapse)AuthorLines
2013-08-01Remove the pipes compilerBrian Anderson-124/+0
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.
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-1/+1
2013-06-25great renaming propagation: syntaxCorey Richardson-2/+0
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-8/+8
This almost removes the StringRef wrapper, since all strings are Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts several things to be &'static str (the lint table and the intrinsics table). There are many instances of .to_managed(), unfortunately.
2013-06-05removed unused imports (and one unused argument)John Clements-1/+1
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-5/+5
2013-06-05just use TLS internerJohn Clements-4/+5
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-1/+1
2013-05-12librustc: Make `self` and `static` into keywordsPatrick Walton-2/+2
2013-04-27only use #[no_core] in libcoreDaniel Micay-2/+0
2013-04-19syntax: de-mode and prepare for de-modeing rustcAlex Crichton-2/+2
2013-03-04Remove unused imports throughout src/Alex Crichton-1/+0
2013-03-01Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-0/+2
2013-02-28Fix implicit leaks of imports throughout librariesAlex Crichton-0/+2
Also touch up use of 'pub' and move some tests around so the tested functions don't have to be 'pub'
2013-02-28Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-4/+4
2013-02-27auto merge of #5141 : nikomatsakis/rust/region-syntax-expl-lifetimes, ↵bors-4/+4
r=nikomatsakis Major changes are: - replace ~[ty_param] with Generics structure, which includes both OptVec<TyParam> and OptVec<Lifetime>; - the use of syntax::opt_vec to avoid allocation for empty lists; cc #4846 r? @graydon
2013-02-27Introduce lifetime declarations into the lists of type parameters.Niko Matsakis-4/+4
Major changes are: - replace ~[ty_param] with Generics structure, which includes both OptVec<TyParam> and OptVec<Lifetime>; - the use of syntax::opt_vec to avoid allocation for empty lists; cc #4846
2013-02-27Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-1/+1
2013-02-27librustc: Forbid `pub` or `priv` before trait implementationsPatrick Walton-1/+1
2013-02-26libsyntax: remove vecs_implicitly_copyable from the syntax extensionsErick Tryzelaar-5/+5
2013-02-26libsyntax: change attr::parse_seq_* to take &TokenErick Tryzelaar-7/+7
2013-02-25libsyntax: add some explicit copiesErick Tryzelaar-20/+36
2013-02-25libsyntax: change expect to take &token::TokenErick Tryzelaar-2/+2
2013-02-22libsyntax: De-mut the parser. rs=demutingPatrick Walton-9/+10
2013-02-21Get rid of structural records in libsyntax and the last bit in librustc.Luqman Aden-14/+17
2013-02-17libsyntax: Explicit-self-ify pipes compiler.Luqman Aden-6/+6
2013-02-15librustc: Stop parsing `impl Type : Trait` and fix several declarations that ↵Patrick Walton-1/+1
slipped through. r=tjc
2013-02-13Remove die!, raplace invocations with fail! Issue #4524 pt 3Nick Desaulniers-2/+2
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-2/+2
2013-01-29libsyntax: De-export a lot of libsyntax. rs=deëxportingPatrick Walton-2/+2
2013-01-20Convert many libsyntax records into structsErick Tryzelaar-1/+1
Specifically: ast_map::ctx ast_util::id_range diagnostic::{handler_t,codemap_t} auto_encode::field ext::base::{macro_def,syntax_expander_tt,syntax_expander_tt_item} ext::pipes::proto::next_state
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-1/+2
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-2/+1
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-1/+2
module scope. r=tjc
2012-12-13librustc: Make `use` statements crate-relative by default. r=brsonPatrick Walton-1/+1
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10
2012-11-29impls of traits cannot define methods on the anonymous traitBrian Anderson-0/+1
2012-10-15rustc: Merge module and type namespaces. r=brsonPatrick Walton-1/+1
2012-09-04libsyntax: "import" -> "use"Patrick Walton-3/+3
2012-08-26Camel case the option typeBrian Anderson-6/+6
2012-08-22intern identifiersPaul Stansifer-7/+8
2012-08-08Convert impls to new syntaxBrian Anderson-1/+1
2012-08-06Convert alt to match. Stop parsing altBrian Anderson-3/+3
2012-08-05Switch alts to use arrowsBrian Anderson-10/+8
2012-08-01Convert ret to returnBrian Anderson-1/+1
2012-07-25Thread spans through the pipe compiler. They aren't perfect, but they make ↵Eric Holk-2/+2
debugging far easier than core.rc:0:0. Changed the is_bounded check, so we fail compiling core right now due to not supporting type parameters.
2012-07-17rustc: Implement and enforce instance coherencePatrick Walton-1/+6
2012-07-16Add support for terminal states (issue #2862)Eric Holk-22/+34
2012-07-14Move the world over to using the new style string literals and types. Closes ↵Michael Sullivan-2/+2
#2907.