Commit Graph

1132 Commits

Author SHA1 Message Date
Marijn Haverbeke
42864377a4 Remove silly restriction on passing type params by alias
Since they are now passed by pointer, this is no longer a problem
2011-08-22 14:06:20 +02:00
Marijn Haverbeke
b24f978011 Drop arguments on the caller side, not the callee
This makes it easier for the caller to optimize the take/drop away for
temporary values, and opens up new possibilities for alias handling.

Breaks tail calls.
2011-08-22 10:16:09 +02:00
Brian Anderson
abdb6cd71b Rewrite reap_dead_tasks to never grab the sched lock before a task lock
Doing so contradicts the locking order used everywhere else and causes
deadlocks.

Un-XFAIL task-perf-spawnalot

Closes #854
2011-08-20 16:21:27 -07:00
Brian Anderson
15e456d547 Convert task-perf-spawnalot to spawn_joinable. XFAIL 2011-08-20 13:02:53 -07:00
Brian Anderson
bc1b6b594b Stop parsing ~[] vector syntax 2011-08-20 11:04:00 -07:00
Brian Anderson
518dc52f85 Reformat
This changes the indexing syntax from .() to [], the vector syntax from ~[] to
[] and the extension syntax from #fmt() to #fmt[]
2011-08-20 11:04:00 -07:00
Brian Anderson
7053b6010a Parse x[y] as indexes 2011-08-19 12:50:05 -07:00
Michael Sullivan
a7e559ee2e Fix polymorphic iterators. Closes #829. 2011-08-19 11:54:46 -07:00
Brian Anderson
cc2ebbec92 Pretty-print constrained types correctly 2011-08-19 10:16:39 -07:00
Brian Anderson
09e21fe2b9 Pretty-print parens around more things that need disambiguation
Ridiculous stuff like (ret 0) == (log "error")
2011-08-19 10:16:38 -07:00
Brian Anderson
8327416411 Teach the pretty-printer to disambiguate 'if ret { }' et. al 2011-08-19 10:16:38 -07:00
Brian Anderson
664b0ad3fc Add some tests for expression corner cases, mostly involving ret and fail
Some of these don't actually work.
2011-08-19 10:16:38 -07:00
Brian Anderson
d681f062c7 Clean up run-pass/fun-call-variants
Uncomment parts of the test that work correctly now, enable pretty testing
2011-08-19 10:16:38 -07:00
Brian Anderson
a0ca1ac1bc Remove xfail-pretty directives from working tests 2011-08-19 10:16:38 -07:00
Brian Anderson
22c8eebc48 Add a comment about our single use of no-reformat 2011-08-19 10:16:38 -07:00
Brian Anderson
113be53df3 Do better at preserving blank lines during pretty-printing 2011-08-19 10:16:38 -07:00
Brian Anderson
8c3ed8640b Don't pretty-print extra blank lines after anon object methods 2011-08-19 10:16:38 -07:00
Brian Anderson
b02f1f46e5 Don't pretty-print trailing whitespace for blank lines inside block comments 2011-08-18 19:22:10 -07:00
Brian Anderson
84fb821e40 Try harder to disambig blocks followed by various exprs in pprust. Closes #840
As it turns out, it's not just unops we need to worry about. Also tuples and
anything that requires parens.
2011-08-18 18:53:36 -07:00
Tim Chevalier
d81d86440f Handle sequential let semantics properly in typestate
Closes #824
2011-08-18 17:21:55 -07:00
Graydon Hoare
e8bcca2829 Kill another case of a spurious blank line. Closes #809. 2011-08-18 17:02:23 -07:00
Michael Sullivan
0a00fab249 Fix task-comm-15 type errors and un-xfail. 2011-08-18 16:13:03 -07:00
Brian Anderson
f5ce3bf15d More misc ivec->vec renaming 2011-08-18 15:01:49 -07:00
Brian Anderson
1aa1f8c4b7 Rename various things from ivec to vec 2011-08-18 14:32:25 -07:00
Brian Anderson
53eb4a3025 Pretty-print ivecs as [] 2011-08-18 13:09:00 -07:00
Eric Holk
3ab21e5ee0 Better type inference for chans and ports. 2011-08-17 17:16:23 -07:00
Tim Chevalier
f023f82090 Track arguments in typestate
Add the infrastructure for arguments -- as well as local vars --
to be deinitialized with move-mode calls. Address Issue #819
2011-08-17 17:15:46 -07:00
Brian Anderson
df10df821b Remove last mentions of vec<> type in Rust source 2011-08-17 16:08:17 -07:00
Brian Anderson
ad598ebea0 Use the new task join methods in the test runner. Closes #826
It should report failures properly again
2011-08-17 15:34:54 -07:00
Brian Anderson
deef212bf7 Move some test setup from runtest to compiletest 2011-08-17 15:11:17 -07:00
Eric Holk
9e020b8b8f Convenience methods for spawning and joining tasks. 2011-08-17 15:07:19 -07:00
Eric Holk
efac7c9a19 Yet another comm interface. 2011-08-17 14:42:40 -07:00
Eric Holk
94260fb91d Using move-mode for spawn thunks to avoid race conditions. 2011-08-17 11:44:50 -07:00
Brian Anderson
bfbe8870d7 Refactor import lookup in middle:resolve
Issue #817
2011-08-17 11:05:04 -07:00
Brian Anderson
cd54e77720 Allow multiple imports in a single statement
Like so: import foo::{bar, baz};

