Lindsey Kuper
18162d3261
Some progress on issue #540 .
2011-07-19 14:30:53 -07:00
Lindsey Kuper
a33bc56e43
Reduced test case for issue #540 .
2011-07-19 12:48:06 -07:00
Erick Tryzelaar
b82c9c9e79
xfail simple-qsort.rs test at stage0.
2011-07-19 11:39:04 -07:00
Brian Anderson
fb9a117743
Fix an invalid memory access in run_program and friends
2011-07-19 10:15:16 -07:00
Brian Anderson
7e55061def
Add str::replace
2011-07-18 16:16:48 -07:00
Brian Anderson
689f5f487c
Add str::is_empty, is_not_empty preds
2011-07-18 16:16:48 -07:00
Michael Sullivan
71909a64bc
Fix qsort to not skip the right side when the pivot element gets put at index 0.
...
Closes #705 .
2011-07-18 15:03:31 -07:00
Brian Anderson
ad1c0e6308
Reformulate x86stdcall test so it works with check-fast
...
Hopefully this puts out the burning win32 tinderbox
2011-07-18 14:59:44 -07:00
Brian Anderson
cc7ae32ba1
Add setenv to standard library
2011-07-18 13:56:19 -07:00
Brian Anderson
c40d6265ce
Support x86 stdcall convention
...
This allows rust to call the Win32 API
2011-07-18 13:56:15 -07:00
Brian Anderson
20a3adbc08
Revert "Add setenv to standard library"
...
This reverts commit 6fb168b3dbd733f6fccebd01c2e5416f800a5566.
2011-07-17 19:16:18 -07:00
Brian Anderson
6fb168b3db
Add setenv to standard library
2011-07-17 18:50:01 -07:00
Brian Anderson
8c4f1652ec
Add ivec::zip/unzip
2011-07-16 17:36:11 -07:00
Lindsey Kuper
69abf0a5ff
Revised plan of attack for backwarding functions.
2011-07-15 17:23:20 -07:00
Lindsey Kuper
c4265209a6
More tests for anonymous objects. Issues #702 , #703 .
2011-07-15 15:33:40 -07:00
Brian Anderson
ced8393f20
Modify task::join to indicate how the task terminated
...
This involves sticking yet another field into the task structure
2011-07-15 10:07:29 -07:00
Brian Anderson
ed6f9bb677
Add tests for unsupervise
2011-07-14 18:50:22 -07:00
Brian Anderson
81acf69f97
Add head and tail functions to std::ivec
...
They even have typestate preconditions
2011-07-14 17:13:12 -07:00
Brian Anderson
139aaa1616
Add is_empty, is_not_empty preds to std::ivec
2011-07-14 17:13:12 -07:00
Brian Anderson
f4beac4a43
Revert "Allow main to return int"
...
This reverts commit 8c94d8fd54ba864e6a603ba6d90d41ccfaa62f53.
There's no mechanism to actually return the value from main, so all this does
is allow main -> int to compile. Per #688 , the program returns non-zero on
failure, so it's not obvious that this change is appropriate at this time.
2011-07-14 10:37:28 -07:00
Brian Anderson
fc67dddb9b
XFAIL some tests in stage 0
2011-07-14 10:27:02 -07:00
Brian Anderson
8c94d8fd54
Allow main to return int
2011-07-13 19:22:53 -07:00
Graydon Hoare
39151f2ad8
Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.
2011-07-13 15:44:09 -07:00
Tim Chevalier
5e1a6dac44
Parse nullary ret correctly
...
ret is similar to fail: if not followed by an expression, it
should be parsed as a ret without an argument. The old version would
fail if ret was followed by a close paren (for example). Fixed it.
Closes #676 .
2011-07-13 15:00:59 -07:00
Marijn Haverbeke
be4f7354b4
Add box patterns
...
An @ can now be prepended to a pattern to unbox something during
pattern matching.
Closes #661
2011-07-13 11:11:43 +02:00
Graydon Hoare
e53cfb979b
Fix fast-check target by disabling code snippet printing on warnings (broken on .rc files) and adding an xfail-fast flag for global-scope.rs.
2011-07-12 17:36:57 -07:00
Brian Anderson
41a3888da7
Fix type inference of fn tail expressions. Closes #680
2011-07-12 16:54:46 -07:00
Eric Holk
1ea449e2f6
Updating and unXFAILing somet communication tests.
2011-07-12 15:27:36 -07:00
Patrick Walton
27834c2a65
test: Switch lib-either over to interior vectors. Puts out burning tinderbox.
2011-07-12 15:09:44 -07:00
Paul Stansifer
9a0e85a920
Change "etc" syntax for record patterns from {a:b ...}
to {a:b, _}
.
2011-07-11 18:52:50 -07:00
Paul Stansifer
425732311a
Move macro expansion to a separate phase, change macro syntax, and add parse_sess to session.
2011-07-11 18:52:50 -07:00
Patrick Walton
05390b4b38
rustc: Implement explicit global scope resolution via leading "::"; add a test case
2011-07-11 16:02:16 -07:00
Tim Chevalier
9427864f33
Unify the rhs and lhs types in a send
...
Closes #662 .
One-line fixes are always the best :-D
2011-07-11 15:24:47 -07:00
Patrick Walton
79ce5a4614
rustc: Implement pointer dereference; add a test case
2011-07-11 15:19:16 -07:00
Michael Sullivan
4618e802db
Fix comparisons of the nil type to do something sensible.
...
Closes #576 .
2011-07-11 14:45:21 -07:00
Michael Sullivan
7340824cbc
Fix autoderef of function calls when the function is not an lval.
...
As it turns out, the correct way to handle this is much simpler than what I
did originally.
Also add more tests.
2011-07-11 11:38:01 -07:00
Michael Sullivan
418aa52510
Add a test that exercises these cases in bind.
2011-07-11 11:37:56 -07:00
Marijn Haverbeke
7595fe5153
Implement record patterns
...
Closes #469 .
2011-07-11 15:32:41 +02:00
Marijn Haverbeke
86ee3454a1
Implement or-patterns in case clauses
...
You can now say
expr_move(?dst, ?src) | expr_assign(?dst, ?src) { ... }
to match both expr_move and expr_assign. The names, types, and number
of bound names have to match in all the patterns.
Closes #449 .
2011-07-11 11:01:54 +02:00
Patrick Walton
d30f22eb65
rt: Remove the _2 prefix from intrinsics; all rust-intrinsics now use explicit return pointers
2011-07-10 01:20:18 -07:00
Patrick Walton
f42c94740a
rustc: Make rust-intrinsics take an explicit return pointer
2011-07-09 21:13:25 -07:00
Brian Anderson
45b00935f3
Begin running the test for int::pow
...
Somehow this has been disabled forever
2011-07-09 12:35:30 -07:00
Tim Chevalier
9ec5e90608
Tests for constraint propagation
2011-07-08 22:25:57 -07:00
Brian Anderson
394b8fcd1c
Add test case for issue #333 . Closes #333
...
This has been fixed by a mystery hacker.
2011-07-08 17:43:44 -07:00
Patrick Walton
7c66894a71
rustc: Do dynamic size calculations properly when concatenating interior vectors. Closes #640 .
2011-07-08 11:29:29 -07:00
Marijn Haverbeke
c7bfef43c8
Ignore current scope when resolving self-shadowing imports
...
That is, for example, import x::y::x, which defines a local x,
and thus wouldn't be able to find x::y anymore.
Closes issue #624
2011-07-08 16:04:40 +02:00
Marijn Haverbeke
022363a674
Auto-bind generic functions when their value is taken in non-call context
...
trans::trans_lval will now autobind if the given expression was the
name of a generic functions. Those callees (trans_call and trans_bind)
that are interested in the generics information call trans_lval_gen
now.
2011-07-08 14:28:46 +02:00
Lindsey Kuper
e7111fe147
Un-xfail a test.
2011-07-07 17:39:35 -07:00
Lindsey Kuper
3243144046
Fix a bug that was interfering with method overriding. Issue #543 .
...
Previously, we were creating both a normal vtable entry and a
forwarding function for overriding methods, when they should have just
gotten a vtable entry. This patch fixes that.
2011-07-07 17:29:15 -07:00
Marijn Haverbeke
3bdbf74d47
Make moving of temporaries do the right thing, use it to optimize
...
This adds support for dropping cleanups for temporary values when they
are moved somewhere else. It then adds wraps most copy operations
(return, put in data structure, box, etc) in a way that will fall back
to a move when it is safe.
This saves a lot of taking/dropping, shaving over a megabyte off the
stage2/rustc binary size.
In some cases, most notably function returns, we could detect that the
returned value is a local variable, and can thus be safely moved even
though it is not a temporary. This will require putting some more
information in lvals.
I did not yet handle function arguments, since the logic for passing
them looked too convoluted to touch. I'll probably try that in the
near future, since it's bound to be a big win.
2011-07-07 15:54:01 +02:00