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
Niko Matsakis
e0ea67a2a6
prevent regions from escaping in ifaces; remove &r.T syntax
2012-07-18 11:48:58 -07:00
Patrick Walton
db020ab63c
rustc: Implement and enforce instance coherence
2012-07-17 15:46:43 -07:00
Tim Chevalier
b5729bd600
Support attributes on class ctors and dtors
...
Closes #2660
2012-07-17 12:40:59 -07:00
Niko Matsakis
0e42004bab
introduce an owned kind for data that contains no borrowed ptrs
2012-07-16 20:18:18 -07:00
Niko Matsakis
41a21f053c
remove typestate from code, tests, and docs
2012-07-14 17:37:20 -07:00
Michael Sullivan
7b2f4755f3
Get rid of ast::ty_vstore, which was only used for fixed length.
2012-07-14 12:45:52 -07:00
Michael Sullivan
e2af785606
Make the new world order normative. Closes #2908 .
2012-07-14 01:03:44 -07:00
Michael Sullivan
92743dc2a6
Move the world over to using the new style string literals and types. Closes #2907 .
2012-07-14 01:03:43 -07:00
Michael Sullivan
6247a529e3
Handle prefix notations for strings in patterns. This is kind of gross.
2012-07-13 19:08:18 -07:00
Michael Sullivan
985b52be6d
Support prefix notation for vstore strings. Closes #2906 .
2012-07-13 17:03:49 -07:00
Lindsey Kuper
78d11b899b
Clean up various bugs with trait parsing.
2012-07-13 15:31:39 -07:00
Lindsey Kuper
5a63b2100e
More consistent use of backticks and "expected" in error messages.
...
Got some of the debug messages, here, too. I figure it doesn't hurt
to get used to doing this even in places where users won't ever see
it.
2012-07-13 15:31:39 -07:00
Tim Chevalier
07a81ad12e
Refactor how impl self types are stored
...
In order to avoid a confusing use of the tcache, I added an extra
node ID field to trait refs. Now trait refs have a "ref ID" (the one
that resolve3 resolves) and an "impl ID" (the one that you look up
in the tcache to get the self type).
Closes #2434
2012-07-13 14:47:04 -07:00
Lindsey Kuper
fc9c4c3245
Front-end support for default impls in traits.
2012-07-13 11:16:07 -07:00
Niko Matsakis
90e435e808
change region syntax to &r/T in place of &r.T
2012-07-13 10:20:50 -07:00
Tim Chevalier
78ec6fe30c
Obliterate the callee_id hack
...
Exprs that could be applications of overloaded operators
(expr_unary, expr_binary, expr_index) relied on the previous node ID
being "reserved" to carry extra typechecking info. This was
incredibly error-prone. Fixed it; now all exprs have two node IDs
(which will be wasted in some cases; future work could make this
an option instead if the extra int field ends up being a performance
problem).
Closes #2804
2012-07-12 19:02:07 -07:00
Michael Sullivan
2ea9c8df0f
Accept prefix notation for writing the types of str/~ and friends.
2012-07-12 16:52:26 -07:00
Michael Sullivan
1c62f5ff74
Get rid of all of the remaining /~s in the code base.
2012-07-12 15:13:18 -07:00
Niko Matsakis
b9aa9def85
infer when types are region parameterized rather than requiring /&
...
- removes various fields from various variants in the AST
- also update tests not to use this notation
2012-07-11 14:41:41 -07:00
Paul Stansifer
f3e874635f
Fix (I think!) the ACTUALLY expr parsing situation.
2012-07-11 12:06:47 -07:00
Eric Holk
877ebed6cf
Visit item macros.
2012-07-10 22:00:48 -07:00
Paul Stansifer
773e3df310
Fix some lookahead problems with ACTUALLY tokens.
2012-07-10 14:26:38 -07:00
Graydon Hoare
172bf3a038
Back out recognition of caret for unsafe ptr. Decided to abandon #2826 mid way through.
2012-07-09 18:42:06 -07:00
Paul Stansifer
b1af6ac6f1
Make the matcher parser treat ()
in a matchy way, like one would expect.
2012-07-09 17:44:46 -07:00
Paul Stansifer
55e28f6689
Remove the tt macro demo.
2012-07-09 17:44:46 -07:00
Paul Stansifer
54741b9427
Allow defining token tree macros. They should work now!
2012-07-09 17:44:46 -07:00
Paul Stansifer
caa83b41bb
Add support for matchers nonterminals.
2012-07-09 17:44:46 -07:00
Patrick Walton
7d90edcb3b
rustc: Switch over to resolve3
2012-07-09 17:44:16 -07:00
Patrick Walton
ad673daa6c
Revert "rustc: Switch over to resolve3" due to Linux failures
...
This reverts commit 2c0aa257e293dde91042a8045100d9923d139a04.
2012-07-09 16:50:19 -07:00
Patrick Walton
2c0aa257e2
rustc: Switch over to resolve3
2012-07-09 16:29:25 -07:00
Graydon Hoare
638036fe55
Remove 'cont' from parser/lexer.
2012-07-09 14:47:45 -07:00
Graydon Hoare
c26d02557e
Switch 'cont' to 'again' everywhere. Close #2229 .
2012-07-09 14:37:48 -07:00
Patrick Walton
4d8113725d
rustc: Add some changes I missed
2012-07-09 11:05:48 -07:00
Patrick Walton
e41029d236
rustc: Switch to the new resolution pass
2012-07-09 10:27:13 -07:00
Niko Matsakis
a856bccdc6
Revert "rustc: Switch to the new resolution pass"
...
This reverts commit c4af6e92fbae171c56a4e68666025725555fc9d8.
Branch was burning...many, many unresolved imports.
2012-07-06 20:45:06 -07:00
Patrick Walton
c4af6e92fb
rustc: Switch to the new resolution pass
2012-07-06 19:07:26 -07:00
Graydon Hoare
6b8ebc12db
First step on #2826 , accept ^ for ty_ptr.
2012-07-06 16:03:51 -07:00
Graydon Hoare
ceac155211
For #2229 , recognize 'again' in place of 'cont', final change pending snapshot.
2012-07-06 15:46:39 -07:00
Eric Holk
fa4134611d
Fixing an infinite type, updating code to match new Early parser, remembering to add protocol parser.
2012-07-06 10:42:40 -07:00
Eric Holk
d09bcc0131
Adding token tree nonterminals to earley parser.
2012-07-06 10:42:40 -07:00
Eric Holk
05cdda3a2c
Plumbing and parsing for item-position macros.
2012-07-06 10:42:40 -07:00
Paul Stansifer
a8112f3b34
Allow soft failure of the macro parser.
2012-07-05 18:09:31 -07:00