Issue #817
2011-08-17 11:04:56 -07:00
Brian Anderson
c4ce463f37 Add compile-fail tests for malformed glob imports 2011-08-17 11:04:05 -07:00
Brian Anderson
67cc5b9e34 Allow multiple exports in a single export statement. Issue #817 2011-08-17 11:04:05 -07:00
Eric Holk
fc616af820 Updating to new type parameter syntax. 2011-08-16 16:52:52 -07:00
Eric Holk
8686645aad New channel-based task status notifications. 2011-08-16 16:47:40 -07:00
Erick Tryzelaar
b3eba15271 Port the tests to the expr foo::<T> syntax. 2011-08-16 15:05:57 -07:00
Erick Tryzelaar
3520499544 Port the tests to the decl foo<T> syntax. 2011-08-16 15:05:56 -07:00
Erick Tryzelaar
21f46a1655 Port the tests to the typaram foo<T> syntax. 2011-08-16 15:05:56 -07:00
Brian Anderson
2f61848b24 Add pp test for interleaving comments through vectors. Closes #679 2011-08-16 11:39:04 -07:00
Brian Anderson
f05a91a0dc Rename std::ivec to std::vec 2011-08-16 10:36:19 -07:00
Brian Anderson
f32079f7c0 Convert most main functions to the ivec signature
Converting rustc will still take a snapshot
2011-08-16 10:29:08 -07:00
Brian Anderson
053b8bff5a Accept main(args: [str]) as main signature 2011-08-16 10:29:08 -07:00
Eric Holk
88a47020cf Updating sio tests. 2011-08-16 09:45:55 -07:00
Eric Holk
cf2def46c1 Removed trans_comm.rs from the compiler. Updating aio/sio to work with the new chan and port system, started on a networking module for the standard library. 2011-08-16 09:36:29 -07:00
Marijn Haverbeke
e33af7e0b5 Make let bindings' scope start at their definition
Also, allow let bindings in a block to shadow each other.
2011-08-16 13:45:41 +02:00
Marijn Haverbeke
92719e438c Clean up zip and unzip in std::ivec 2011-08-16 13:45:41 +02:00
Lindsey Kuper
f91351aaf6 The wonky for...in... whitespace was bothering me. Sorry! 2011-08-15 22:19:50 -07:00
Brian Anderson
cb239cc028 XFAIL task-comm-15
Fails consistently on windows
2011-08-15 19:28:38 -07:00
Lindsey Kuper
d55048ec5c Test case for issue #115. 2011-08-15 17:10:13 -07:00
Lindsey Kuper
4ff6b6fc27 Test cases for issue #822. 2011-08-15 16:29:42 -07:00
Lindsey Kuper
93d425e7a5 Simple example of anonymous objects from nothing. Closes #812. 2011-08-15 16:13:29 -07:00
Michael Sullivan
886c2ee93e Tests for type inferred lambda-blocks. 2011-08-15 15:48:11 -07:00
Graydon Hoare
814bf41d89 Add operator 'copy', translates as fall-through. 2011-08-15 15:44:41 -07:00
Brian Anderson
9ca8df93b3 XFAIL run-pass/task-killjoin
Seems to be failing with some consistency
2011-08-15 15:41:33 -07:00
Paul Stansifer
87b56b5565 Allow [a, b, ..., c] transcription patterns in MBE. 2011-08-15 15:35:27 -07:00
Paul Stansifer
6d39be465f Add backtraces for syntax problems. 2011-08-15 15:35:27 -07:00
Eric Holk
5c6790519b Reducing the chances for race conditions in join. 2011-08-15 12:39:55 -07:00
Eric Holk
871013b942 Syntax updates. 2011-08-15 09:52:18 -07:00
Eric Holk
aa0a51a7f5 Converted over benchmarks. 2011-08-15 09:26:52 -07:00
Eric Holk
be7325073a Removed spawn and task from the parser. Updated all the tests except for the benchmarks. 2011-08-15 09:26:52 -07:00
Eric Holk
c3535f5842 Porting a bunch of tests over. 2011-08-15 09:26:52 -07:00
Eric Holk
cc353aa17a Removed old object-based chans. 2011-08-15 09:26:51 -07:00
Eric Holk
7ad13392bd Converted two more spawn tests. 2011-08-15 09:26:51 -07:00
Eric Holk
b9f1f77622 Fixed memory accounting and task stack creation bugs. 2011-08-15 09:26:51 -07:00
Eric Holk
2f23405a60 Working on more spawn test cases. 2011-08-15 09:26:51 -07:00
Eric Holk
b2dad8af31 Added a library version of spawn. Before long, we can remove the old version. 2011-08-15 09:26:51 -07:00
Eric Holk
871d1317e5 Move mode for lib comm, converted a few tests. 2011-08-15 09:26:51 -07:00
Eric Holk
39b16077bb Port ID-based channels. 2011-08-15 09:26:51 -07:00
Marijn Haverbeke
1570949ef1 Re-add some deleted tuple tests 2011-08-15 13:39:45 +02:00
Michael Sullivan
0340f32748 Eliminate autoderef on binops and unary negation.
Autoderef on binops is basically unused, kind of silly, and
complicates typechecking. There were only three instances of it in the
compiler and the test drivers, two of which were of the form "*foo =
foo + 1", which should be written as "*foo += 1" anyways.
2011-08-12 18:28:03 -07:00
Michael Sullivan
e527140548 Change some tests that used binop autoderef. 2011-08-12 18:28:03 -07:00
Tim Chevalier
c01e487485 Un-XFAIL do-while-body-fails
Made it work both with optimization enabled, and with optimization
disabled. Huzzah!
2011-08-12 16:26:10 -07:00
Brian Anderson
ee7d03f7d7 Convert most working tests to ivecs
I tried to pay attention to what was actually being tested so, e.g. when I
test was just using a vec as a boxed thing, I converted to boxed ints, etc.

