Brian Anderson
6b43c0c1ad
Stop parsing old operator overloading syntax
2012-08-13 18:59:17 -07:00
Ben Blum
2e1b98d34f
Change borrowck error 'the the block' -> 'the block'
2012-08-13 21:53:41 -04:00
Tim Chevalier
c0858f4f7a
In typeck::collect::ensure_trait_methods, don't assume the trait was already checked
...
Instead of using node_id_to_type to look up the trait type, pass it
in as an argument. This handles the case where we check an impl of a trait T
before T has been traversed.
2012-08-13 17:38:58 -07:00
Graydon Hoare
91612dbb7e
De-mode-ify a few minor libcore modules.
2012-08-13 17:11:33 -07:00
Patrick Walton
5bd4110170
rustc: Mostly implement region-bounded stack closures
2012-08-13 15:34:36 -07:00
Brian Anderson
395d1ac185
rustc: Enum idents are not in the value namespace. Closes #3186
2012-08-13 15:17:54 -07:00
Lindsey Kuper
b1ec0a582e
Default methods get through compilation, but not linkage (cc: #2794 ).
2012-08-13 10:34:35 -07:00
Lindsey Kuper
0e0833e0b0
Change "iid" identifiers (apparently "interface id") to "trait_id"
2012-08-13 10:34:35 -07:00
Niko Matsakis
9169a1b26a
correct glb computation, improve region error msgs
...
cc #3180
2012-08-11 20:24:11 -07:00
Niko Matsakis
0475406178
infer: better names, docs
2012-08-11 20:24:11 -07:00
Niko Matsakis
a9979c0ae4
switch over some newtyped enums to structs
2012-08-11 20:24:11 -07:00
Niko Matsakis
6d2bef53aa
rename var_bindings to be less cryptic
2012-08-11 20:24:11 -07:00
Patrick Walton
7634e2911b
Revert "rustc: Make function types have vstores in them"
...
This reverts commit 0101125a96
.
2012-08-10 18:14:55 -07:00
Patrick Walton
0101125a96
rustc: Make function types have vstores in them
2012-08-10 16:22:06 -07:00
Lindsey Kuper
4597fe1320
Remove unneeded imports now that #1873 seems to be fixed
2012-08-10 13:38:21 -07:00
Lindsey Kuper
0c35489858
Move a comment to where it belongs.
2012-08-10 13:38:21 -07:00
Brian Anderson
96fdad2fb7
Change 'ret' to 'return' in an error message
2012-08-10 12:20:58 -07:00
Patrick Walton
68bdc09650
rustc: Allow @fn to be used as a synonym for fn@, and likewise with ~ and &
2012-08-10 12:18:47 -07:00
Niko Matsakis
2082a979e7
remove modes from ty.rs
2012-08-10 10:52:11 -07:00
Patrick Walton
770a21272b
rustc: Initialize the drop flag with the new struct literal syntax. Closes #3172 .
2012-08-09 19:45:37 -07:00
Niko Matsakis
1b2d91c79d
de-mode-ify infer and some parts of typeck
...
also, fix bug in the various lint passes that fn() was considered
not suitable for the default mode
2012-08-09 18:26:50 -07:00
Ben Blum
d913492855
Change coherence error 'implement a trait instead' -> 'implement a trait or new type instead'
2012-08-09 20:29:34 -04:00
Graydon Hoare
f0775d7bfe
Finish translating const indexing. Close #1417 , close #570 , close #571 , close #1272 , close #2317 .
2012-08-09 16:05:34 -07:00
Niko Matsakis
22a14dd700
Enforce a stricter notion of purity when borrowing. Fixes #3162 .
2012-08-09 14:23:56 -07:00
Lindsey Kuper
e82d2ef763
Minor cleanup
2012-08-09 11:10:09 -07:00
Brian Anderson
7bbdf296e0
lint: Don't warn about non-camel case impl names
...
Impls are always named __extensions__ so this warning is bogus
2012-08-08 22:21:47 -07:00
Graydon Hoare
a0e3a2ae8e
Const field access (working) and vec indexing (almost). More for #2317 .
2012-08-08 19:59:30 -07:00
Brian Anderson
780b3853d1
rustc: Remove some uses of impl_map
2012-08-08 19:27:20 -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
Lindsey Kuper
edf1d0c245
Minor cleanups/comments/whitespace changes
2012-08-08 16:07:52 -07:00
Lindsey Kuper
293f371477
Default methods in traits get through typeck.
2012-08-08 16:07:52 -07:00
Lindsey Kuper
c8bad36312
Change a match check
to match
2012-08-08 16:07:52 -07:00
Lindsey Kuper
8b79bed6dd
Clean up whitespace
2012-08-08 16:07:52 -07:00
Tim Chevalier
febd7ee239
Make let _ = e; have the same semantics as e;
...
The first case was getting treated like a variable binding, meaning that
if e had a destructor, it wouldn't run until the end of the enclosing scope.
To me it seems less confusing for let _ = e; and e; to work exactly the same
way, so now, the destructor for e runs immediately in both cases.
2012-08-08 15:37:45 -07:00
Brian Anderson
d99ca69cf7
lint: Allow trailing underscores in camel case idents
2012-08-08 15:05:49 -07:00
Patrick Walton
f110e8f21c
rustc: Do some plumbing work on nested enums
2012-08-08 14:19:21 -07:00
Elliott Slaughter
166cb1b28b
rustc: Strict enforcement of glue function types.
...
Make all glue functions take values by alias to remove the need for
bitcasts at the top of every glue function. Use static type
information to produce the correct type for glue functions so that
LLVM can enforce the type system at call sites.
2012-08-08 12:21:25 -07:00
Michael Sullivan
76d04af71a
In decoder, rename class_member_id to item_def_id.
2012-08-08 12:01:19 -07:00
Tim Chevalier
c7d60ee053
Don't add struct names to the value name space if there's no constructor
...
Closes #3149
2012-08-08 11:53:08 -07:00
Niko Matsakis
802ea5d57e
refactor categorization out of borrowck into its own module.
...
first step towards #3148 and #3024 .
2012-08-08 09:22:07 -07:00
Niko Matsakis
52c517383e
improve borrowck error messages to explain regions better
2012-08-07 20:59:06 -07:00
Patrick Walton
31965860c7
rustc: Resolve constructor expressions for variant structs
2012-08-07 19:12:58 -07:00
Patrick Walton
5ce3281a62
rustc: Parse variant structs; add a trivial test case
2012-08-07 18:55:19 -07:00
Graydon Hoare
8c95feda39
Add minor debug mode for measuring type sizes, helper for #3025 .
2012-08-07 18:40:02 -07:00
Patrick Walton
438765da59
rustc: Box struct_defs
2012-08-07 17:46:51 -07:00
Graydon Hoare
175be53e3f
Translate const structs.
2012-08-07 17:31:26 -07:00
Michael Sullivan
7f7f47620e
Implement static typeclass methods. Closes #3132 .
2012-08-07 17:18:14 -07:00
Elliott Slaughter
a695e074f2
rustc: Cosmetic change to type_of to make control flow more obvious.
2012-08-07 16:58:15 -07:00
Elliott Slaughter
cdfc4b1c7a
rustc: Fix for type_of on recursive enum creating two types instead of one.
2012-08-07 16:58:15 -07:00