about summary refs log tree commit diff
path: root/src/libsyntax/parse
AgeCommit message (Collapse)AuthorLines
2013-03-20change some uses of fail_unless to assert_eqJohn Clements-13/+11
2013-03-20libsyntax: Never use `::<>` in the type grammarPatrick Walton-2/+4
2013-03-20auto merge of #5443 : alexcrichton/rust/less-bad-copy, r=catamorphismbors-8/+9
Removes a lot of instances of `/*bad*/ copy` throughout libsyntax/librustc. On the plus side, this shaves about 2s off of the runtime when compiling `librustc` with optimizations. Ideally I would have run a profiler to figure out which copies are the most critical to remove, but in reality there was a liberal amount of `git grep`s along with some spot checking and removing the easy ones.
2013-03-19auto merge of #5442 : pcwalton/rust/extern-block-restriction, r=pcwaltonbors-38/+76
r? @graydon
2013-03-20syntax: Removing some bad copiesAlex Crichton-8/+9
2013-03-19libsyntax: Forbid `use` (and most other things) within `extern { ... }` blocksPatrick Walton-32/+54
2013-03-19libsyntax: Accept the new `[T, ..N]` style for vec.Patrick Walton-3/+9
2013-03-19libsyntax: Accept `static` instead of `const` for globalsPatrick Walton-4/+14
2013-03-19auto merge of #5426 : nikomatsakis/rust/issue-4846-lifetimes-in-expl-self, ↵bors-1/+62
r=pcwalton (this will be needed for snapshotting at some point) r? @pcwalton
2013-03-19auto merge of #5433 : lucab/rust/lucab/cfgspec, r=graydonbors-0/+16
All current meta items types (word, name-value, list) are now properly parsed by rustc --cfg command line. Fixes #2399
2013-03-19Make driver::driver::parse_cfgspecs parse any variety of meta_itemLuca Bruno-0/+16
All current meta items types (word, name-value, list) are now properly parsed by rustc --cfg command line. Fixes #2399 Signed-off-by: Luca Bruno <lucab@debian.org>
2013-03-18Allow constant expressions in [Type * n].Luqman Aden-17/+4
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-7/+12
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-18libsyntax: Stop parsing old lifetimes, except for the ones on data type ↵Patrick Walton-0/+11
declarations.
2013-03-18librustc: Convert all uses of old lifetime notation to new lifetime ↵Patrick Walton-1/+1
notation. rs=delifetiming
2013-03-18Make &self permit explicit lifetimes, but don't really use themNiko Matsakis-1/+62
(this will be needed for snapshotting at some point).
2013-03-15Update test case to conform to new restrictions on castingJohn Clements-3/+2
2013-03-15Test case fixup (old one tested the old bad behavior).John Clements-12/+12
2013-03-13libsyntax: Remove a use of deprecated Encodable from libsyntax. rs=burningtreePatrick Walton-1/+1
2013-03-13test: Fix tests. rs=testsPatrick Walton-1/+1
2013-03-13librustc: Don't require the "static" keyword to define a static methodPatrick Walton-10/+10
2013-03-13librustc: Remove implicit self from the language, except for old-style drop ↵Patrick Walton-1/+15
blocks.
2013-03-13librustc: Remove overloaded operator autoderef.Patrick Walton-1/+1
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-34/+34
2013-03-13Remove `++` mode from the compiler (it is parsed as `+` mode)Niko Matsakis-3/+12
and obsolete `-` mode altogether (it *was* parsed as `+` mode).
2013-03-13auto merge of #5293 : brson/rust/logging, r=brsonbors-4/+4
r? @graydon This removes `log` from the language. Because we can't quite implement it as a syntax extension (probably need globals at the least) it simply renames the keyword to `__log` and hides it behind macros. After this the only way to log is with `debug!`, `info!`, etc. I figure that if there is demand for `log!` we can add it back later. I am not sure that we ever agreed on this course of action, though I *think* there is consensus that `log` shouldn't be a statement.
2013-03-12Stop parsing __asm__.Luqman Aden-9/+0
2013-03-12Parse inline assembly.Luqman Aden-1/+10
2013-03-11Remove the log keyword (by renaming it to __log)Brian Anderson-2/+2
We can't quite remove logging from the language, but this hides the keyword.
2013-03-11Remove uses of logBrian Anderson-2/+2
2013-03-11libsyntax: Stop parsing newtype enumsPatrick Walton-10/+9
2013-03-11libsyntax: Remove newtype enums from libsyntax. rs=deenumPatrick Walton-4/+2
2013-03-11libsyntax: Stop parsing bare functions in preparation for switching them overPatrick Walton-1/+16
2013-03-11librustc: Replace all uses of `fn()` with `&fn()`. rs=defunPatrick Walton-10/+10
2013-03-11Implement vector destructuring from tailSeo Sanghyeon-15/+25
2013-03-09Remove @ast::Region and replace with @ast::Lifetime.Niko Matsakis-91/+80
Modify pretty-printer to emit lifetimes and fix a few minor parser bugs that this uncovered.
2013-03-08Fix dvec-related fallout in testsAlex Crichton-3/+3
2013-03-07librustc: Stop parsing `assert`.Patrick Walton-3/+9
2013-03-07librustc: Convert all uses of `assert` over to `fail_unless!`Patrick Walton-15/+15
2013-03-07librustc: Remove record patterns from the compilerPatrick Walton-5/+11
2013-03-07libsyntax: Remove struct literal expressions from the compilerPatrick Walton-29/+1
2013-03-07librustc: Remove structural record types from the compilerPatrick Walton-2/+2
2013-03-07libsyntax: Stop parsing structural record typesPatrick Walton-0/+7
2013-03-07add deriving_eq for tokensJohn Clements-273/+2
2013-03-06auto merge of #5255 : jbclements/rust/remove-parse-value-ident, r=graydonbors-40/+16
After the removal of the "restricted keyword" feature in 0c82c00dc4f49aeb9b57c92c9a40ae35d8a1ee29 , there's no longer any difference between parse_ident() and parse_value_ident(), and therefore no difference between parse parse_path_without_tps() and parse_value_path(). I've collapsed all of these, removing the redundant functions and eliminating the need for two higher-order arguments.
2013-03-06Permit either foo/&self or foo<'self>Niko Matsakis-9/+33
2013-03-06finish removing parse_value_identJohn Clements-15/+7
2013-03-06removed unused abstraction over paths and value_pathsJohn Clements-25/+9
2013-03-05libsyntax: Separate multiple inherited traits with `+`Patrick Walton-1/+1
2013-03-04Adding missing imports for tests, and gate off othersAlex Crichton-1/+0