Commit Graph

5635 Commits

Author SHA1 Message Date
Wade Mealing f375391cb6 Patch to error instead of crashing when parsing unmatched double quotes
Patch to error and fail instead of using all available memory
then crashing to detect the error condition of an unmatched
double quote before the end of a file.

I couldn't get it to show nice error messages, so this may not be
the ideal fix.

A test case for this situation has also been added.
2011-09-27 23:20:31 -07:00
Brian Anderson a96b16e8c3 Make it again possible to initialize resource locals via assignment
Some special cases allow both 'let a <- my_resource(x)' and
'let a = my_resource(x)' to work as expected despite ostensibly being
copies and moves.
2011-09-27 23:20:27 -07:00
Brian Anderson 459353e107 Prevent copies of resources into various things 2011-09-27 21:50:07 -07:00
Patrick Walton 9ba86178ef rt: Store the task in TLS 2011-09-27 18:12:03 -07:00
Brian Anderson 888e22aacc Add more comments about kind checking on local move initializers 2011-09-27 16:03:10 -07:00
Brian Anderson 8217e4bd38 Add xfailed tests that resources can't be copied into various things 2011-09-27 16:03:10 -07:00
Brian Anderson b8bb663df7 Don't ever raise unique kinds of pinned kinds to shared (again)
So *resource, ~resource, [resource] are all pinned. This is counter to the
design of the kind system, but this way is a much clearer path to type safety.
Once we've established a good baseline with lots of tests, then we can try to
make raising pinned kinds work.
2011-09-27 16:03:10 -07:00
Brian Anderson e50580aa66 Revert "Use DPS for assignment and local initialization"
This reverts commit b1b202d302.
2011-09-27 16:03:09 -07:00
Brian Anderson 1097463d96 Add an xfailed test for bogus deep copying of things containing resources 2011-09-27 14:28:20 -07:00
Brian Anderson 4bffa5e13a Add an xfailed test for bogus vector addition of typarams 2011-09-27 14:24:28 -07:00
Patrick Walton 199e4dee8d doc: Remove `case` from the list of keywords 2011-09-27 14:01:06 -07:00
Patrick Walton f54e2699fb doc: Remove `tup` from the list of keywords 2011-09-27 13:57:54 -07:00
Marijn Haverbeke 04f062f9d4 Fix lurking bug in matching of nil
Which was somehow made visible by the DPS changes.
2011-09-27 22:49:33 +02:00
Marijn Haverbeke b1b202d302 Use DPS for assignment and local initialization
Issue #667
2011-09-27 20:33:09 +02:00
Marijn Haverbeke e42f3b8481 Safeguard against self-assignment for unique types 2011-09-27 20:33:09 +02:00
Jesse Ruderman 923aa4744e Test for #924 2011-09-27 11:05:16 -07:00
Marijn Haverbeke 94db38a530 Move expr_unary to DPS style
Issue #667
2011-09-27 17:31:15 +02:00
Marijn Haverbeke 92d63ffa65 Make trans_rec and trans_tup understand overwrite dests
Issue #667
2011-09-27 17:31:15 +02:00
Marijn Haverbeke 8282f7fe80 Move expr_binary into trans_expr_dps
Issue #667
2011-09-27 17:30:54 +02:00
Marijn Haverbeke 806e74fbf5 Move expr_lit and expr_vec into trans_expr_dps
Issue #667
2011-09-27 17:30:45 +02:00
Marijn Haverbeke 8ea72fae99 Move more non-value-returning things to trans_expr_dps.
Issue #667
2011-09-27 17:30:45 +02:00
Brian Anderson b49f4689f5 Add two xfailed tests for invalid copies into vectors 2011-09-26 23:45:51 -07:00
Brian Anderson 1796abc3ef xfail-win32 -> xfail-fast 2011-09-26 23:34:54 -07:00
Brian Anderson 4f2a0117c7 Try to appease windows by xfail-win32'ing a random test 2011-09-26 23:34:12 -07:00
Brian Anderson df19b7a13a Test for issue #980 2011-09-26 23:24:53 -07:00
Brian Anderson 6b42ad5ea0 Enforce copy restrictions on let initializers 2011-09-26 22:00:15 -07:00
Brian Anderson 07e13fe447 Make some nocopy tests a bit more futureproof
Turn the let assignment initializers into move initializers since
that assignment is going to become illegal
2011-09-26 22:00:15 -07:00
Jesse Ruderman 20c2d2a999 Distinguish #924 2011-09-26 20:44:57 -07:00
Jesse Ruderman 4ff46a1502 Add a cycle-collection fuzzer 2011-09-26 20:34:07 -07:00
Brian Anderson 3778b6c6a8 Prevent copying of uncopyable things via the copy op 2011-09-26 20:03:30 -07:00
Brian Anderson 755001725a Prevent copying of uncopyable things via compound assignment ops 2011-09-26 20:03:24 -07:00
Brian Anderson 99cbea51a1 Don't allow vectors of pinned kinds to be copied 2011-09-26 19:57:00 -07:00
Brian Anderson 4bee452221 Don't allow copying of unique boxes of pinned kinds
Issue #409
2011-09-26 18:43:49 -07:00
Brian Anderson 2d5e085eb9 Add a test that unique boxes in vectors are copied when the vector is
Issue #409
2011-09-26 17:59:58 -07:00
Patrick Walton a88d9effbc rt: Don't run arbitrary destructors on cycle collection; that's just broken. 2011-09-26 17:41:22 -07:00
Patrick Walton 5c973142df rt: Turn on cycle collection at task death; add a test case 2011-09-26 16:59:15 -07:00
Patrick Walton ad19ab4c6f rt: Make the logic that moves environments between tasks update the GC alloc chain correctly 2011-09-26 16:59:15 -07:00
Patrick Walton 47e5ab093a stdlib: Fix typos in comments in lib/test.rs 2011-09-26 16:59:15 -07:00
Brian Anderson 76e8dd248c Fix configure script to use valgrind again 2011-09-26 16:17:22 -07:00
Brian Anderson 389852b5c0 Fix tags of unique boxes
Issue #409
2011-09-26 14:44:08 -07:00
Brian Anderson 223f5be166 Unique vectors and boxes of pinned are unique kinds. Closes #977 2011-09-26 13:38:46 -07:00
Marijn Haverbeke 8c0918ac18 Construct records and tuples in-place
Issue #667

