Lindsey Kuper
e11742de32
More refactoring on a quest to understand region types.
2012-05-25 17:55:55 -07:00
Niko Matsakis
269bc6fb5c
fix warning
2012-05-25 17:14:17 -07:00
Niko Matsakis
98740a59da
detect ambig. calls to iface bounds, use transactions
...
cc #2433
2012-05-25 17:04:05 -07:00
Michael Sullivan
93633ea734
Add an internal notion of 'implicit copyability' and use it to warn when implicitly copying mutable data and some unique data. Closes #2448 .
2012-05-25 16:53:34 -07:00
Michael Sullivan
8668d06400
Get rid of many implicit copies as a preliminary to Issue #2448 .
2012-05-25 16:39:35 -07:00
Michael Sullivan
174f789e0b
Add hack to silence the annoying liveness warning in trans/base.rs.
2012-05-25 15:34:09 -07:00
Niko Matsakis
9e6a068034
replace last_use with liveness info
2012-05-25 14:37:30 -07:00
Niko Matsakis
62fe587f81
revisit error message; create spill map
2012-05-25 14:37:30 -07:00
Lindsey Kuper
123c5c4315
typeck: cleanup/refactoring
2012-05-25 11:35:42 -07:00
Lindsey Kuper
f7cb7b06d5
typeck: Minor cleanup
2012-05-25 11:35:42 -07:00
Lindsey Kuper
7e70412711
Some refactoring and WIP on issue #2263 .
2012-05-24 16:48:44 -07:00
Lindsey Kuper
ef33c5c9bc
Typo fixes in comments.
2012-05-24 16:48:44 -07:00
Eric Holk
8b12892ca2
Convert kinds to strings better for more usable error messages.
2012-05-24 15:06:56 -07:00
Eric Holk
4ffe34cace
Updating the comments in kind.rs to better reflect the current state of things.
2012-05-24 15:06:56 -07:00
Eric Holk
8b6bfc96cb
Const kind checking. The rules are almost certainly incomplete and unsound...
2012-05-24 15:06:56 -07:00
Eric Holk
d993df74c3
Teach parser and related things to understand const kind bounds.
2012-05-24 15:06:56 -07:00
Niko Matsakis
ccd8d5573e
remove dead assignments
2012-05-24 13:35:57 -07:00
Niko Matsakis
f5c51b0a9c
remove initedness checking from typestate, as best I could
2012-05-24 09:52:16 -07:00
Niko Matsakis
0d3811e275
improve liveness so it reports unused vars / dead assignments
...
doesn't warn about pattern bindings yet though
2012-05-24 09:52:16 -07:00
Niko Matsakis
30b47649ea
new liveness pass to supercede last_use / initedness
2012-05-24 09:52:03 -07:00
Niko Matsakis
a3be0b1054
fix classes and parameterized ifaces; remove needless self check
...
ref #1726 , #2434
2012-05-24 06:49:40 -07:00
Niko Matsakis
bd573becf5
change region scope of call arguments, old one was unsound
...
improve error message to describe kind of deref'd ptr using sigil
2012-05-24 05:19:44 -07:00
Niko Matsakis
c9eb9ee612
rewrite purity check to search through scope chain
2012-05-24 05:19:44 -07:00
Eric Holk
5f154770e2
Prevent capturing non-copyable things in closures.
2012-05-23 15:46:43 -07:00
Niko Matsakis
9773a22119
shuffle error messages in borrowck, and prevent it from spewing too many
...
also, fix a few minor issues it complains about
2012-05-23 12:01:27 -07:00
Eric Holk
8678baab12
Resources are once again not copyable.
2012-05-23 10:27:42 -07:00
Niko Matsakis
e0f59e835e
modify borrowck to allow arbitrary borrows in pure scopes
2012-05-23 06:30:29 -07:00
Niko Matsakis
00849191ce
refactor loan to not return result<>
2012-05-23 06:30:29 -07:00
Niko Matsakis
01a2e99639
prepare for gather to gather up multiple maps
2012-05-23 06:30:29 -07:00
Brian Anderson
f9d0cde19a
syntax: Remove one of the two def_id hashers
2012-05-23 00:45:18 -07:00
Brian Anderson
4756556748
rustc: Move new_def_hash to ast_util
2012-05-23 00:43:02 -07:00
Tim Chevalier
ed357af980
Convert more resource tests to use classes with dtors
...
And monomorphize dtors correctly.
2012-05-22 22:12:18 -04:00
Brian Anderson
5b4ab93017
rustc: Add cstore to ty::ctxt so csearch can get at it
2012-05-22 18:07:36 -07:00
Brian Anderson
a32392d032
Merge pull request #2427 from msullivan/shifts
...
Get rid of the >>> operator and make >> logical or arithmetic depending ...
2012-05-22 17:50:04 -07:00
Michael Sullivan
15cef374b9
Get rid of the >>> operator and make >> logical or arithmetic depending on the signedness. Closes #2417 .
2012-05-22 14:59:15 -07:00
Eric Holk
0b2f2cabbe
Send is no longer a subkind of copy. This allows for sendable, but non-copyable resources. Closes #2420 .
2012-05-22 14:10:32 -07:00
Eric Holk
f213c1f3a8
Represent kinds as a bitfield of capabilities.
2012-05-22 12:48:31 -07:00
Michael Sullivan
8d7f3bd1ca
Disallow type parameters to self. Closes #2422 .
2012-05-22 11:52:22 -07:00
Niko Matsakis
073f90cdc4
introduce some copies so we are not alting into mut state
2012-05-22 05:21:13 -07:00
Brian Anderson
9aa18c2852
rustc: Move ast_map to the syntax crate
2012-05-21 23:39:27 -07:00
Brian Anderson
47bb1185f2
rustc: Move walk_pat to ast_util
...
This will allow ast_map to move to the syntax crate
2012-05-21 23:22:08 -07:00
Brian Anderson
df532e7f1b
rustc: Remove ast_map's session dependency
2012-05-21 23:22:06 -07:00
Brian Anderson
611890013f
rustc: Remove unused import
2012-05-21 22:50:10 -07:00
Brian Anderson
85d67723ee
rustc: Move path_to_ident to ast_util
2012-05-21 22:41:59 -07:00
Niko Matsakis
2fa5a66310
remove mutable cycle from ast_fold
2012-05-21 20:07:14 -07:00
Niko Matsakis
34b42eeb65
change list so that it must be used in a purely boxed fashion
...
The old way was inconsistent---the head was unboxed but the
tail was boxed. This resulted in numerous needless copies and
also made the borrow check unhappy, because the head tended to be
stored in mutable memory.
2012-05-21 09:37:34 -07:00
Niko Matsakis
8e73bb6ea0
detect and report shadows in nested bindings
2012-05-21 09:37:22 -07:00
Niko Matsakis
28d0ce9a8b
fix up handling of &x where x is an arg or &self (for now at least).
2012-05-19 10:33:14 -07:00
Niko Matsakis
774ea145ec
make more code use dvec
2012-05-18 20:00:51 -07:00
Niko Matsakis
0f969da882
port some code to use dvec
2012-05-18 20:00:50 -07:00