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
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
Paul Stansifer
7129883b51
Allow interpolations of all the nt_*s.
2012-08-02 11:58:16 -07:00
Brian Anderson
2d8c7fd096
syntax: Remove 'ret'
2012-08-01 19:16:09 -07:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -07:00
Brian Anderson
507fba57d1
syntax: Allow any block-like expr to be used as alt arm w/o comma separator
2012-08-01 17:57:03 -07:00
Patrick Walton
fd536d9d3e
libsyntax: Use the keyword "copy" for copy-mode bindings instead of the +.
...
Mea culpa for introducing + in the first place.
2012-08-01 16:04:56 -07:00
Patrick Walton
899400cd1a
libsyntax: Fix a parsing problem with the temporary syntax for by-value pattern match bindings
2012-08-01 12:28:47 -07:00
Patrick Walton
b414db041b
rustc: Parse by-reference pattern bindings with the "ref" keyword
2012-07-31 19:26:25 -07:00
Patrick Walton
c88933d714
rustc: Implement unary move. Closes #917 .
2012-07-31 17:33:20 -07:00
Brian Anderson
7b2026bf21
Introduce 'return', 'match' and 'module' as synonyms
2012-07-31 17:22:30 -07:00
Patrick Walton
2cfe8fb357
rustc: Check self types in method lookup; allow required trait methods to have self types; write self types into metadata
2012-07-31 16:35:11 -07:00
Brian Anderson
567f881fdf
syntax: More tweaks to make alt arrows parse and print correctly
2012-07-31 15:41:26 -07:00
Niko Matsakis
c206d024eb
accept naked exprs with commas in pattern arms
...
pretty printing will use them, but indentation is slightly off
if the expr is long
2012-07-31 15:41:26 -07:00
Paul Stansifer
0bd6371155
Now you can use whatever delimiter you want to invoke syntax extensions.
2012-07-31 14:07:59 -07:00
Lindsey Kuper
439afaa329
Change remaining "iface" occurrences to "trait"; deprecate "iface"
2012-07-31 11:52:16 -07:00
Paul Stansifer
c2f49c46ae
Avoid accidentally printing floating point numbers as 10.f
.
2012-07-31 11:49:20 -07:00
Ben Blum
18851e4248
Build fix: debug![ to debug!{
2012-07-31 13:25:18 -04:00
Patrick Walton
51a06c15da
libsyntax: Parse self types in methods
2012-07-30 19:37:20 -07:00
Paul Stansifer
3819b6b3d1
Allow single quote to be escaped in strings.
2012-07-30 18:38:15 -07:00
Paul Stansifer
a9cc5066ee
Change syntax extension syntax: #m[...]
-> m!{...}
.
2012-07-30 18:38:15 -07:00
Paul Stansifer
4e9c475527
Work around bug #2935 by unautounboxing.
2012-07-30 18:04:19 -07:00
Paul Stansifer
e040ab8423
Impl-ize interner.
2012-07-30 18:04:19 -07:00
Brian Anderson
ef29f7ff36
syntax: Fix semicolon printing. Closes #3036
2012-07-30 16:09:52 -07:00
Graydon Hoare
e11e90f31c
Make macro-system type and constructor names more uniform; more comments.
2012-07-27 19:14:46 -07:00
Graydon Hoare
eabd233dcd
Start killing off obsolete/unused quoters, and fix long lines.
2012-07-27 18:06:24 -07:00
Eric Holk
5805616aad
Make parsing about 0.3 seconds faster.
2012-07-26 11:37:57 -07:00
Paul Stansifer
f4c093c4af
Change #macro
to macro_rules!
in some cases.
2012-07-26 10:14:01 -07:00
Patrick Walton
728d16cfca
rustc: Parse new-style impl declarations
2012-07-24 16:38:24 -07:00
Patrick Walton
587b0edbbf
rustc: Don't require that structs have constructors
2012-07-24 15:29:51 -07:00
Paul Stansifer
f785cccf0f
Bugfix: make the parser handle the case where zero repetitions occur, by handling parse results on the basis of what names the matcher expects to bind, not on what names are actually bound.
2012-07-24 11:44:58 -07:00
Patrick Walton
0d581bdafe
syntax: Expect the closing brace after struct literals
2012-07-23 18:58:56 -07:00
Patrick Walton
df4db83ed8
rustc: Max/min classes: Add struct literal syntax
2012-07-23 16:40:05 -07:00
Patrick Walton
978ca03cb2
Revert "accept naked exprs with commas in pattern arms" due to pretty-printing failures
...
This reverts commit f712b2d76b1077a2241916cc3269aa1d83ce3088.
In alt arms, the parser needs to do a little lookahead to determine
whether it's looking at a record literal or a block.
Also there are some indentation issues in the expected source.
2012-07-19 07:53:55 -07:00
Niko Matsakis
f712b2d76b
accept naked exprs with commas in pattern arms
...
pretty printing will use them, but indentation is slightly off
if the expr is long
2012-07-18 20:16:41 -07:00
Tim Chevalier
de5d5e6eeb
Remove non-existent imports
2012-07-18 18:02:07 -07:00
Patrick Walton
3ac5b4a86f
syntax: Parse multiple trait refs in a single implementation
2012-07-18 16:05:17 -07:00