Commit graph

10261 commits

Author SHA1 Message Date
Ben Blum
1f2ee4b384 Oops, switch more TODOs to FIXMEs 2012-07-13 20:33:08 -04:00
Ben Blum
d39a33687c Switch TODOs to FIXMEs 2012-07-13 20:31:24 -04:00
Ben Blum
cd38377b1b Add asserts to check fail_sched_loop() only once 2012-07-13 20:13:53 -04:00
Ben Blum
1c0b457853 Workaround #2912: Implement existential TLS and cheat with taskgroup key 2012-07-13 20:13:53 -04:00
Ben Blum
d338879ba5 Reintroduce linked failure (killing runtime)
This reverts commit 5724c64549.
2012-07-13 20:13:53 -04:00
Ben Blum
62575d9c4a Reintroduce linked failure (rust_port locking)
This reverts commit a10f52c579.
2012-07-13 20:13:53 -04:00
Ben Blum
aad184cc57 Reintroduce linked failure (renaming runtime fns)
This reverts commit 3b159c6d5b.
2012-07-13 20:13:53 -04:00
Ben Blum
79a2e9a38a Reintroduce linked failure (lifecycle lock)
This reverts commit 08c40c5eb7.
2012-07-13 20:13:53 -04:00
Ben Blum
df2d2604ca Reintroduce linked failure
This reverts commit acb86921a6.
2012-07-13 20:13:53 -04:00
Michael Sullivan
628d3e9d38 Change (hopefully) all of the code that generates strs asts to produce ~strs. 2012-07-13 17:03:54 -07:00
Michael Sullivan
f5e69d611e Change the pretty printer to print vstores for strs in prefix notation. 2012-07-13 17:03:54 -07:00
Michael Sullivan
985b52be6d Support prefix notation for vstore strings. Closes #2906. 2012-07-13 17:03:49 -07:00
Michael Sullivan
e4de160222 Register snapshots. 2012-07-13 16:46:36 -07:00
Michael Sullivan
ad5c4ed351 Make push_str overallocate. Use it in some places that were still doing +=. 2012-07-13 16:37:27 -07:00
Eric Holk
9728d14bae Fix hang in pipe-select when RUST_THREADS=1 2012-07-13 16:03:02 -07:00
Lindsey Kuper
7bba0ae973 Change stray cont to again in a comment. 2012-07-13 15:45:24 -07:00
Lindsey Kuper
78d11b899b Clean up various bugs with trait parsing. 2012-07-13 15:31:39 -07:00
Lindsey Kuper
5a63b2100e More consistent use of backticks and "expected" in error messages.
Got some of the debug messages, here, too.  I figure it doesn't hurt
to get used to doing this even in places where users won't ever see
it.
2012-07-13 15:31:39 -07:00
Tim Chevalier
07a81ad12e Refactor how impl self types are stored
In order to avoid a confusing use of the tcache, I added an extra
node ID field to trait refs. Now trait refs have a "ref ID" (the one
that resolve3 resolves) and an "impl ID" (the one that you look up
in the tcache to get the self type).

Closes #2434
2012-07-13 14:47:04 -07:00
Tim Chevalier
ee73b78e04 Test for #2288 2012-07-13 14:45:15 -07:00
Glenn Willen
28c1f21433 Better error when rustc fails to write output. 2012-07-13 17:06:30 -04:00
Michael Sullivan
d7f4d8d12b Actually xfail the test properly. Argh. 2012-07-13 14:05:28 -07:00
Michael Sullivan
05ff4f416b xfail a broken seeming test. 2012-07-13 13:06:39 -07:00
Tim Chevalier
3c011aab74 Extra test for #2311 2012-07-13 13:03:21 -07:00
Tim Chevalier
cd31b7cf5c Un-xfail test that works. Closes #2883 2012-07-13 12:04:38 -07:00
Lindsey Kuper
fc9c4c3245 Front-end support for default impls in traits. 2012-07-13 11:16:07 -07:00
Lindsey Kuper
d5563d732d Consistently use "allowed" rather than "permitted" in error messages. 2012-07-13 11:10:18 -07:00
Niko Matsakis
fa3dbb7f73 add xfail-fast directive due to aux-build 2012-07-13 10:47:20 -07:00
Niko Matsakis
4c463b78fb repair error msg 2012-07-13 10:20:51 -07:00
Niko Matsakis
9504778e2a add xfail-fast directive 2012-07-13 10:20:50 -07:00
Niko Matsakis
a2f60651f1 add comments to region inference 2012-07-13 10:20:50 -07:00
Niko Matsakis
90e435e808 change region syntax to &r/T in place of &r.T 2012-07-13 10:20:50 -07:00
Zack Corr
de001dd61c Change cont out of loop error to again out of loop 2012-07-14 01:24:33 +10:00
Eric Holk
05543fd04d Make tests pass 2012-07-12 20:09:30 -07:00
Patrick Walton
6e98416662 libcore: Add a to_slice_ptr function 2012-07-12 19:44:00 -07:00
Tim Chevalier
81ecd272d3 Comments only: TODOs to FIXME in the runtime 2012-07-12 19:06:08 -07:00
Tim Chevalier
fe77e962a8 Forbid TODO in tidy
Forbid TODO as either a sneaky or an accidental way of evading the
requirement to annotate FIXMEs with issue numbers.