Now, {a: {b: 10, c: 20}, d: @30} will simply write the values in the right
places, rather than creating intermediary records and then memmoving them.
Cuts about a megabyte off the unoptimized compiler size.
2011-09-26 22:13:08 +02:00
Marijn Haverbeke 5837975f95 Convert more expression types to use DPS
expr_rec, expr_tup, most of the exprs that don't return anything. Make
trans_ret almost trivial by using destination adaptors (trans_save_in,
trans_by_ref).

Issue #667
2011-09-26 21:34:10 +02:00
Marijn Haverbeke 345b5a47bd Add a workaround hack for issue #913
I can't figure out what the real cause of this bug is, but I want
to be able to use blocks inside loops again.
2011-09-26 21:34:10 +02:00
Patrick Walton 37cf7b92c8 test: Fix more typos in weird-exprs.rs. 2011-09-26 10:26:30 -07:00
Patrick Walton 2348858995 test: wierd-exprs -> weird-exprs 2011-09-26 10:24:46 -07:00
Patrick Walton 81f1863de7 rt: Remove obsolete comment 2011-09-26 10:24:21 -07:00
Andreas Gal 39f4874cf6 Merge pull request #978 from erikrose/doc-tweaks
Fix some typos and grammar in the docs.
2011-09-25 22:34:10 -07:00
Erik Rose dce9dfeefc Fix some typos and grammar in the docs. 2011-09-25 22:25:15 -07:00
Graydon Hoare 93f0e9bac3 Refine notes in kind.rs some more. Add a fixme to ty.rs.
Kinds are still pretty wobbly. See thread starting at
https://mail.mozilla.org/pipermail/rust-dev/2011-September/000807.html
2011-09-25 21:20:17 -07:00