about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
AgeCommit message (Collapse)AuthorLines
2013-12-01auto merge of #10750 : Blei/rust/no-at-struct-field, r=alexcrichtonbors-7/+7
2013-12-01ast: Remove one `@` and fix the falloutPhilipp Brüschweiler-7/+7
2013-12-01Box Block, fn_decl, variant and Ty in the AST, as they were inflating ↵Eduard Burtescu-62/+78
critical enum sizes.
2013-11-29libstd: Change `Path::new` to `Path::init`.Patrick Walton-2/+2
2013-11-28Register new snapshotsAlex Crichton-42/+39
2013-11-27Freeze the AST by removing a couple of unused @mut ~[T] from token_tree.Eduard Burtescu-2/+2
2013-11-26libsyntax: Remove all non-`proc` `do` syntax.Patrick Walton-25/+21
2013-11-26libsyntax: Remove the old-style borrowed closure type syntax from thePatrick Walton-1/+2
language.
2013-11-26Removed unneccessary `_iter` suffixes from various APIsMarvin Löbel-1/+1
2013-11-25auto merge of #10628 : huonw/rust/3614, r=alexcrichtonbors-7/+17
Fixes #3614.
2013-11-25syntax: parse inner attributes on impls.Huon Wilson-7/+17
Fixes #3614.
2013-11-24Add a note for unclosed delimitersCorey Richardson-9/+7
Currently, the parser doesn't give any context when it finds an unclosed delimiter and it's not EOF. Report the most recent unclosed delimiter, to help the user along. Closes #10636
2013-11-20auto merge of #10567 : sanxiyn/rust/bytepos, r=alexcrichtonbors-1/+1
2013-11-20Make BytePos 32-bitSeo Sanghyeon-1/+1
2013-11-19libsyntax: Change all uses of `&fn` to `||`.Patrick Walton-46/+53
2013-11-18libsyntax: Remove `~fn()` from the languagePatrick Walton-2/+4
2013-11-18Use '..' as slice wildcard in vectorsBrian Anderson-11/+29
2013-11-18Use '..' as multi-field wildcard in enums and structs.Brian Anderson-1/+16
2013-11-11Fix path parsingSeo Sanghyeon-4/+0
2013-11-08Generalize AST and ty::Generics to accept multiple lifetimes.Niko Matsakis-40/+15
2013-11-04libsyntax/librustc: Allow calling variadic foreign functions.Luqman Aden-19/+62
2013-10-31librustc: Implement `|A| -> B` syntax for closures and make bare `fn`Patrick Walton-31/+155
work
2013-10-29auto merge of #10134 : reedlepee123/rust/priv_fields, r=brsonbors-7/+4
2013-10-29librustc: Implement the `proc` type as sugar for `~once fn` and `proc`Patrick Walton-1/+56
notation for closures, and disable the feature gate for `once fn` if used with the `~` sigil.
2013-10-29removed extra linereedlepee-1/+0
2013-10-29Indentationreedlepee-1/+1
2013-10-29updated the places where the struct is created #7427reedlepee-2/+3
2013-10-29Changed name to non_copyable #7427reedlepee-1/+1
2013-10-29Added the comment #7427reedlepee-1/+1
2013-10-29Replaced empty destructors with NonCopyable #7427reedlepee-5/+2
closes #7427
2013-10-28Field identifiers now include specific spans (Closes #8263).Joshua Yanovski-1/+2
2013-10-25libsyntax: Get rid of some logic for some obsolete syntax.Luqman Aden-14/+5
2013-10-25libsyntax/librustc: Allow mut qualifier in patterns.Luqman Aden-21/+10
2013-10-22libsyntax/librustc: Allow specifying mut on ~self.Luqman Aden-1/+9
2013-10-22libsyntax/librustc: Allow specifying mut on by-value self.Luqman Aden-14/+16
2013-10-22Drop the '2' suffix from logging macrosAlex Crichton-13/+13
Who doesn't like a massive renaming?
2013-10-16path2: Update based on more review feedbackKevin Ballard-1/+1
Standardize the is_sep() functions to be the same in both posix and windows, and re-export from path. Update extra::glob to use this. Remove the usage of either, as it's going away. Move the WindowsPath-specific methods out of WindowsPath and make them top-level functions of path::windows instead. This way you cannot accidentally write code that will fail to compile on non-windows architectures without typing ::windows anywhere. Remove GenericPath::from_c_str() and just impl BytesContainer for CString instead. Remove .join_path() and .push_path() and just implement BytesContainer for Path instead. Remove FilenameDisplay and add a boolean flag to Display instead. Remove .each_parent(). It only had one caller, so just inline its definition there.
2013-10-15path2: Remove .with_display_str and friendsKevin Ballard-2/+2
Rewrite these methods as methods on Display and FilenameDisplay. This turns do path.with_display_str |s| { ... } into do path.display().with_str |s| { ... }
2013-10-15path2: Adjust the API to remove all the _str mutation methodsKevin Ballard-5/+5
Add a new trait BytesContainer that is implemented for both byte vectors and strings. Convert Path::from_vec and ::from_str to one function, Path::new(). Remove all the _str-suffixed mutation methods (push, join, with_*, set_*) and modify the non-suffixed versions to use BytesContainer.
2013-10-15path2: Replace the path module outrightKevin Ballard-21/+16
Remove the old path. Rename path2 to path. Update all clients for the new path. Also make some miscellaneous changes to the Path APIs to help the adoption process.
2013-10-10Remove named extern blocks from the ASTAlex Crichton-7/+5
There's currently a fair amount of code which is being ignored on unnamed blocks (which are the default now), and I opted to leave it commented out for now. I intend on very soon revisiting on how we perform linking with extern crates in an effort to support static linking.
2013-10-09option: rewrite the API to use compositionDaniel Micay-2/+2
2013-10-08auto merge of #9753 : alexcrichton/rust/macro-attrs, r=brsonbors-3/+0
It's unclear to me why these currently aren't allowed, and my best guess is that a long time ago we didn't strip the ast of cfg nodes before syntax expansion. Now that this is done, I'm not certain that we should continue to prohibit this functionality. This is a step in the right direction towards #5605, because now we can add an empty `std::macros` module to the documentation with a bunch of empty macros explaining how they're supposed to be used.
2013-10-08Allow attributes on macrosAlex Crichton-3/+0
It's unclear to me why these currently aren't allowed, and my best guess is that a long time ago we didn't strip the ast of cfg nodes before syntax expansion. Now that this is done, I'm not certain that we should continue to prohibit this functionality. This is a step in the right direction towards #5605, because now we can add an empty `std::macros` module to the documentation with a bunch of empty macros explaining how they're supposed to be used.
2013-10-08auto merge of #9756 : catamorphism/rust/issue-2354, r=alexcrichtonbors-1/+11
r? anybody It's more helpful to list the span of each open delimiter seen so far than to print out an error with the span of the last position in the file. Closes #2354
2013-10-08add new enum ast::StrStyle as field to ast::lit_strBenjamin Herr-22/+22
For the benefit of the pretty printer we want to keep track of how string literals in the ast were originally represented in the source code. This commit changes parser functions so they don't extract strings from the token stream without at least also returning what style of string literal it was. This is stored in the resulting ast node for string literals, obviously, for the package id in `extern mod = r"package id"` view items, for the inline asm in `asm!()` invocations. For `asm!()`'s other arguments or for `extern "Rust" fn()` items, I just the style of string, because it seemed disproportionally cumbersome to thread that information through the string processing that happens with those string literals, given the limited advantage raw string literals would provide in these positions. The other syntax extensions don't seem to store passed string literals in the ast, so they also discard the style of strings they parse.
2013-10-07syntax: Remove unnecessary @Tim Chevalier-3/+3
2013-10-07syntax: Display spans for open delimiters when a file ends prematurelyTim Chevalier-1/+11
It's more helpful to list the span of each open delimiter seen so far than to print out an error with the span of the last position in the file. Closes #2354
2013-10-08add token::LIT_STR_RAW(ident, num of # symbols)Benjamin Herr-2/+5
Treat it as a synonym for LIT_STR for now.
2013-10-04Remove specific errors for very old obsolete syntaxBenjamin Herr-283/+56
Replaces existing tests for removed obsolete-syntax errors with tests for the resulting regular errors, adds a test for each of the removed parser errors to make sure that obsolete forms don't start working again, removes some obsolete/superfluous tests that were now failing. Deletes some amount of dead code in the parser, also includes some small changes to parser error messages to accomodate new tests.