about summary refs log tree commit diff
path: root/src/libsyntax/ext/pipes/liveness.rs
AgeCommit message (Collapse)AuthorLines
2013-08-01Remove the pipes compilerBrian Anderson-106/+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-08-01migrate many `for` loops to `foreach`Daniel Micay-2/+2
2013-07-17librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.Patrick Walton-6/+6
2013-06-25great renaming propagation: syntaxCorey Richardson-2/+0
2013-06-21vec: rm old_iter implementations, except BaseIterDaniel Micay-4/+4
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`.
2013-06-11fix tests, remove some warningsHuon Wilson-1/+0
2013-06-10std: remove str::{connect,concat}*.Huon Wilson-1/+1
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+1
2013-05-22librustc: Change `std` to `extra` throughout libsyntax and librustcPatrick Walton-1/+1
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-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-1/+1
2013-05-05Fix two more write guard failuresNiko Matsakis-1/+1
2013-05-05Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freezeNiko Matsakis-1/+0
Conflicts: src/libcore/core.rc src/libcore/hashmap.rs src/libcore/num/f32.rs src/libcore/num/f64.rs src/libcore/num/float.rs src/libcore/num/int-template.rs src/libcore/num/num.rs src/libcore/num/strconv.rs src/libcore/num/uint-template.rs src/libcore/ops.rs src/libcore/os.rs src/libcore/prelude.rs src/libcore/rt/mod.rs src/libcore/unstable/lang.rs src/librustc/driver/session.rs src/librustc/middle/astencode.rs src/librustc/middle/borrowck/check_loans.rs src/librustc/middle/borrowck/gather_loans.rs src/librustc/middle/borrowck/loan.rs src/librustc/middle/borrowck/preserve.rs src/librustc/middle/liveness.rs src/librustc/middle/mem_categorization.rs src/librustc/middle/region.rs src/librustc/middle/trans/base.rs src/librustc/middle/trans/inline.rs src/librustc/middle/trans/reachable.rs src/librustc/middle/typeck/check/_match.rs src/librustc/middle/typeck/check/regionck.rs src/librustc/util/ppaux.rs src/libstd/arena.rs src/libstd/ebml.rs src/libstd/json.rs src/libstd/serialize.rs src/libstd/std.rc src/libsyntax/ast_map.rs src/libsyntax/parse/parser.rs src/test/compile-fail/borrowck-uniq-via-box.rs src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs src/test/run-pass/borrowck-nested-calls.rs
2013-05-03add gitattributes and fix whitespace issuesDaniel Micay-1/+0
2013-04-30new borrow checker (mass squash)Niko Matsakis-2/+2
2013-04-27only use #[no_core] in libcoreDaniel Micay-3/+0
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-2/+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-15impl Clone for ~T, ~[T], ~strBen Striegel-1/+1
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-1/+1
2013-02-26libsyntax: remove vecs_implicitly_copyable from the syntax extensionsErick Tryzelaar-1/+1
2013-02-17Modernize bitv mut fields and explicit selfAlex Crichton-4/+8
2013-02-15libsyntax: Get rid of uses of `move` and don't parse it.Luqman Aden-1/+1
2013-01-29libsyntax: De-export libsyntax. rs=deexportingPatrick Walton-1/+1
2013-01-29libsyntax: De-export a lot of libsyntax. rs=deëxportingPatrick Walton-1/+2
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+5
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-5/+0
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+5
module scope. r=tjc
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-0/+1
contain at least two components. r=graydon
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-2/+0
2012-09-26Demode vec::push (and convert to method)Niko Matsakis-1/+1
2012-09-10Make all moves explicit in libsyntaxTim Chevalier-1/+1
2012-09-04libsyntax: "import" -> "use"Patrick Walton-2/+2
2012-08-28CamelCasify lots of stdBen Striegel-3/+3
2012-08-26Camel case the option typeBrian Anderson-2/+2
2012-08-23`m1!{...}` -> `m1!(...)`Paul Stansifer-8/+8
2012-08-22intern identifiersPaul Stansifer-3/+3
2012-08-08Convert impls to new syntaxBrian Anderson-3/+0
2012-07-30Change syntax extension syntax: `#m[...]` -> `m!{...}`.Paul Stansifer-8/+8
2012-07-29Rewrite bitv to use classes and optimize its representationTim Chevalier-2/+2
Rewrote bitv as a class that uses a 32-bit int as its representation for bit vectors of 32 bits or less, and a vector (the old representation) otherwise. I didn't benchmark very much, but a bit of informal benchmarking suggested this is a win. Closes #2341
2012-07-25Refactor the bounded pingpong example to avoid needing to generate unsafe code.Eric Holk-0/+3
Took some steps towards bounded codegen.
2012-07-17Added liveness analysis for protocols, and removed warnings about empty states.Eric Holk-0/+91