Commit graph

10248 commits

Author SHA1 Message Date
Niko Matsakis
c3b266f50f Rewrite deque to use dvec 2012-06-06 18:36:59 -07:00
Niko Matsakis
b828df93f6 miscellaneous pure annotations and other small changes.
it seems that, to be truly useful, pure fns really need the
ability to modify their parameters.  alternatively, we could
rewrite the functions that modify their arguments to take/return.
2012-06-06 18:36:54 -07:00
Niko Matsakis
3bc42d5661 distinguish by-val passes of pointer and non-pointer things 2012-06-06 18:36:47 -07:00
Niko Matsakis
64c7897187 exempt unsafe ptrs from by-val checks 2012-06-06 18:36:42 -07:00
Niko Matsakis
b61071d953 make lookup fn pure in codemap 2012-06-06 18:36:34 -07:00
Niko Matsakis
83d290f461 add misc. pure modifiers in core 2012-06-06 18:36:29 -07:00
Niko Matsakis
60913bf045 constrain scope of mut ptr to please borrowck 2012-06-06 18:36:27 -07:00
Niko Matsakis
bede54b14a misc. copies in core/syntax to please borrowck 2012-06-06 18:36:15 -07:00
Brian Anderson
ef32ffd0b1 core: Remove swappable. Unused 2012-06-06 17:48:45 -07:00
Graydon Hoare
be83a12ff7 Add some testcases for bug #2470. 2012-06-06 16:01:12 -07:00
Tim Chevalier
d5d7b3b921 Merge branch 'master' into really-really-to-snap 2012-06-06 12:47:34 -07:00
Brian Anderson
9975ad073a rustc: Add comments about linking to libm 2012-06-06 12:46:19 -07:00
Jyun-Yan You
b54c76c832 fix link error 2012-06-06 12:45:56 -07:00
Tim Chevalier
0218418428 Merge branch 'master' into really-really-to-snap 2012-06-06 12:22:14 -07:00
Tim Chevalier
704a5a8c68 Register snapshots 2012-06-06 12:21:35 -07:00
Patrick Walton
d64ff98311 Revert "core: Remove swappable. Unused" due to test failures
This reverts commit ec5cbb4f5e.
2012-06-06 11:40:04 -07:00
Patrick Walton
d53e633bd5 Revert "test: Remove swappable-test" due to test failures
This reverts commit aabf84cdd8.
2012-06-06 11:39:52 -07:00
Patrick Walton
055158d051 Revert "Merge pull request #2516 from mozilla/incoming" due to failures
This reverts commit adb717b5fa, reversing
changes made to aabf84cdd8.
2012-06-06 11:39:19 -07:00
Patrick Walton
adb717b5fa Merge pull request #2516 from mozilla/incoming
Incoming
2012-06-06 06:19:00 -07:00
Tim Chevalier
fec3b91a3c In reachability, visit class ctors 2012-06-05 21:17:16 -07:00
Tim Chevalier
17e707cf6d Fix test case so the class in it is non-empty 2012-06-05 21:13:25 -07:00
Tim Chevalier
8fd9986f0f Forbid classes with no fields
Classes with no fields don't really make sense, so forbid them
(just as records with no fields aren't allowed). Closes #2509
2012-06-05 20:47:55 -07:00
Michael Sullivan
167d726183 Get rid of spill_map and associated infrastructure. 2012-06-05 17:33:30 -07:00
Michael Sullivan
868e3f9180 Don't try to keep locals off of the stack. Closes #2408.
There were bugs in the code path for initialization of non-spilled
locals, the code-path is hit approximately never, and mem2reg can do
it for us.
I think this will let us kill spill_map.
2012-06-05 17:33:30 -07:00
Patrick Walton
d9cdddeb5f stdlib: Introduce ord and eq interfaces. Make std::sort::quick_sort3 use them. i=#2348 2012-06-05 17:26:52 -07:00
Patrick Walton
49c6dac47a rustc: Fix some more cyclic imports 2012-06-05 15:50:46 -07:00
Tim Chevalier
8972588583 Dereference classes with dtors only on a field access
A class with a dtor has a different representation (a pair of a bit field
and a pointer to the class itself), and previously, the trans code
was selecting out the second field on any reference to a variable whose
type was a class with a dtor. This turned out to be wrong in the case where
a closure captures a variable with such a type. Changed the code to only
insert the field selection on a class field access.
2012-06-05 15:11:33 -07:00
Tim Chevalier
7daf986aec Port remaining run-fail tests to use classes instead of resources 2012-06-05 15:11:33 -07:00
Tim Chevalier
ebde93861f Allow classes with dtors to be used before declaration
get_item_val could generate an internal compiler error if a class with
a dtor was used before the class itself got translated, because it was
assuming that the dtor's node ID was always in the item_symbols table. Fixed
it to create a new symbol if necessary, and use it subsequently.
2012-06-05 15:11:33 -07:00
Brian Anderson
aabf84cdd8 test: Remove swappable-test 2012-06-05 14:59:43 -07:00
Brian Anderson
ec5cbb4f5e core: Remove swappable. Unused 2012-06-05 14:47:20 -07:00
Brian Anderson
d3c641678e rustc: Put uniques into addrspace 1 2012-06-05 14:03:25 -07:00
Lindsey Kuper
1a3b8fc43c Have "aborting due to previous errors" message show an error count 2012-06-05 10:08:32 -07:00
Brian Anderson
99d6807ee0 rt: Unique allocations have -1 ref count 2012-06-05 00:21:27 -07:00
Brian Anderson
78fe75a741 rt: Fix iaac_init using wrong type and not seeding correctly
This was a result of changing the vector representation to contain
a box header.
2012-06-05 00:21:19 -07:00
Brian Anderson
e04e9488ad Revert "rt: Unique allocations have -1 ref count"
This reverts commit 422aec85d6.
2012-06-04 22:58:15 -07:00
Brian Anderson
422aec85d6 rt: Unique allocations have -1 ref count 2012-06-04 22:45:46 -07:00
Brian Anderson
75e4b8c8e9 syntax: Make span functions take args by copy. Eliminate some copy warnings 2012-06-04 21:57:47 -07:00
Michael Sullivan
e86214830a Make "no implicit copies" diagnostics controllable through lint settings. Closes #2503. 2012-06-04 20:44:58 -07:00
Michael Sullivan
6396e2c3c3 Make vecs implicitly copyable for all of our projects. 2012-06-04 19:53:30 -07:00
Michael Sullivan
01a6c713c3 Make vecs/strs not implicitly copyable by default, but make it configurable. Closes #2450. 2012-06-04 19:53:30 -07:00
Michael Sullivan
a405ff9bf6 Fix lint's handling of multiple warn attributes... 2012-06-04 19:53:30 -07:00
Eric Holk
1e8f501343 Machine types are different from int/uint, etc (Issue #2187) 2012-06-04 19:16:47 -07:00
Graydon Hoare
5f904d278f Shave off one more string append in a rare case. 2012-06-04 19:01:24 -07:00
Patrick Walton
a542258277 Add a test case for previous commit 2012-06-04 18:56:50 -07:00
Patrick Walton
ae6d8d1b4d rustc: Implement optional fat-arrow syntax for alt (transitional change) 2012-06-04 18:35:14 -07:00
Graydon Hoare
7803488a43 Implement stack-only variants of int/uint str conversion and output. 2012-06-04 18:06:59 -07:00
Niko Matsakis
903033bb03 handle fixed-length vecs in borrowck categorization 2012-06-04 16:40:09 -07:00
Michael Sullivan
6d9dd055d1 Get rid of warnings from instantiating typarams with non-implicitly copyable types. 2012-06-04 16:35:32 -07:00
Michael Sullivan
4d5d43beae Warn when invoking polymorphic functions with non copyable types. Closes #2466. 2012-06-04 16:30:41 -07:00