about summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2013-05-03rustc: Handle struct patterns where the expected type is an enumTim Chevalier-3/+3
Previously, rustc would ICE if you matched on an enum-typed thing with a structure pattern. Error out correctly.
2013-05-03auto merge of #6046 : brson/rust/io, r=graydonbors-1/+1
r? @pcwalton Sorry this is so big, and sorry the first commit is just titled 'wip'. Some interesting bits * [LocalServices](https://github.com/brson/rust/commit/f9069baa70ea78117f2087fe6e359fb2ea0ae16a) - This is the set of runtime capabilities that *all* Rust code should expect access to, including the local heap, GC, logging, unwinding. * [impl Reader, etc. for Option](https://github.com/brson/rust/commit/5fbb0949a53a6ac51c6d9b187ef4c464e52ae536) - Constructors like `File::open` return Option<FileStream>. This lets you write I/O code without ever unwrapping an option. This series adds a lot of [documentation](https://github.com/brson/rust/blob/io/src/libcore/rt/io/mod.rs#L11) to `core::rt::io`.
2013-05-03Avoid needless creation of unique strings in fmt!()Björn Steinbrink-4/+2
Only the first portion has to be owned, as it acts as the buffer for the constructed string. The remaining strings can be static.
2013-05-02Merge remote-tracking branch 'brson/io' into incomingBrian Anderson-1/+1
Conflicts: mk/rt.mk src/libcore/run.rs
2013-05-02librustc: Update the serializer to work properly with INHTWAMA, removing ↵Patrick Walton-121/+332
mutable fields in the process
2013-05-02fix numerous dynamic borrow failuresNiko Matsakis-1/+1
2013-05-03More accurate spansSeo Sanghyeon-4/+4
2013-05-03Use static stringsJeong YunWon-39/+32
2013-05-02More cases of [cfg(test)] instead of [test].Felix S. Klock II-1/+1
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-202/+0
2013-05-01syntax: fix up dynamic borrow errors in libsyntaxNiko Matsakis-10/+10
2013-05-01auto merge of #6148 : erickt/rust/remove-drop, r=pcwaltonbors-313/+115
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-01remove some warningsErick Tryzelaar-2/+2
2013-05-01syntax: remove parse::token::{dtor,literally_dtor}Erick Tryzelaar-75/+70
2013-05-01allow parsing attributes on struct fieldsErick Tryzelaar-17/+31
2013-05-01rustc: remove the rest of dropErick Tryzelaar-148/+5
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
2013-05-01rustc: print out filename/line-number when a borrow failsNiko Matsakis-1/+1
2013-05-01Revert rename of Div to QuotBrendan Zabarauskas-7/+7
2013-04-30Merge remote-tracking branch 'brson/io'Brian Anderson-1/+1
Conflicts: src/libcore/task/local_data_priv.rs
2013-04-30allover: numerous unused muts etcNiko Matsakis-3/+2
2013-04-30new borrow checker (mass squash)Niko Matsakis-111/+141
2013-04-30adapt to snapshotNiko Matsakis-20/+0
2013-04-29libstd: Fix merge fallout.Patrick Walton-16/+14
2013-04-29librustc: Forbid type implementations on typedefs.Patrick Walton-2/+49
2013-04-29librustc: Change labels to use the lifetime notation `'`.Patrick Walton-29/+68
2013-04-29test: Fix tests.Patrick Walton-1/+3
2013-04-29librustc: Remove the concept of modes from the compiler.Patrick Walton-99/+52
This commit does not remove `ty::arg`, although that should be possible to do now.
2013-04-29librustc: Remove `ptr::addr_of`.Patrick Walton-5/+3
2013-04-29auto merge of #6083 : jbclements/rust/parser-cleanup, r=jbclementsbors-542/+870
r? @pcwalton A month's worth of parser cleanup here. Much of this is new comments and renaming. A number of these commits also remove unneeded code. Probably the biggest refactor here is splitting "parse_item_or_view_item" into two functions; it turns out that the only overlap between items in foreign modules and items in regular modules was macros, so this refactor should make things substantially easier for future maintenance.
2013-04-28make way for a new iter moduleDaniel Micay-21/+22
2013-04-28parser commentsJohn Clements-12/+82
2013-04-28s/one_tuple/trailing_comma (more accurate name)John Clements-3/+3
2013-04-28removed unneeded argument to parse_recordJohn Clements-4/+5
2013-04-28s/parse_purity/parse_unsafetyJohn Clements-3/+4
2013-04-28remove 3-line used-once functionJohn Clements-8/+4
2013-04-28rename parse_instance_var to parse_name_and_tyJohn Clements-3/+3
the name no longer made sense. perhaps this could just be inlined.
2013-04-28remove obsolete semicolon from list of suggestionsJohn Clements-1/+1
2013-04-28rename parse_single_class_item as wellJohn Clements-5/+6
2013-04-28rename parse_class_item to parse_struct_decl_fieldJohn Clements-3/+4
two problems with the old name: they're not called classes any more, and the word "item" has a specific connotation in the parser
2013-04-28needs_comma was always trueJohn Clements-3/+2
2013-04-28fix for parsing x() as identifier patternJohn Clements-17/+14
2013-04-28hard to read the implied double negativeJohn Clements-4/+4
2013-04-28remove unused functions, fix tiny lexing bugJohn Clements-10/+1
before this change, the parser would parse 14.a() as a method call, but would parse 14.ø() as the floating-point number 14. followed by a function call. This is because it was checking is_alpha, rather than ident_start, and was therefore wrong with respect to unicode.
2013-04-28remove unused flag to parse_local fnJohn Clements-5/+4
2013-04-28remove unused RESTRICT_NO_CALL_EXPRS restrictionJohn Clements-7/+2
2013-04-28undo abstraction over whether to parse attrs in a blockJohn Clements-32/+19
In principle, it seems like a nice idea to abstract over the two functions that parse blocks (one with inner attrs allowed, one not). However, the existing one wound up making things more complex than just having two separate functions, especially after the obsolete syntax is (will be) removed.
2013-04-28refactoring to split foreign_items from itemsJohn Clements-164/+169
2013-04-28parser commentsJohn Clements-6/+20
parser comments
2013-04-28get rid of prec.rsJohn Clements-58/+34
prec.rs no longer had much to do with precedence; the token->binop function fits better in token.rs, and the one-liner defining the precedence of 'as' can go next to the other precedence stuff in ast_util.rs