about summary refs log tree commit diff
path: root/src/libsyntax/ext/pipes/check.rs
AgeCommit message (Collapse)AuthorLines
2013-08-01Remove the pipes compilerBrian Anderson-82/+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-07De-share ast::TyJames Miller-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-1/+1
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-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-22syntax/ext: modernise ext_ctxt to be CamelCase and use new.Huon Wilson-2/+2
2013-05-03add gitattributes and fix whitespace issuesDaniel Micay-1/+0
2013-04-27only use #[no_core] in libcoreDaniel Micay-2/+0
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-1/+2
For bootstrapping purposes, this commit does not remove all uses of the keyword "pure" -- doing so would cause the compiler to no longer bootstrap due to some syntax extensions ("deriving" in particular). Instead, it makes the compiler ignore "pure". Post-snapshot, we can remove "pure" from the language. There are quite a few (~100) borrow check errors that were essentially all the result of mutable fields or partial borrows of `@mut`. Per discussions with Niko I think we want to allow partial borrows of `@mut` but detect obvious footguns. We should also improve the error message when `@mut` is erroneously reborrowed.
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-3/+2
2013-02-27auto merge of #5141 : nikomatsakis/rust/region-syntax-expl-lifetimes, ↵bors-2/+2
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-2/+2
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-27librustc: Forbid `pub` or `priv` before trait implementationsPatrick Walton-1/+1
2013-02-19libsyntax: make enum variants take refsErick Tryzelaar-7/+7
2013-02-17libsyntax: Explicit-self-ify pipes compiler.Luqman Aden-3/+3
2013-02-15librustc: Stop parsing `impl Type : Trait` and fix several declarations that ↵Patrick Walton-1/+1
slipped through. r=tjc
2013-01-29libsyntax: De-export a lot of libsyntax. rs=deëxportingPatrick Walton-1/+2
2013-01-20Convert many libsyntax records into structsErick Tryzelaar-2/+2
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-0/+3
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-3/+0
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+3
module scope. r=tjc
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-1/+2
contain at least two components. r=graydon
2012-12-13librustc: Make `use` statements crate-relative by default. r=brsonPatrick Walton-1/+1
2012-12-04librustc: Remove all legacy pattern bindings from libsyntax and librustc. ↵Patrick Walton-5/+5
rs=refactoring
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10
2012-11-14Add types for character position and byte position in the codemapBrian Anderson-1/+0
2012-10-15rustc: Merge module and type namespaces. r=brsonPatrick Walton-2/+2
2012-09-04libsyntax: "import" -> "use"Patrick Walton-3/+3
2012-08-26Camel case the option typeBrian Anderson-2/+2
2012-08-23`m1!{...}` -> `m1!(...)`Paul Stansifer-6/+6
2012-08-22intern identifiersPaul Stansifer-6/+4
2012-08-08Convert impls to new syntaxBrian Anderson-4/+2
2012-08-06Convert alt to match. Stop parsing altBrian Anderson-1/+1
2012-08-05Switch alts to use arrowsBrian Anderson-2/+2
2012-07-30Change syntax extension syntax: `#m[...]` -> `m!{...}`.Paul Stansifer-6/+6
2012-07-25Thread spans through the pipe compiler. They aren't perfect, but they make ↵Eric Holk-4/+4
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-17Don't ICE when protocol steps to invalid mesasge.Eric Holk-21/+22
2012-07-17Error checking for protocols. We'll need spans though.Eric Holk-0/+74