Of course, there are many other ways to evade this requirement,
but one should draw the line somewhere...
2012-07-12 19:06:08 -07:00
Tim Chevalier
78ec6fe30c Obliterate the callee_id hack
Exprs that could be applications of overloaded operators
(expr_unary, expr_binary, expr_index) relied on the previous node ID
being "reserved" to carry extra typechecking info. This was
incredibly error-prone. Fixed it; now all exprs have two node IDs
(which will be wasted in some cases; future work could make this
an option instead if the extra int field ends up being a performance
problem).

Closes #2804
2012-07-12 19:02:07 -07:00
Eric Holk
fec8059ed5 Move port_set and shared_chan into core. 2012-07-12 18:16:01 -07:00
Eric Holk
ba10819800 Added a message send that uses shared chans. They are slower than port selectors, but scale better. 2012-07-12 18:16:01 -07:00
Eric Holk
75e55c1b12 Faster select. This version gives us about a 4x speedup. 2012-07-12 18:16:01 -07:00
Eric Holk
c56a38ac2a Added a version of msgsend that uses pipes and select. Here, select is way too slow to be useful, but this can be optimized. 2012-07-12 18:16:00 -07:00
Eric Holk
deb6476b29 Use unsafe pointers for recv_packet::header, because the region system is hard and this isn't safe anyway. 2012-07-12 18:16:00 -07:00
Eric Holk
aba665da32 Fix the signature on vec::view.
Due to limitations in region inference, this has the effect of making vec::view pretty much entirely unusable.
2012-07-12 18:16:00 -07:00
Eric Holk
1a276dba52 Switch map-reduce control protocol to use pipes. This exposed a bug in the pipe compiler, which is now fixed.
Use hashmaps in MapReduce

Tweak word-count difficulty
2012-07-12 18:16:00 -07:00
Tim Chevalier
d5b8bbb4b2 Pretty-print regions in slices correctly 2012-07-12 18:09:31 -07:00
Tim Chevalier
ea5f19206c Comments only: TODOs to FIXMEs; annotate 2012-07-12 18:09:31 -07:00
Tim Chevalier
407094e39a Fix region printing in the prettyprinter 2012-07-12 18:09:31 -07:00
Tim Chevalier
a407f74d6d Update and un-xfail reflect-visit-data 2012-07-12 18:09:31 -07:00
Tim Chevalier
e8e143b9d7 Comments only: annotate FIXMEs in tests 2012-07-12 18:09:31 -07:00
Brian Anderson
dac4916cec rustc: Resolve bounds of trait type parameters 2012-07-12 18:04:40 -07:00
Graydon Hoare
18da7fef88 Merge remote-tracking branch 'origin/dist-snap' into incoming 2012-07-12 17:14:55 -07:00
Michael Sullivan
c84c4a8d71 Handle str/~ in patterns. 2012-07-12 16:52:26 -07:00
Michael Sullivan
2ea9c8df0f Accept prefix notation for writing the types of str/~ and friends. 2012-07-12 16:52:26 -07:00
Ben Blum
acb86921a6 Revert linked failure
This reverts commit 5d6d3d0565.
2012-07-12 19:49:49 -04:00
Ben Blum
08c40c5eb7 Revert linked failure (lifecycle lock)
This reverts commit 74f4b8d901.
2012-07-12 19:49:49 -04:00
Ben Blum
3b159c6d5b Revert linked failure (renaming runtime fns)
Revert "Rename runtime *_locked() and *_unlocked() fns to *_inner() (closes #2864)"

