Marijn Haverbeke
6ba4eacddf
Make resolve recognize upvars
...
Upvars are now marked with def_upvar throughout, not just when going
through freevars::lookup_def. This makes things less error-prone. One
thing to watch out for is that def_upvar is used in `for each` bodies
too, when they refer to a local outside the body.
2011-09-01 16:32:44 +02:00
Marijn Haverbeke
2d1dec78e7
Move mutability checking into its own pass.
...
Having it in the alias pass was slightly more efficient (finding
expression roots has to be done in both passes), but further muddled
up the already complex alias checker.
Also factors out some duplication in the mutability-checking code.
2011-09-01 16:32:38 +02:00
Brian Anderson
53a9d5a1d2
Start paring down std::str. Issue #855
2011-08-31 16:24:09 -07:00
Brian Anderson
cb55ef6e12
Convert benchmarks to istrs. Issue #855
2011-08-31 16:24:08 -07:00
Michael Sullivan
7c02517f75
Check all paths return properly in blocks. Closes #874 .
2011-08-31 16:15:02 -04:00
Michael Sullivan
722fa00681
Get rid of the hack that ignores () typed things in fn tail position.
...
Closes #868 . Unfortunately, this causes certain invalid programs to
fail type-checking instead of failing type-state when a type-state
error message would probably be more intuitive. (Although, by any
reasonable interpretation of the static semantics, it technically
ought to be a type error.)
2011-08-31 16:01:25 -04:00
Brian Anderson
498e38b705
Convert uses of #fmt to #ifmt. Issue #855
2011-08-31 11:44:06 -07:00
Marijn Haverbeke
6209e844ee
Replace xfail-stageN with simply xfail-test
...
Closes #799
2011-08-31 16:32:16 +02:00
Marijn Haverbeke
66bc014720
Revert "Replace xfail-stageN with simply xfail-test"
...
This reverts commit 574194f6bc
.
2011-08-31 14:24:08 +02:00
Marijn Haverbeke
574194f6bc
Replace xfail-stageN with simply xfail-test
...
Closes #799
2011-08-31 13:43:09 +02:00
Brian Anderson
be2ad97a61
Allow main to take istrs. Issue #855
2011-08-30 23:57:09 -07:00
Brian Anderson
4007006574
Convert compiletest to istrs. Issue #855
2011-08-30 21:08:07 -07:00
Brian Anderson
eb70267e5e
Convert #env to istrs. Temporarily disable usage in rustc. Issue #855
2011-08-30 21:08:07 -07:00
Brian Anderson
c94d4cff03
Convert std::net to istrs. Issue #855
2011-08-30 21:08:07 -07:00
Brian Anderson
0abec867c3
Support istrs as fail argument. Issue #855
2011-08-30 21:08:07 -07:00
Brian Anderson
4c936d7992
Add #ifmt extension, like #fmt but for istrs. Issue #855
2011-08-30 21:08:07 -07:00
Brian Anderson
9e2c5f77a4
Remove the %S istr conversion from #fmt
...
I want to do the #fmt transition a different way. Issue #855
2011-08-30 21:08:07 -07:00
Tim Chevalier
6d8bb3ce29
Un-xfail zip-same-length
...
There was a type error that was getting reported poorly. Fixed it.
(Now to figure out why the error was reported so poorly...)
2011-08-30 17:19:13 -07:00
Tim Chevalier
4fc72c2130
XFAIL zip-same-length -- that's ok, since it's a new test
2011-08-30 16:43:12 -07:00
Tim Chevalier
819b00079c
Library test cases for vec::zip
2011-08-30 16:42:32 -07:00
Tim Chevalier
268533a920
Add a precondition on vec::zip
...
vec::zip now has the precondition that the two argument vectors
are the same length. Changed uses of it to reflect that.
Also added a few vector-enumerating utilities to vec.rs, which
necessitated in making some functions in u8 declared-pure.
2011-08-30 16:39:22 -07:00
Tim Chevalier
d37e8cfc67
Test that fn preconditions get typechecked
2011-08-30 16:39:17 -07:00
Marijn Haverbeke
c9c5ee252a
Implement non-internal ivecs
...
Vectors are now similar to our old, pre-internal vectors, except that
they are uniquely owned, not refcounted.
Their name should probably change too, then. I've renamed them to vec
in the runtime, will do so throughout the compiler later.
2011-08-29 09:07:53 +02:00
Brian Anderson
138973335a
Add std::istr::as_buf for converting to cstrs. Issue #855
2011-08-27 15:54:44 -07:00
Brian Anderson
7284f820d5
Support istrs in #fmt. Issue #855
...
The format string may be an istr and istr args may be used with %S
2011-08-27 15:54:44 -07:00
Brian Anderson
652332f9d4
Convert std::map::new_str_hash to istrs. Issue #855
2011-08-27 15:54:44 -07:00
Brian Anderson
15e3ae7936
Convert std::os to istrs. Issue #855
2011-08-27 15:54:44 -07:00
Brian Anderson
85b4253bc1
Convert std::generic_os to istrs. Issue #855
2011-08-27 15:54:43 -07:00
Brian Anderson
ccc68fc18b
Add std::istr::str_from_cstr. Issue #855
2011-08-27 15:54:43 -07:00
Brian Anderson
fcc031c5b4
Convert std::io to istrs. Issue #855
2011-08-27 15:54:43 -07:00
Brian Anderson
20178b9312
Convert std::run to istrs. Issue #855
2011-08-27 15:53:09 -07:00
Brian Anderson
4cf2e510e0
Convert std::getopts to istrs. Issue #855
2011-08-27 15:53:09 -07:00
Brian Anderson
3a5f4e7a74
Convert the task-comm parts of compiletest to istrs. Issue #855
...
This reduces the amount of voodoo in compiletest considerably.
2011-08-27 15:53:09 -07:00
Brian Anderson
c2eafd268b
Convert std::fs to istrs. Issue #855
2011-08-27 15:53:09 -07:00
Brian Anderson
051f1ff562
Convert std::sha1 to istrs. Issue #855
2011-08-27 15:53:09 -07:00
Brian Anderson
8146ca982e
Convert std::u64 to istrs. Issue #855
2011-08-27 15:53:08 -07:00
Brian Anderson
53be480d20
Convert std::int to istrs. Issue #855
2011-08-27 15:53:08 -07:00
Brian Anderson
ee2a11eb4f
Convert std::uint to istrs. Issue #855
2011-08-27 15:53:08 -07:00
Eric Holk
640886ceb6
Polymorphic MapReduce!
2011-08-26 18:03:33 -07:00
Eric Holk
5c0cc474be
stdlib: more test cases for treemap.
2011-08-26 18:03:32 -07:00
Eric Holk
2fab948e01
stdlib: Added a treemap traversal function.
2011-08-26 18:03:32 -07:00
Eric Holk
cd913b454d
stdlib: Added an incredibly simple treemap.
2011-08-26 18:03:32 -07:00
Eric Holk
45cac8a95f
Adding a test case to make sure spawning polymorphic functions works.
2011-08-26 16:31:14 -07:00
Tim Chevalier
844e2d7d1c
Test case for checks on pattern-bound vars
2011-08-26 00:46:53 -07:00
Tim Chevalier
809a833e34
Test case for unchecked blocks
2011-08-25 18:33:57 -07:00
Tim Chevalier
d9bc3cb10c
Change "pred" to "pure fn" in all libraries and test cases
2011-08-25 18:24:45 -07:00
Tim Chevalier
e241f2996d
Allow pure fns to have any return type
2011-08-25 17:23:35 -07:00
Eric Holk
2f7c583bc1
Cleaning up task and comm exports, updating all the test cases.
2011-08-25 11:21:25 -07:00
Brian Anderson
b31815f8a0
Fix istr::unsafe_from_bytes. Issue #855
2011-08-25 10:33:28 -07:00
Brian Anderson
5b5689d4dd
Test that processes that are supposed to fail return a non-zero status
2011-08-24 13:24:03 -07:00