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