754 Commits

Author SHA1 Message Date
Michael Sullivan
8040fd86bf Call the correct type formatting function for more typecheck diagnostics. Closes #2652. 2012-06-20 15:44:58 -07:00
Eric Holk
e30a8b6f8c Updating kind rules to make sure we don't sneakily send ports. 2012-06-19 17:37:51 -07:00
Lindsey Kuper
3cf582b529 Enable integer literal suffix inference. 2012-06-19 17:06:05 -07:00
Lindsey Kuper
3f56c0a42d Add i suffix to cfail test so it works after suffix inference 2012-06-19 16:57:13 -07:00
Lindsey Kuper
8cc1149130 Adding i suffixes so cfail tests keep failing after suffix inference 2012-06-19 16:35:26 -07:00
Eric Holk
be664ddd29 Moved arc to libcore and added an arc that allows shared mutable state through mutual exclusion. 2012-06-19 10:31:12 -07:00
Brian Anderson
1ec5a5c635 Add 'do' expressions 2012-06-18 17:42:30 -07:00
Lindsey Kuper
85977ced3f Adding i suffixes so cfail tests keep failing after suffix inference 2012-06-18 15:36:14 -07:00
Tim Chevalier
0276a3376b Revert "Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion."
This reverts commit 015527b0cee0bc5cfaac8dd610035a0c1b2f8ea6.
2012-06-16 15:21:08 -07:00
Eric Holk
015527b0ce Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion. 2012-06-15 22:00:58 -04:00
Patrick Walton
b6ed1de29e Issue #2591: Change "upvar" to "variable declared in an outer block" in tests 2012-06-15 12:24:12 -07:00
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 7ef825bb607c4e934c92bd0b73ecbc4c24f3286b.
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 7f6ee0ce0df8af4c21b065cb49b95079ae643f77.
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 e56a6e8cb0ca2be26bb71918447459865803a630.
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