This reverts commit b897696a3a.
2012-07-12 19:49:49 -04:00
Ben Blum
a10f52c579 Revert linked failure (rust_port locking)
This reverts commit 343e9de8ef.
2012-07-12 19:49:49 -04:00
Ben Blum
5724c64549 Revert linked failure (killing runtime)
This reverts commit 200a2ded32.
2012-07-12 19:49:49 -04:00
Michael Sullivan
1c62f5ff74 Get rid of all of the remaining /~s in the code base. 2012-07-12 15:13:18 -07:00
Brian Anderson
46fba10fe8 rustc: Make all impls even more reachable
With this we write metadata for all impls so that we can properly find
reexported impls.
2012-07-12 15:09:33 -07:00
Ben Blum
200a2ded32 Fix linked failure with root taskgroup to kill the runtime too. 2012-07-12 18:08:36 -04:00
Ben Blum
343e9de8ef Proper locking with blocked_on()/wakeup() in rust_port. Closes #2787. Closes #1923. 2012-07-12 18:08:36 -04:00
Ben Blum
b897696a3a Rename runtime *_locked() and *_unlocked() fns to *_inner() (closes #2864) 2012-07-12 18:08:36 -04:00
Michael Sullivan
9d2e5f3a65 Merge branch 'rt-changes' into incoming 2012-07-12 15:03:54 -07:00
Michael Sullivan
f219d978b0 Register snapshots. 2012-07-12 10:10:14 -07:00
Michael Sullivan
8ad4e92c2b Handle autoserializing of str/~. 2012-07-12 00:21:12 -07:00
Michael Sullivan
7b26503566 Make str be treated as str/~. 2012-07-12 00:21:04 -07:00
Michael Sullivan
b569bdec9f Refactor how we convert vstore ast types to ty types. 2012-07-12 00:12:13 -07:00
Erick Tryzelaar
91d9ded4be Fix an error for Centos 5
Unfortunately this doesn't get rust to compile on Centos 5.
Centos 5 uses glibc 2.5, but the snapshot-0 needs glibc 2.6+.
2012-07-11 20:09:57 -07:00
Niko Matsakis
b9aa9def85 infer when types are region parameterized rather than requiring /&
- removes various fields from various variants in the AST
- also update tests not to use this notation
2012-07-11 14:41:41 -07:00
Niko Matsakis
9b094c0baf new option to note where purity is req'd 2012-07-11 14:41:41 -07:00
Niko Matsakis
668285b9c8 add ability to report statistics about how borrowck is being used 2012-07-11 14:41:41 -07:00
Patrick Walton
9b7d9a9a1b rustc: Treat existential traits as base types for coherence purposes 2012-07-11 14:28:03 -07:00
Patrick Walton
fdf0c1b353 core: Newtype a bunch of types in libcore 2012-07-11 12:47:32 -07:00
Tim Chevalier
c0961bb88f Test for #2723. Closes #2723 2012-07-11 12:34:21 -07:00
Paul Stansifer
650009f80c Test (but don't pretty-print) the new macro system. 2012-07-11 12:06:47 -07:00
Paul Stansifer
c0abd6a2eb We're going to have a hard time if we want to pretty-print token trees. 2012-07-11 12:06:47 -07:00
Paul Stansifer
f3e874635f Fix (I think!) the ACTUALLY expr parsing situation. 2012-07-11 12:06:47 -07:00
Michael Sullivan
62e9ae04e2 Remove obsolete type param field from shape information. 2012-07-11 11:42:49 -07:00
Michael Sullivan
120773b2a7 Change the interface of placement new to take a tydesc as part of Issue #2831. 2012-07-11 11:42:49 -07:00
Eric Holk
bf88ff5217 Remove slow vec+=, and make word-count difficulty harder. 2012-07-11 11:36:37 -07:00
Eric Holk
a00478b7c9 word-count-generic now generates random words in benchmark mode. 2012-07-11 11:36:37 -07:00
Patrick Walton
e51f259ff0 rustc: Add some more checks to coherence 2012-07-11 11:23:14 -07:00
Tim Chevalier
1806707dcb Add test case for #2869 (xfailed) 2012-07-11 11:18:43 -07:00
Graydon Hoare
aa7b3cc929 Fix some version numbers. 2012-07-11 09:09:08 -07:00
Ben Blum
74f4b8d901 Unify state_lock + kill_lock -> lifecycle_lock (#2787) 2012-07-11 12:09:07 -04:00
Ben Blum
5d6d3d0565 Linked failure in task.rs instead of rust_task.cpp (#1868, #1189) 2012-07-11 12:07:06 -04:00
Ben Blum
152f2eade8 arc.rs: make exclusive's data mutable 2012-07-11 12:07:06 -04:00
Ben Blum
9c0b469613 Add rust_task_kill_other 2012-07-11 12:07:06 -04:00
Ben Blum
2ffa9b6bd9 vim: add optional rustFuncCall (default disabled) 2012-07-11 12:07:06 -04:00
Ben Blum
e8b13e8f26 rust_task.h - fix disallow_kill & don't inherit rust_cond 2012-07-11 12:07:06 -04:00
Eric Holk
424ae442c5 xfailing pipe-select on Windows, because it also uses fail. 2012-07-10 23:42:57 -07:00
Tim Chevalier
7b4190d4e9 Test for issue 2735
This probably doesn't test the actual bug, but the fix for
issue 2734 probably camouflages the actual bug (since the
effect of the #2734 test case is now "do nothing observable"
rather than "segfault").

Closes #2735
2012-07-10 23:10:21 -07:00
Tim Chevalier
e958cbe799 Un-xfail issue 2734 test
because I guess I forgot to do that when I fixed the bug.
2012-07-10 23:10:21 -07:00
Eric Holk
203da7e814 xfailing pipe-detect-term on Windows, because it requires failure. 2012-07-10 23:02:11 -07:00
Eric Holk
71339d9e69 Pipe code cleanup 2012-07-10 22:00:48 -07:00
Eric Holk
877ebed6cf Visit item macros. 2012-07-10 22:00:48 -07:00
Eric Holk
22e955a76a Move streams into core. 2012-07-10 22:00:48 -07:00
Eric Holk
594d9a0554 Use protocol compiler in future.rs. Also split recv into recv and try_recv. 2012-07-10 22:00:48 -07:00
Eric Holk
26e6eb3d14 Handle failure conditions correctly in pipes. 2012-07-10 22:00:47 -07:00
Eric Holk
d07e537fc3 Remember to wake up blocked task on sender terminate. 2012-07-10 22:00:46 -07:00
Eric Holk
1c1b3a3339 Added peek for pipes. 2012-07-10 22:00:46 -07:00
Eric Holk
69cd8b5fcb Added select2 for pipes. 2012-07-10 22:00:45 -07:00
Eric Holk
801e049617 Added a test case for issue #2834. 2012-07-10 22:00:41 -07:00
Tim Chevalier
f39477d926 In resolve, check that an or-pattern has the same number of bindings in each disjunct
resolve3 wasn't checking this. Added test cases. Also added a helpful informational
message in the case where you have a variable binding that you probably think
refers to a variant that you forgot to import.

This is easier to do in resolve than in typeck because there's code in typeck
that assumes that each of the patterns binds the same number of variables.
2012-07-10 18:24:41 -07:00
Patrick Walton
019d4291c7 rustc: Introduce a coherence checker, behind a compile switch for now 2012-07-10 17:35:18 -07:00
Michael Sullivan
a7897b3ef3 Eliminate some obsolete upcalls. 2012-07-10 16:33:21 -07:00
Michael Sullivan
260f73ed85 Get rid of unused fields in tydescs. Closes #2351. 2012-07-10 16:33:21 -07:00
Michael Sullivan
e430a699f2 Fix take glue for slices. 2012-07-10 16:32:54 -07:00
Michael Sullivan
a83ed81f77 Get rid of some remaining uses of old style vecs. 2012-07-10 16:32:53 -07:00
Michael Sullivan
baebccd2c8 Don't fail when emitting free glue for fixed and region evecs. 2012-07-10 15:57:48 -07:00
Graydon Hoare
f2b8ab0ad3 Mop up merge collision. 2012-07-10 15:25:58 -07:00
Graydon Hoare
0a4a602a23 Modify reflect interface to pass tydescs back to client, stop on false return.
These changes are required to prune type-recursion and admit early
returns in the visitor code. Changes to visitors in subsequent csets.
2012-07-10 15:16:48 -07:00
Michael Sullivan
ef9a64709e Make old_vecs an error. 2012-07-10 15:12:13 -07:00
Michael Sullivan
bf06deafe6 Disallow implicitly binding methods in typechecker. Closes #2189. 2012-07-10 15:12:13 -07:00
Michael Sullivan
e4362a59b9 Remove the empty tuple of tydescs from closures. Closes #2531. 2012-07-10 15:12:13 -07:00
Michael Sullivan
95dd9f3204 Get rid of a lot of bind related cruft as part of Issue #2189. 2012-07-10 15:12:12 -07:00
Michael Sullivan
40fc1737b2 Get rid of places that expected foo.bar to implicitly bind. 2012-07-10 15:12:12 -07:00
Michael Sullivan
25b152397d Clean up the tydesc handling code in trans. 2012-07-10 15:12:12 -07:00
Brian Anderson
ccee8cb4f9 std: Fix deadlock by unsupervising the global I/O task 2012-07-10 15:10:13 -07:00
Paul Stansifer
773e3df310 Fix some lookahead problems with ACTUALLY tokens. 2012-07-10 14:26:38 -07:00
Michael Sullivan
0070527383 Pretty print vectors as ~[] instead of []/~. Closes #2863. 2012-07-10 13:55:19 -07:00
Michael Sullivan
14f19bdee4 Don't pretty print unsafe pointers as carets, since #2826 is abandoned. 2012-07-10 13:39:56 -07:00
Patrick Walton
a6ee46db0b rustc: Resolve expressions in literal and range patterns 2012-07-10 12:30:02 -07:00
Brian Anderson
71fd542f26 test: Fix shootout-binarytrees 2012-07-10 12:09:36 -07:00
Brian Anderson
1e8ae18ba1 test: Fix shootout-fasta 2012-07-10 12:05:23 -07:00
Erick Tryzelaar
d0ac1bbfaf libcore: fix task::test_osmain test. 2012-07-10 11:39:59 -07:00
Brian Anderson
c992645250 Tidy 2012-07-10 10:05:20 -07:00
Erick Tryzelaar
1972ae23e5 libcore: add a task::set_sched_mode fn 2012-07-10 08:45:08 -07:00
Tim Chevalier
78088fb813 Add test case for issue 2766, which resolve 3 fixes 2012-07-09 19:16:23 -07:00
Graydon Hoare
172bf3a038 Back out recognition of caret for unsafe ptr. Decided to abandon #2826 mid way through. 2012-07-09 18:42:06 -07:00
Patrick Walton
f0fe08f1c8 rustc: Handle foreign item purity correctly in resolve3 2012-07-09 18:39:10 -07:00
Paul Stansifer
1bdcba3d74 'cont' -> 'again' in straggler code 2012-07-09 17:44:46 -07:00
Paul Stansifer
b1af6ac6f1 Make the matcher parser treat () in a matchy way, like one would expect. 2012-07-09 17:44:46 -07:00
Paul Stansifer
55e28f6689 Remove the tt macro demo. 2012-07-09 17:44:46 -07:00
Paul Stansifer
54741b9427 Allow defining token tree macros. They should work now! 2012-07-09 17:44:46 -07:00
Paul Stansifer
caa83b41bb Add support for matchers nonterminals. 2012-07-09 17:44:46 -07:00
Paul Stansifer
cabee6391d Enable item macros to define macros. 2012-07-09 17:44:46 -07:00
Paul Stansifer
579768baa5 Allow folds to drop items. 2012-07-09 17:44:46 -07:00
Patrick Walton
7d90edcb3b rustc: Switch over to resolve3 2012-07-09 17:44:16 -07:00
Patrick Walton
6912b11089 rustc: Fix the collision with Tim's change 2012-07-09 17:44:15 -07:00
Patrick Walton
ad673daa6c Revert "rustc: Switch over to resolve3" due to Linux failures
This reverts commit 2c0aa257e2.
2012-07-09 16:50:19 -07:00
Patrick Walton
2c0aa257e2 rustc: Switch over to resolve3 2012-07-09 16:29:25 -07:00
Patrick Walton
2edc4195d5 rustc: Allow import resolutions to be inferred from external crates in resolve3 2012-07-09 16:29:25 -07:00
Graydon Hoare
9b6e90d2b5 Xfail-fast a recent test that doesn't work on check-fast. 2012-07-09 16:08:11 -07:00
Brian Anderson
c5687e1bfb syntax: Pretty-print view item attributes 2012-07-09 15:40:06 -07:00
Tim Chevalier
271da617cb Tag re-exports differently in metadata
so that the "list metadata" command doesn't print out anything
about intrinsics, but other code can see them.

Closes #2771
2012-07-09 15:21:29 -07:00
Graydon Hoare
3f9a3469c7 Catch one missing residual 'cont' -> 'again' change. 2012-07-09 15:15:39 -07:00
Brian Anderson
6161429363 rustdoc: Filter out another invalid id character 2012-07-09 15:13:22 -07:00