Patrick Walton
55ee06b8ce
libsyntax: Accept "1..3" as the preferred form of "1 to 3" in patterns
2012-08-13 17:37:08 -07:00
Patrick Walton
9b5266d745
libsyntax: Refactor item parsing so that items and view items are parsed in the same function.
...
This is a step on the way to "extern mod foo;" and replacing "import" with "use".
2012-08-13 17:12:35 -07:00
Eric Holk
4ec1dd9914
Got the select macro working.
2012-08-13 16:20:23 -07:00
Patrick Walton
87f4c15311
rustc: Make functional record and struct update use ".." instead of "with".
...
"with" is still accepted for backwards compatibility.
2012-08-13 16:07:12 -07:00
Michael Sullivan
5fd891f10b
Fix method mode parsing bug. Closes #3191 .
2012-08-13 12:30:07 -05:00
Daniel Patterson
f9946f37aa
syntax: better formatting of closures in pretty printer and more verbose debugging messages
2012-08-11 13:04:50 -07:00
Eric Holk
b354fe2a91
report local ambiguity errors earlier
2012-08-10 12:23:16 -07:00
Patrick Walton
5c9c9a6a9f
libsyntax: Parse common enum fields
2012-08-08 19:51:48 -07:00
Brian Anderson
99a571585c
syntax: Pretty print impls with new syntax
2012-08-08 18:19:26 -07:00
Brian Anderson
436a90e3d7
syntax: Stop supporting old impl syntax
2012-08-08 18:19:26 -07:00
Brian Anderson
6a0720b439
Convert impls to new syntax
2012-08-08 18:19:24 -07:00
Patrick Walton
4f98e80db1
rustc: Do some plumbing work in preparation for common fields in enums
2012-08-08 17:15:37 -07:00
Patrick Walton
f110e8f21c
rustc: Do some plumbing work on nested enums
2012-08-08 14:19:21 -07:00
Niko Matsakis
52c517383e
improve borrowck error messages to explain regions better
2012-08-07 20:59:06 -07:00
Patrick Walton
5ce3281a62
rustc: Parse variant structs; add a trivial test case
2012-08-07 18:55:19 -07:00
Patrick Walton
438765da59
rustc: Box struct_defs
2012-08-07 17:46:51 -07:00
Michael Sullivan
7f7f47620e
Implement static typeclass methods. Closes #3132 .
2012-08-07 17:18:14 -07:00
Patrick Walton
0f711e72f7
libsyntax: Break struct definitions out of classes internally in a few more places
2012-08-07 16:09:08 -07:00
Patrick Walton
a3f9e18b7a
libsyntax: Allow users of the visitor to visit struct defs
2012-08-07 15:55:33 -07:00
Patrick Walton
deaef48675
rustc: Split out struct bodies into a separate "struct_def" type in the AST
2012-08-07 15:35:05 -07:00
Brian Anderson
42540841f3
Add missing comma
2012-08-07 14:34:00 -07:00
Patrick Walton
727c7c7499
rustc: Add stub support for struct variants to the AST
2012-08-07 14:25:53 -07:00
Brian Anderson
bc267c696c
syntax: Rename expr_alt to expr_match
2012-08-07 13:35:51 -07:00
Brian Anderson
92ef17aaeb
syntax: Fix parsing of inherent traits
2012-08-07 13:01:22 -07:00
Brian Anderson
2772b2e5c7
syntax: Make match arm parsing more restrictive again
...
Require comma separators for all expression types except the plain block
2012-08-07 12:23:43 -07:00
Eric Holk
abf4421e7c
Generate try_send versions for all the messages. Fixes #3128
2012-08-07 11:47:12 -07:00
Patrick Walton
60f47eabe2
rustc: Parse and stub (broken) typechecking for bounded function types
2012-08-06 18:55:24 -07:00
Paul Stansifer
c0f7ed68e2
Fix log_syntax of unexpanded code.
2012-08-06 18:27:37 -07:00
Tim Chevalier
a4cedd9598
Disallow multiple constructors or destructors in the same class
...
Closes #2825
2012-08-06 18:01:26 -07:00
Patrick Walton
253dfc3387
rustc: Implement pattern matching for structs
2012-08-06 17:36:24 -07:00
Niko Matsakis
a6a5c48c64
make ref x
bindings produce region ptrs and fix various minor bugs
...
we now detect inconsistent modes, binding names, and various other errors.
typeck/trans integration is mostly done.
borrowck not so much.
more tests needed.
2012-08-06 16:12:40 -07:00
Brian Anderson
ecaf9e39c9
Convert alt to match. Stop parsing alt
2012-08-06 15:36:30 -07:00
Eric Holk
517ad983f9
Handle interpolated paths in pattern parsing. Fixes #3007 .
...
We might need to use is_ident_or_path in a for other places too.
2012-08-06 13:25:34 -07:00
Patrick Walton
bff512a90f
rustc: Implement functional record update for structs
2012-08-06 13:17:42 -07:00
Brian Anderson
d8e9724fb1
syntax: Stop parsing alts without arrows
2012-08-05 22:10:34 -07:00
Brian Anderson
025d86624d
Switch alts to use arrows
2012-08-05 22:08:09 -07:00
Patrick Walton
f23674394f
rustc: Merge fn& and fn in favor of fn&.
...
This is a step on the way to moving the function "proto" sigil out front.
2012-08-03 19:49:12 -07:00
Patrick Walton
e02b1b1ec8
rustc: Parse and typecheck repeating vector expressions; e.g. [ 0, ..512 ]
2012-08-03 18:03:19 -07:00
Patrick Walton
e0ee2447bf
libsyntax: Fix trailing whitespace
2012-08-03 15:24:34 -07:00
Patrick Walton
b65dd9d090
rustc: Parse, serialize, and deserialize trait inheritance
2012-08-03 15:02:53 -07:00
Patrick Walton
a805a1fb37
rustc: Add the notion of inherited visibility
2012-08-03 15:02:53 -07:00
Patrick Walton
dfe1f6260e
rustc: Remove all fixed-length strings from our codebase
2012-08-03 11:22:35 -07:00
Niko Matsakis
31c5cec55b
Purge placement new; Make borrowck know about unary move.
...
cc #3071
2012-08-02 22:36:36 -07:00
Lindsey Kuper
19570ab1f0
Revert "Remove "iface" from keyword table."
...
This reverts commit 51b9674ed7af96f31aa164215722710f8d3d9384.
2012-08-02 18:42:09 -07:00
Lindsey Kuper
51b9674ed7
Remove "iface" from keyword table.
2012-08-02 18:10:07 -07:00
Graydon Hoare
009352101d
Shift writer_util to a derived impl attached to the writer trait
2012-08-02 18:06:33 -07:00
Lindsey Kuper
65e0e30e59
Make typeck::collect aware of provided methods in traits.
2012-08-02 17:15:36 -07:00
Michael Sullivan
2fe299d1a5
Extend ast_map to know about method declarations in traits.
2012-08-02 16:02:30 -07:00
Niko Matsakis
97452c0ca1
Remove modes from map API and replace with regions.
...
API is (for now) mostly by value, there are options to use it by
reference if you like. Hash and equality functions must be pure
and by reference (forward looking to the day when something
like send_map becomes the standard map).
2012-08-02 15:53:28 -07:00
Paul Stansifer
7d4742e101
Allow macro_rules! m { (...) => ... }
2012-08-02 11:58:16 -07:00