about summary refs log tree commit diff
path: root/src/libsyntax/util
AgeCommit message (Collapse)AuthorLines
2013-08-03remove obsolete `foreach` keywordDaniel Micay-2/+2
this has been replaced by `for`
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-2/+2
2013-07-25syntax: Fix #6416 by aborting on errors after test parse.Graydon Hoare-5/+22
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-1/+1
`crate => Crate` `local => Local` `blk => Block` `crate_num => CrateNum` `crate_cfg => CrateConfig` Also, Crate and Local are not wrapped in spanned<T> anymore.
2013-07-18librustc: Forbid `&` pointers (other than `&'static`) inside `@` boxes.Patrick Walton-1/+1
This makes custom borrowing implementations for custom smart pointers sound.
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-4/+8
2013-06-28librustc: Rename Const to FreezePatrick Walton-1/+1
2013-06-25great renaming propagation: syntaxCorey Richardson-8/+2
2013-06-23vec: remove BaseIter implementationDaniel Micay-2/+2
I removed the `static-method-test.rs` test because it was heavily based on `BaseIter` and there are plenty of other more complex uses of static methods anyway.
2013-06-16Add copies to type params with Copy boundNiko Matsakis-3/+3
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-41/+41
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-06add test cases for fold traversing macrosJohn Clements-0/+78
2013-06-05add hygiene support functionsJohn Clements-1/+2
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-4/+14
2013-06-05removed obsolete reference to purityJohn Clements-3/+0
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-17/+17
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+5
to libextra
2013-05-20getting rid of interner_key! macroJohn Clements-59/+5
2013-05-20hygiene infrastructure.John Clements-12/+18
- added a hash table to memoize rename and mark operations. - added rename, mark, and resolve fold fns
2013-05-20refactoring test functionsJohn Clements-0/+96
2013-05-09Use a specialized string interner to reduce the need for owned stringsBjörn Steinbrink-0/+56
&str can be turned into @~str on demand, using to_owned(), so for strings, we can create a specialized interner that accepts &str for intern() and find() but stores and returns @~str.
2013-05-08librustc: Stop parsing modes and remove them entirely from the languagePatrick Walton-1/+1
2013-04-30new borrow checker (mass squash)Niko Matsakis-2/+2
2013-04-27only use #[no_core] in libcoreDaniel Micay-1/+0
2013-04-19librustc: Optimize metadata::decoder::item_name.Patrick Walton-0/+9
2013-04-16move interner_key macroJohn Clements-1/+15
2013-04-16libcore,std,syntax,rustc: move tests into `mod tests`, make them private (no ↵Huon Wilson-38/+42
pub mod or pub fn).
2013-04-03rename Linear{Map,Set} => Hash{Map,Set}Daniel Micay-3/+3
2013-04-03hashmap: rm linear namespaceDaniel Micay-1/+1
2013-03-22librustc: Remove `pure` from libsyntax and librustc.Patrick Walton-1/+1
2013-03-22librustc: Remove all uses of `static` from functions. rs=destaticPatrick Walton-2/+2
2013-03-20change some uses of fail_unless to assert_eqJohn Clements-41/+17
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-3/+7
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-08syntax: Remove uses of DVecAlex Crichton-4/+3
2013-03-07librustc: Convert all uses of `assert` over to `fail_unless!`Patrick Walton-17/+17
2013-03-02librustc: Forbid chained imports and fix the logic for one-level renaming ↵Patrick Walton-3/+2
imports
2013-02-22libsyntax: Remove all mutable fields from libsyntax. rs=demutingPatrick Walton-2/+2
2013-02-20librustc: Separate most trait bounds with '+'. rs=plussingPatrick Walton-3/+3
2013-02-19libsyntax: convert interner into a modern structErick Tryzelaar-40/+34
2013-02-15librustc: Stop parsing `impl Type : Trait` and fix several declarations that ↵Patrick Walton-1/+1
slipped through. r=tjc
2013-02-15libsyntax: Get rid of uses of `move` and don't parse it.Luqman Aden-1/+1
2013-02-13Remove die!, raplace invocations with fail! Issue #4524 pt 3Nick Desaulniers-2/+2
2013-02-05oldmap: use &K instead of K in find and getPatrick Walton-1/+1
This reverts commit a4250a96fdf61142a9c8dbb6d37ae8435c99e396. This is not the cause of the nonexhaustive-match failure.
2013-02-05Revert "oldmap: use &K instead of K in find and get"Graydon Hoare-1/+1
This reverts commit 8e643525d4e5bca993dada43615916c382a0645b.
2013-02-03oldmap: use &K instead of K in find and getDaniel Micay-1/+1
2013-02-03rename map -> oldmap and mark it as deprecatedDaniel Micay-3/+3
LinearMap is quite a bit faster, and is fully owned/sendable without requiring copies. The older std::map also doesn't use explicit self and relies on mutable fields.
2013-02-01Fix breakageBrian Anderson-2/+2
2013-01-31test cases, cleanupJohn Clements-0/+24
2013-01-29libsyntax: De-export libsyntax. rs=deexportingPatrick Walton-10/+8
2013-01-29librustc: Disallow trait bounds in types, enumerations, and structure ↵Patrick Walton-1/+1
definitions. r=tjc