Commit Graph

30 Commits

Author SHA1 Message Date
Patrick Walton
3ac5b4a86f syntax: Parse multiple trait refs in a single implementation 2012-07-18 16:05:17 -07:00
Patrick Walton
db020ab63c rustc: Implement and enforce instance coherence 2012-07-17 15:46:43 -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
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
985b52be6d Support prefix notation for vstore strings. Closes #2906. 2012-07-13 17:03:49 -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
Brian Anderson
dac4916cec rustc: Resolve bounds of trait type parameters 2012-07-12 18:04:40 -07:00
Michael Sullivan
2ea9c8df0f Accept prefix notation for writing the types of str/~ and friends. 2012-07-12 16:52:26 -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
Tim Chevalier
f39477d926 In resolve, check that an or-pattern has the same number of bindings in each disjunct
resolve3 wasn't checking this. Added test cases. Also added a helpful informational
message in the case where you have a variable binding that you probably think
refers to a variant that you forgot to import.

This is easier to do in resolve than in typeck because there's code in typeck
that assumes that each of the patterns binds the same number of variables.
2012-07-10 18:24:41 -07:00
Patrick Walton
a6ee46db0b rustc: Resolve expressions in literal and range patterns 2012-07-10 12:30:02 -07:00
Patrick Walton
f0fe08f1c8 rustc: Handle foreign item purity correctly in resolve3 2012-07-09 18:39:10 -07:00
Patrick Walton
6912b11089 rustc: Fix the collision with Tim's change 2012-07-09 17:44:15 -07:00
Patrick Walton
2edc4195d5 rustc: Allow import resolutions to be inferred from external crates in resolve3 2012-07-09 16:29:25 -07:00
Graydon Hoare
c26d02557e Switch 'cont' to 'again' everywhere. Close #2229. 2012-07-09 14:37: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 c4af6e92fb.

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
Eric Holk
05cdda3a2c Plumbing and parsing for item-position macros. 2012-07-06 10:42:40 -07:00
Lindsey Kuper
33334f3c43 Change 'iface' to 'trait' internally; parse trait as iface synonym 2012-07-05 11:01:43 -07:00
Gareth Daniel Smith
be0141666d convert doc-attributes to doc-comments using ./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498 2012-07-04 19:18:13 -07:00
Ben Striegel
f2e2a14f36 Remove empty argument lists from do expressions 2012-07-04 17:21:29 -07:00
Patrick Walton
cc3b6bf2f0 rustc: Make the error names in resolve3 conform more closely to what the compile-fail tests expect 2012-07-03 19:10:45 -07:00
Patrick Walton
bfbc847f63 rustc: Add X-ray functionality to resolve3 so the test runner works 2012-07-03 15:56:27 -07:00
Patrick Walton
db8d9ddcbb rustc: Record the main function in the session in resolve3 2012-07-03 12:20:15 -07:00
Brian Anderson
ab193b9508 rustc: Remove some comments from resolve3 that are being misparsed as attributes 2012-07-02 20:06:07 -07:00
Patrick Walton
f093d374ed rustc: Implement a new resolve pass behind a compile flag 2012-07-02 18:30:12 -07:00