about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
AgeCommit message (Collapse)AuthorLines
2013-06-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-8/+13
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-04libsyntax: Remove `pub impl` from the languagePatrick Walton-5/+4
2013-06-01syntax: move callee_id into the expr_ variantsErick Tryzelaar-25/+52
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-113/+106
2013-05-31auto merge of #6833 : fdr/rust/fix-warnings, r=Aatchbors-1/+0
Fix a laundry list of warnings involving unused imports that glutted up compilation output. There are more, but there seems to be some false positives (where 'remedy' appears to break the build), but this particular set of fixes seems safe.
2013-05-30Remove unnecessary 'use' formsDaniel Farina-1/+0
Fix a laundry list of warnings involving unused imports that glutted up compilation output. There are more, but there seems to be some false positives (where 'remedy' appears to break the build), but this particular set of fixes seems safe.
2013-05-30Remove copy bindings from patterns.Niko Matsakis-56/+51
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+2
2013-05-29libsyntax: Stop parsing mutable fieldsPatrick Walton-6/+4
2013-05-28Remove unnecessary allocations flagged by lintSeo Sanghyeon-3/+3
2013-05-25auto merge of #6722 : alexcrichton/rust/issue-4219-no-merge-hack, r=brsonbors-34/+1
Changes the int/uint modules to all use macros instead of using the `merge` attribute. It would be nice to have #4375 resolved as well for this, but that can probably come at a later date. Closes #4219.
2013-05-25Use an enum for keywords and intern them to improve parser performanceBjörn Steinbrink-111/+105
Currently, keywords are stored in hashsets that are recreated for every Parser instance, which is quite expensive since macro expansion creates lots of them. Additionally, the parser functions that look for a keyword currently accept a string and have a runtime check to validate that they actually received a keyword. By creating an enum for the keywords and inserting them into the ident interner, we can avoid the creation of the hashsets and get static checks for the keywords. For libstd, this cuts the parse+expansion part from ~2.6s to ~1.6s.
2013-05-24Remove the #[merge] hack from the parserAlex Crichton-34/+1
2013-05-23cleanup warnings from libsyntaxErick Tryzelaar-3/+3
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-22Fix #6342Jihyun Yu-4/+9
2013-05-21Correct span for expr_vecSeo Sanghyeon-1/+1
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-25/+25
2013-05-20detect unused attrs in one more place, allow parsing to continue for allJohn Clements-24/+37
changed a bunch of fatal()'s into err()'s, to allow parsing to proceed.
2013-05-20parser commentJohn Clements-0/+1
2013-05-19Fix many warnings.Steve Klabnik-2/+2
2013-05-16Add BuiltinBounds to closure type: parse and handle subtyping,Niko Matsakis-10/+13
but do not integrate with kindck etc (requires a snapshot first)
2013-05-15auto merge of #6499 : dotdash/rust/static_keywords, r=thestingerbors-102/+102
2013-05-15auto merge of #6487 : recrack/rust/vec_len, r=thestingerbors-2/+2
Rename vec::len(var) to var.len() ``` libcore, libfuzzer, librustc, librustdoc, libstd, libsyntax test/auxiliary test/bench test/run-pass ```
2013-05-15Allow static strings to be used with keyword checksBjörn Steinbrink-102/+102
2013-05-14rustc: rename ast::self_ty and related fields to explicit_selfErick Tryzelaar-18/+18
2013-05-15Rename vec::len(var) to var.len()Youngmin Yoo-2/+2
2013-05-14Fix test fallout from removing vecs_implicitly_copyableAlex Crichton-1/+1
2013-05-14syntax: Remove #[allow(vecs_implicitly_copyable)]Alex Crichton-18/+21
2013-05-12libsyntax: Tighten up expressions in patterns to only allow identifiers or ↵Patrick Walton-3/+30
literals (possibly with a minus). This had very minimal fallout.
2013-05-12librustc: Make `self` and `static` into keywordsPatrick Walton-34/+31
2013-05-12libsyntax: Remove `extern mod foo { ... }` from the language.Patrick Walton-6/+11
2013-05-10Remove the '<->' operator from the languageAlex Crichton-4/+6
2013-05-09back-ticksLenny222-1/+1
2013-05-08librustc: Stop parsing modes and remove them entirely from the languagePatrick Walton-9/+6
2013-05-08librustc: Remove mutable fields from the language.Patrick Walton-4/+4
They're still parsed though, to get through bootstrapping.
2013-05-07auto merge of #6245 : youknowone/rust/match-range-static, r=graydonbors-2/+8
Fix unintended error problem of: ```` static s: int = 1; static e: int = 42; fn main() { match 7 { s..e => (), ^~ error: expected `=>` but found `..` _ => (), } } ````
2013-05-06Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freezeNiko Matsakis-2/+2
2013-05-05Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freezeNiko Matsakis-137/+59
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-05auto merge of #6208 : sanxiyn/rust/accurate-span, r=sanxiynbors-2/+2
2013-05-05Allow non-literal static range pattern for match armsJeong YunWon-2/+8
Fix unintended error problem of: static s: int = 1; static e: int = 42; fn main() { match 7 { s..e => (), ^~ error: expected `=>` but found `..` _ => (), } }
2013-05-03syntax: Warning policeTim Chevalier-3/+3
2013-05-03More accurate spansSeo Sanghyeon-2/+2
2013-05-03Use static stringsJeong YunWon-38/+31
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-11/+0
2013-05-01syntax: fix up dynamic borrow errors in libsyntaxNiko Matsakis-8/+8
2013-05-01auto merge of #6148 : erickt/rust/remove-drop, r=pcwaltonbors-85/+25
The drop block has been deprecated for quite some time. This patch series removes support for parsing it and all the related machinery that made drop work. As a side feature of all this, I also added the ability to annote fields in structs. This allows comments to be properly associated with an individual field. However, I didn't update `rustdoc` to integrate these comment blocks into the documentation it generates.
2013-05-01allow parsing attributes on struct fieldsErick Tryzelaar-12/+18
2013-05-01rustc: remove the rest of dropErick Tryzelaar-2/+0
Removes: ast::struct_def::dtor syntax::ast::ii_dtor syntax::visit::fk_dtor syntax::ast_map::node_dtor syntax:struct_dtor
2013-05-01syntax: remove parsing destructorsErick Tryzelaar-78/+14