Haven't converted the macro tests yet. Not sure what to do there.
2011-08-12 16:13:13 -07:00
Michael Sullivan
2421312dea Don't rely on binop autoderef in the compiler. 2011-08-12 15:16:01 -07:00
Brian Anderson
4e62c0d6cb Remove std::vec 2011-08-12 12:14:07 -07:00
Brian Anderson
3d1634db15 Remove all usages of std::vec::vbuf 2011-08-12 12:14:07 -07:00
Brian Anderson
f9623f0056 Remove vecs from std::sha1 2011-08-12 12:14:07 -07:00
Brian Anderson
235109f8d2 XFAIL run-pass/vec-self-append
Broken under the ivec regime
2011-08-12 12:14:07 -07:00
Brian Anderson
12cd11ecda Remove last uses of vec::len 2011-08-12 12:14:07 -07:00
Brian Anderson
544bdf05c5 Convert uint::parse_buf to ivecs 2011-08-12 12:14:07 -07:00
Brian Anderson
5f71a204d3 Remove vecs from std::getopts 2011-08-12 12:14:07 -07:00
Brian Anderson
f323aeed17 Remove more vectors from std 2011-08-12 12:14:06 -07:00
Brian Anderson
7625ed52ee Remove vecs from std::sort 2011-08-12 12:14:06 -07:00
Brian Anderson
13439dc870 Convert std::run to ivecs 2011-08-12 12:11:12 -07:00
Brian Anderson
5c042a02cd Remove vecs from std::bitv 2011-08-12 12:11:12 -07:00
Brian Anderson
28437a1890 Convert compile-fail/alias-mismatch to ivecs 2011-08-12 12:11:12 -07:00
Brian Anderson
b762ba0890 Convert benchmarks to ivecs 2011-08-12 12:11:12 -07:00
Brian Anderson
48ad07b5d6 Convert run-pass/import-glob-crate to ivecs 2011-08-12 12:11:12 -07:00
Brian Anderson
cb59e28679 Convert run-pass/mod-view-items to ivecs 2011-08-12 12:11:12 -07:00
Brian Anderson
a76165f670 Move the ivec::reverse tests to stdtest 2011-08-12 12:11:11 -07:00
Brian Anderson
4dec0f6d96 Add reverse and reversed to std::ivec
Modify tests to use the ivec version
2011-08-12 12:11:11 -07:00
Brian Anderson
97dc75da16 Remove stdtest::vec 2011-08-12 12:11:11 -07:00
Brian Anderson
ae4c17e267 Add some of stdtest::vec into stdtest::ivec
Add missing functions to std::ivec as needed
2011-08-12 12:10:25 -07:00
Brian Anderson
3814d8d4b0 Convert run-pass/vec-append to ivecs 2011-08-12 12:08:28 -07:00
Brian Anderson
c06d95f178 Remove references to std::vec from compile-fail/cross-crate-glob-collision.rs 2011-08-12 12:08:28 -07:00
Brian Anderson
e790f1e6c5 Remove run-pass/vec-alloc-append.rs
There is no ivec::append and this is the only remaining user of vec::append
2011-08-12 12:08:28 -07:00