Lindsey Kuper
e3f73e443e
Tests for #1425 (xfail'd for now)
2012-06-14 21:04:53 -07:00
Lindsey Kuper
8a730a255d
Allow trailing comma in vectors. Closes #2482 .
2012-06-12 13:03:30 -07:00
Niko Matsakis
013fc92423
remove alias analysis and replace with borrowck
...
This reverts commit 7ef825bb60
.
2012-06-08 20:39:11 -07:00
Brian Anderson
7ef825bb60
Revert "remove alias analysis and replace with borrowck"
...
18s perf regression compiling rustc with opts
This reverts commit 7f6ee0ce0d
.
2012-06-07 19:42:27 -07:00
Niko Matsakis
7f6ee0ce0d
remove alias analysis and replace with borrowck
...
cc #2540
2012-06-07 16:46:57 -07:00
Tim Chevalier
0327dc0b18
Insert missing maybe_print_comment call for class destructors
...
While it wasn't the original issue, the first program from #2487
failed the pretty-printing test because of this, so it's still a good
test case :-)
It also turns out that the second program from #2487 now triggers a
kind error, so I figured I might as well add it as a test case.
2012-06-06 22:09:10 -07:00
Niko Matsakis
3b4cfdeee2
Merge remote-tracking branch 'mozilla/incoming'
...
Conflicts:
src/rustc/middle/tstate/auxiliary.rs
2012-06-06 19:00:34 -07:00
Niko Matsakis
dd37c0a41e
mask extra borrowck errors (should find out how to not report those)
2012-06-06 18:42:06 -07:00
Niko Matsakis
8ebbf464f5
minor changes to tests so they pass borrowck
2012-06-06 18:37:58 -07:00
Tim Chevalier
a5c9e8d59e
Fix tests to avoid empty classes
2012-06-06 15:08:24 -07:00
Tim Chevalier
5e8ef74e22
Revert "Revert "Forbid classes with no fields" due to test failures"
...
This reverts commit e56a6e8cb0
.
2012-06-06 15:08:24 -07:00
Niko Matsakis
77c470d183
Allow rcvrs to be borrowed; check rcvrs in borrowck properly
2012-06-02 10:08:04 -07:00
Niko Matsakis
cfac9b6833
improve borrowck to handle some frankly rather tricky cases
...
- receivers of method calls are also borrowed
- by-val arguments are also borrowed (needs tests)
- assignment to components can interfere with loans
2012-06-02 10:08:04 -07:00
Tim Chevalier
6e2aa3b998
Port more resource tests to classes
2012-06-01 20:40:35 -07:00
Tim Chevalier
de40318037
Tests for copyability and sendability rules for classes
...
Closes #2296
2012-06-01 20:40:35 -07:00
Tim Chevalier
11b4a92fc8
Port another resource test to use classes
2012-06-01 20:40:35 -07:00
Tim Chevalier
facb5c08c6
Enforce rule that classes with dtors aren't copyable
...
The test for this is copy-a-resource.
2012-06-01 20:40:35 -07:00
Tim Chevalier
b67f8e340b
Remove obsolete test
...
This test no longer makes sense with classes instead of resources,
since class types can't be dereferenced.
2012-06-01 20:40:35 -07:00
Lindsey Kuper
3c622a5b12
Clarifying comments in test.
2012-06-01 10:30:50 -07:00
Lindsey Kuper
43eb5f0a2e
More tests wrt #2263 .
2012-06-01 09:26:48 -07:00
Niko Matsakis
c2ce2741a7
allow mutable vectors and so forth to be used as immutable slices
2012-05-31 15:07:09 -07:00
Eric Holk
0470abe1d2
Allow some resources to be considered const.
2012-05-31 13:55:54 -07:00
Kevin Cantu
7dcbaedd32
Rename librustsyntax to libsyntax
...
Per issue #2418 .
2012-05-31 11:15:00 -07:00
Brian Anderson
615f532475
test: Update test with current error message
...
These errors where previously generated by typestate, but there seem to
be other passes that cover this now.
2012-05-31 00:06:10 -07:00
Niko Matsakis
dca11e1f99
test our some of the various combinations of fn subtyping
2012-05-30 12:02:01 -07:00
Niko Matsakis
5b8abec92f
test for pure fn vs impure fn etc subtyping
2012-05-30 11:56:50 -07:00
Niko Matsakis
79b3dedac3
allow for loop bodies
2012-05-30 11:26:15 -07:00
Niko Matsakis
653a1f8781
integrate purity into type
2012-05-30 11:26:15 -07:00
Niko Matsakis
22a10f0e4a
refactor region manip. to remove redundancy, get closer to fn subtyping
...
also: remove "auto-mode-matching" for implemented interfaces, as it
is complex and interacts poorly with classes
cc #2263
2012-05-30 11:04:12 -07:00
Michael Sullivan
b744f52620
Make heap closures always require a capture clause to capture mutable variables. Closes #2446 .
2012-05-30 10:46:22 -07:00
Tim Chevalier
3f3c9caf4d
Handle poststates of breaking loops correctly in typestate
...
The poststate should be one where all predicates are assumed false,
rather than the unchanged prestate.
Closes #2374
2012-05-29 18:22:38 -07:00
Niko Matsakis
f90228b8a8
make all arguments modes immutable
...
note: you can still move from copy/move mode args
2012-05-29 16:22:17 -07:00
Michael Sullivan
5d1c29912d
Fix an error message to not refer to "block type". Closes #2423 .
2012-05-29 12:18:59 -07:00
Brian Anderson
432c6cbde9
core: Make range follow the for loop protocol
2012-05-26 02:28:00 -07:00
Niko Matsakis
98740a59da
detect ambig. calls to iface bounds, use transactions
...
cc #2433
2012-05-25 17:04:05 -07:00
Niko Matsakis
62fe587f81
revisit error message; create spill map
2012-05-25 14:37:30 -07:00
Eric Holk
8b6bfc96cb
Const kind checking. The rules are almost certainly incomplete and unsound...
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
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
b93839408c
new test
2012-05-23 06:30:29 -07:00
Niko Matsakis
e0f59e835e
modify borrowck to allow arbitrary borrows in pure scopes
2012-05-23 06:30:29 -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
Lindsey Kuper
248e439638
Region checking: this one currently passes, but only "by accident".
2012-05-21 13:05:06 -07:00