Brian Anderson
46fba10fe8
rustc: Make all impls even more reachable
...
With this we write metadata for all impls so that we can properly find
reexported impls.
2012-07-12 15:09:33 -07:00
Michael Sullivan
9d2e5f3a65
Merge branch 'rt-changes' into incoming
2012-07-12 15:03:54 -07:00
Michael Sullivan
7b26503566
Make str be treated as str/~.
2012-07-12 00:21:04 -07:00
Michael Sullivan
b569bdec9f
Refactor how we convert vstore ast types to ty types.
2012-07-12 00:12:13 -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
Niko Matsakis
9b094c0baf
new option to note where purity is req'd
2012-07-11 14:41:41 -07:00
Niko Matsakis
668285b9c8
add ability to report statistics about how borrowck is being used
2012-07-11 14:41:41 -07:00
Patrick Walton
9b7d9a9a1b
rustc: Treat existential traits as base types for coherence purposes
2012-07-11 14:28:03 -07:00
Michael Sullivan
62e9ae04e2
Remove obsolete type param field from shape information.
2012-07-11 11:42:49 -07:00
Michael Sullivan
120773b2a7
Change the interface of placement new to take a tydesc as part of Issue #2831 .
2012-07-11 11:42:49 -07:00
Patrick Walton
e51f259ff0
rustc: Add some more checks to coherence
2012-07-11 11:23:14 -07:00
Eric Holk
877ebed6cf
Visit item macros.
2012-07-10 22:00:48 -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
019d4291c7
rustc: Introduce a coherence checker, behind a compile switch for now
2012-07-10 17:35:18 -07:00
Michael Sullivan
260f73ed85
Get rid of unused fields in tydescs. Closes #2351 .
2012-07-10 16:33:21 -07:00
Michael Sullivan
e430a699f2
Fix take glue for slices.
2012-07-10 16:32:54 -07:00
Michael Sullivan
baebccd2c8
Don't fail when emitting free glue for fixed and region evecs.
2012-07-10 15:57:48 -07:00
Graydon Hoare
f2b8ab0ad3
Mop up merge collision.
2012-07-10 15:25:58 -07:00
Graydon Hoare
0a4a602a23
Modify reflect interface to pass tydescs back to client, stop on false return.
...
These changes are required to prune type-recursion and admit early
returns in the visitor code. Changes to visitors in subsequent csets.
2012-07-10 15:16:48 -07:00
Michael Sullivan
ef9a64709e
Make old_vecs an error.
2012-07-10 15:12:13 -07:00
Michael Sullivan
bf06deafe6
Disallow implicitly binding methods in typechecker. Closes #2189 .
2012-07-10 15:12:13 -07:00
Michael Sullivan
e4362a59b9
Remove the empty tuple of tydescs from closures. Closes #2531 .
2012-07-10 15:12:13 -07:00
Michael Sullivan
95dd9f3204
Get rid of a lot of bind related cruft as part of Issue #2189 .
2012-07-10 15:12:12 -07:00
Michael Sullivan
25b152397d
Clean up the tydesc handling code in trans.
2012-07-10 15:12:12 -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
Paul Stansifer
579768baa5
Allow folds to drop items.
2012-07-09 17:44:46 -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
Josh Matthews
a7f6e00944
Fix metadata serialization of foreign functions. Properly take the value of foreign functions from other crates to fix #1840 .
2012-07-09 13:13:49 -07:00
Ben Blum
8ffab392ab
change borrowck error msg: 'declared in outer block' -> 'captured in a closure' (properly this time)
2012-07-09 14:01:39 -04:00
Patrick Walton
e41029d236
rustc: Switch to the new resolution pass
2012-07-09 10:27:13 -07:00
Brian Anderson
ea03315cf4
Revert "change borrowck error msg: 'declared in outer block' -> 'captured in a closure'"
...
This change requires some tests to be updated.
This reverts commit b5b8f5efcc
.
2012-07-08 00:07:15 -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
Ben Blum
b5b8f5efcc
change borrowck error msg: 'declared in outer block' -> 'captured in a closure'
2012-07-06 22:30:50 -04:00
Patrick Walton
c4af6e92fb
rustc: Switch to the new resolution pass
2012-07-06 19:07:26 -07:00
Michael Sullivan
038f925586
Be less eager about implicit borrowing when doing method resolution. Closes #2796 .
2012-07-06 15:55:18 -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
Michael Sullivan
9e6b43fb33
Rip out a bunch more append code from trans.
2012-07-06 15:04:57 -07:00
Eric Holk
0e1a6cf3d9
Remove tvec::trans_add
2012-07-06 14:13:52 -07:00
Michael Sullivan
ee0177b908
Move string append to libraries. Closes #2710 .
2012-07-06 13:37:56 -07:00
Eric Holk
05cdda3a2c
Plumbing and parsing for item-position macros.
2012-07-06 10:42:40 -07:00
Lindsey Kuper
47f61c5429
Clean up error message punctuation/capitalization
2012-07-05 16:18:58 -07:00
Tim Chevalier
889be71cb4
Comments only: change TODOs to FIXMEs and annotate them
2012-07-05 16:10:29 -07:00
Michael Sullivan
b0d4f09201
Consider slices to be a structural type. Closes #2748 .
2012-07-05 14:48:23 -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
Graydon Hoare
195dd54d61
Fix trans typo noticed by fuzzer. Close #2148 .
2012-07-04 14:07:03 -07:00