Commit Graph

10339 Commits

Author SHA1 Message Date
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
Brian Anderson
2d1ca984eb rustdoc: Filter some characters that aren't valid pandoc header ids 2012-07-09 14:59:36 -07:00
Graydon Hoare
cfd3d2e1be Fix snapshot datestamp. 2012-07-09 14:58:08 -07:00
Graydon Hoare
c36d4bc1b1 Switch snapshots to the later builds. Something off with the earlier ones. 2012-07-09 14:49:31 -07:00
Graydon Hoare
638036fe55 Remove 'cont' from parser/lexer. 2012-07-09 14:47:45 -07:00
Graydon Hoare
f210deae3d Merge branch 'incoming' of github.com:/mozilla/rust into incoming
Conflicts:
	src/snapshots.txt
2012-07-09 14:38:37 -07:00
Graydon Hoare
c26d02557e Switch 'cont' to 'again' everywhere. Close #2229. 2012-07-09 14:37:48 -07:00
Graydon Hoare
9afc8be04b Register snapshots. 2012-07-09 14:25:36 -07:00
Niko Matsakis
f72487d196 Remove xfail-test from (now functional) test. Fixes #2323. 2012-07-09 14:24:25 -07:00
Niko Matsakis
e1fd131ab9 register new snapshot b5f5676 2012-07-09 14:24:25 -07:00
Michael Sullivan
5c914e4a9d Add clear methods to the tests that make maps. 2012-07-09 14:16:24 -07:00
Brian Anderson
b7a418e194 rustc: Conditionally compile view items. #2357 2012-07-09 14:09:03 -07:00
Brian Anderson
3b399afa89 Merge pull request #2847 from ben0x539/incoming
Tiny documentation fixes in rust.md and src/libcore/task.rs
2012-07-09 13:59:03 -07:00
Brian Anderson
547bf7c350 test: xfail-fast extern-crosscrate 2012-07-09 13:41:32 -07:00
Brian Anderson
aa232a5269 Merge pull request #2846 from gwillen/1c882842e06431767676887f97f9dcc0ee50a7b9
Add map::clear
2012-07-09 13:26:48 -07:00
Josh Matthews
a7f6e00944 Fix metadata serialization of foreign functions. Properly take the value of foreign functions from other crates to fix #1840. 2012-07-09 13:13:49 -07:00
Patrick Walton
f3b50ae348 test: Remove failing parts of the failing test (requires intertwining of resolve and typechecking) 2012-07-09 12:55:00 -07:00
Patrick Walton
4d8113725d rustc: Add some changes I missed 2012-07-09 11:05:48 -07:00
Ben Blum
8ffab392ab change borrowck error msg: 'declared in outer block' -> 'captured in a closure' (properly this time) 2012-07-09 14:01:39 -04:00
Patrick Walton
e41029d236 rustc: Switch to the new resolution pass 2012-07-09 10:27:13 -07:00
Benjamin Herr
4ac7159536 core: New closure syntax for comm.rs/task.rs docs 2012-07-09 13:46:32 +02:00
Benjamin Herr
b91358458b core: Formatting fix in documentation for task::unkillable 2012-07-09 05:02:05 +02:00
Benjamin Herr
cf4d5f4e4c core: Give task::spawn_with the documentation from task::run_with 2012-07-09 05:02:05 +02:00
Benjamin Herr
97a76b8eec core: Remove spurious newline in task::run_with documentation 2012-07-09 05:02:04 +02:00
Glenn Willen
1c882842e0 Add clear() to the map interface.
Add clear to the map interface, and implement it in hashmap and smallintmap.
2012-07-08 16:06:48 -07:00
Brian Anderson
5dd5a9ab89 core: Ignore to_str::test_vectors. It's busted 2012-07-08 00:50:46 -07:00
Ryan Scheel
69c2a9c26a Add test attributes to test functions missing test attributes. 2012-07-08 00:42:23 -07:00
Brian Anderson
ea03315cf4 Revert "change borrowck error msg: 'declared in outer block' -> 'captured in a closure'"
This change requires some tests to be updated.

This reverts commit b5b8f5efcc.
2012-07-08 00:07:15 -07:00
Brian Anderson
02ef651f95 Increase the difficulty of chameneos-redux under 'make perf' 2012-07-07 22:39:23 -07:00
Kevin Cantu
638ee23fcf Add improvements suggested by erickt and bblum 2012-07-07 22:27:00 -07:00
Kevin Cantu
2bd482ef11 Add the Alioth chameneos-redux benchmark
This adds a Rust implementation of the Alioth chameneos-redux benchmark:
http://shootout.alioth.debian.org/u64q/performance.php?test=chameneosredux

This version already seems faster than Clojure, Ruby, and OCaml. I'm running
with N=6,000,000 in about 1m 50s.  Further optimization would be good, though.

I'm talking right now with @eholk about how pipes could be used (this is 1:many)...
2012-07-07 22:27:00 -07:00
Niko Matsakis
a856bccdc6 Revert "rustc: Switch to the new resolution pass"
This reverts commit c4af6e92fb.

Branch was burning...many, many unresolved imports.
2012-07-06 20:45:06 -07:00
Ben Blum
f9cb04f6fa vim: hilight option, either, libc types+constants 2012-07-06 22:30:50 -04:00
Ben Blum
b5b8f5efcc change borrowck error msg: 'declared in outer block' -> 'captured in a closure' 2012-07-06 22:30:50 -04:00
Patrick Walton
c4af6e92fb rustc: Switch to the new resolution pass 2012-07-06 19:07:26 -07:00
Graydon Hoare
6b8ebc12db First step on #2826, accept ^ for ty_ptr. 2012-07-06 16:03:51 -07:00
Michael Sullivan
23c73360ca Fix the indenter script to know about the annoying ~ in the front of log strings. 2012-07-06 15:55:56 -07:00
Michael Sullivan
038f925586 Be less eager about implicit borrowing when doing method resolution. Closes #2796. 2012-07-06 15:55:18 -07:00
Graydon Hoare
ceac155211 For #2229, recognize 'again' in place of 'cont', final change pending snapshot. 2012-07-06 15:46:39 -07:00
Eric Holk
e20f63d095 Bank protocol example from blog post 2012-07-06 15:25:06 -07:00
Eric Holk
b925648ac7 Added a k-nucleotide version that uses pipes. 31% speedup. 2012-07-06 15:16:16 -07:00
Michael Sullivan
9e6b43fb33 Rip out a bunch more append code from trans. 2012-07-06 15:04:57 -07:00
Michael Sullivan
702f0cd734 Rename dvec::from_elt to dvec::from_elem. Closes #2792. 2012-07-06 14:52:57 -07:00
Eric Holk
0e1a6cf3d9 Remove tvec::trans_add 2012-07-06 14:13:52 -07:00
Niko Matsakis
11d868e925 paper over #2586 by not failing when the key is not found 2012-07-06 14:10:40 -07:00
Michael Sullivan
ee0177b908 Move string append to libraries. Closes #2710. 2012-07-06 13:37:56 -07:00
Eric Holk
604f7c66ff Removing locked queue port/chan prototype. 2012-07-06 11:05:28 -07:00
Eric Holk
7b03832c95 Updating tests to use pipes. 2012-07-06 10:42:41 -07:00
Eric Holk
fa4134611d Fixing an infinite type, updating code to match new Early parser, remembering to add protocol parser. 2012-07-06 10:42:40 -07:00
Eric Holk
6806aa0e66 pingpong protocol parses, although I should probably rewrite this to use Paul's Early parser stuff. 2012-07-06 10:42:40 -07:00
Eric Holk
84434bc084 Recursively expand items, and keep expansion stack, per Paul's code review comments. 2012-07-06 10:42:40 -07:00
Eric Holk
d09bcc0131 Adding token tree nonterminals to earley parser. 2012-07-06 10:42:40 -07:00
Eric Holk
f0ef4ef81b You can have any protocol you want, provided it's pingpong.
This integrates the pipe compiler into the proto syntax extension.
2012-07-06 10:42:40 -07:00
Eric Holk
05cdda3a2c Plumbing and parsing for item-position macros. 2012-07-06 10:42:40 -07:00
Eric Holk
a787f40013 Select on pipes.
Updating syntax and test cases.
2012-07-06 10:42:39 -07:00
Eric Holk
89bdd481e5 Port future to pipes. Graph500 is about 21% faster now.
Making all tests pass.
2012-07-06 10:42:39 -07:00
Eric Holk
e5c9cb2b3d Pipes sleep and wake properly. 2012-07-06 10:42:39 -07:00
Eric Holk
a4838c93aa Enabling pipes for all stages, and updating closure syntax. 2012-07-06 10:42:39 -07:00
Eric Holk
67b0760592 Moved pipes runtime support to libcore, and add a test that will help verify that busy waiting is no longer happening.
Fixing the result of a bad merge.
2012-07-06 10:42:39 -07:00
Eric Holk
5c3889a02f Contracts work well enough to do the message ring benchmark, and it's really fast.
Fixing old-style vector, and xfail-prettying th contracts test because the pretty printer is unhappy.
2012-07-06 10:42:38 -07:00
Eric Holk
5d35435fac send only takes one data argument. 2012-07-06 10:42:38 -07:00
Eric Holk
0ad7ae523c Macro and iface tricks to simulate self move. 2012-07-06 10:42:38 -07:00
Eric Holk
c2d3cdc3df Progress towards pipes. 2012-07-06 10:42:38 -07:00
Eric Holk
61be3cc19e An example using pipes with most of the synchronization code in place.
Fixed a bug in the atomic intrinsics where they wouldn't correctly return their old value.

Pipes currently busy wait. The next step is to teach the scheduler how to deal with them.
2012-07-06 10:42:38 -07:00
Eric Holk
4dbd10a702 First example of a program using pipes. 2012-07-06 10:42:37 -07:00
Eric Holk
117b9a0b75 Basic functionality for new ports and chans
First test using the new comm system. About twice the throughput of the old system.
2012-07-06 10:42:37 -07:00
Erick Tryzelaar
f197d00979 cargo: Fix building dependencies 2012-07-06 09:35:43 -07:00
Brian Anderson
1eae49748d Ignore a should_fail test on windows 2012-07-05 23:26:41 -07:00
Brian Anderson
9b2d988df0 Fix test that was using rust_task_allow_kill incorrectly 2012-07-05 21:33:47 -07:00
Ben Striegel
d162fa26ba A new times method on numeric types
This method is intended to elegantly subsume two common iteration functions.
The first is `iter::range`, which is used identically to the method introduced
in this commit, but currently works only on uints. The second is a common case
of `{int, i8, uint, etc.}::range`, in the case where the inductive variable is
ignored. Compare the usage of the three:
```
for iter::range(100u) {
    // do whatever
}

for int::range(0, 100) |_i| {
    // do whatever
}

for 100.times {
    // do whatever
}
```
I feel that the latter reads much more nicely than the first two approaches,
and unlike the first two the new method allows the user to ignore the specific
type of the number (ineed, if we're throwing away the inductive variable, who
cares what type it is?). A minor benefit is that this new method will be
somewhat familiar to users of Ruby, from which we borrow the name "times".
2012-07-05 19:44:20 -07:00
Paul Stansifer
a8112f3b34 Allow soft failure of the macro parser. 2012-07-05 18:09:31 -07:00
Paul Stansifer
7f9b1fbe35 Add new syntax for interpolation and repetition, and allow the transcription of separators. 2012-07-05 18:09:31 -07:00
Paul Stansifer
62db5706e6 Start letting the parser catch interpolated ASTs. 2012-07-05 18:09:31 -07:00
Paul Stansifer
f940653720 Update the new macro demo. 2012-07-05 18:09:31 -07:00
Paul Stansifer
0c6fe6470e Macro By Example transcription of token trees with interpolations and dotdotdots. 2012-07-05 18:09:31 -07:00
Paul Stansifer
f4fb975e4e Store some span information for stride mismatches errors in MBE TT macros. 2012-07-05 18:09:31 -07:00
Paul Stansifer
534270551e Move earley_parser.rs to a more appropriate place 2012-07-05 18:09:31 -07:00
Paul Stansifer
39590d81f0 Some rearranging in perparation for MBE-style TT transcription. 2012-07-05 18:09:31 -07:00
Paul Stansifer
74c2266a06 Document matchers a little better. 2012-07-05 18:09:31 -07:00
Ben Blum
2ee779c839 Add test case in task.rs for #2782 2012-07-05 21:01:18 -04:00
Ben Blum
7b3add0632 make disallow_kill an int for nested unkillables (closes #2782) 2012-07-05 19:56:09 -04:00
Lindsey Kuper
47f61c5429 Clean up error message punctuation/capitalization 2012-07-05 16:18:58 -07:00
Tim Chevalier
a0dbf58245 Remove duplicate, un-used copy of astencode 2012-07-05 16:11:51 -07:00
Tim Chevalier
663b3fc89c Uncomment destructor in parser now that dtors work
Although this one is just a hack to make a class non-copyable.
(Do we want syntax for that instead?)
2012-07-05 16:11:51 -07:00
Tim Chevalier
889be71cb4 Comments only: change TODOs to FIXMEs and annotate them 2012-07-05 16:10:29 -07:00
Tim Chevalier
50d2e7e07e Mostly change TODOs to FIXMEs and annotate them
But, one change in io to implement a TODO suggestion (using a
const u8)
2012-07-05 15:06:33 -07:00
Michael Sullivan
b0d4f09201 Consider slices to be a structural type. Closes #2748. 2012-07-05 14:48:23 -07:00
Brian Anderson
7babcf55d7 std: Actually buildbase64 2012-07-05 14:40:51 -07:00
Brian Anderson
8f92de3ce5 core: Actually build to_bytes 2012-07-05 14:40:45 -07:00
Brian Anderson
73f1f686e9 std: Export base64 2012-07-05 14:39:08 -07:00
Brian Anderson
c199090130 core: Export to_bytes 2012-07-05 14:38:59 -07:00
Lindsey Kuper
33334f3c43 Change 'iface' to 'trait' internally; parse trait as iface synonym 2012-07-05 11:01:43 -07:00
Eric Holk
d93f3c5d83 Arc requires send trait (issue #2788) 2012-07-05 10:25:38 -07:00
Eric Holk
5bfb5cad3a Remove create_lock in favor of lock_and_signal() (issue #2780) 2012-07-05 10:11:25 -07:00
Gareth Daniel Smith
be0141666d convert doc-attributes to doc-comments using ./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498 2012-07-04 19:18:13 -07:00
Brian Anderson
bfa43ca301 Add tests for various ways to write 'do' and 'for' without args 2012-07-04 17:30:46 -07:00
Ben Striegel
f2e2a14f36 Remove empty argument lists from do expressions 2012-07-04 17:21:29 -07:00
Brian Anderson
a52135f5a7 Tidy 2012-07-04 15:01:24 -07:00
Brian Anderson
34660f099e Merge pull request #2798 from erickt/incoming
adding base64 and to_bytes to stdlib
2012-07-04 14:36:03 -07:00
Josh Matthews
10fd19580e When getopts encounters an option that takes an argument, it should treat the remainder of the current option string as the argument if it is non-empty. Fix #2791. 2012-07-04 14:23:22 -07:00
Graydon Hoare
195dd54d61 Fix trans typo noticed by fuzzer. Close #2148. 2012-07-04 14:07:03 -07:00
Erick Tryzelaar
2f9c0114fa Add a to_bytes iface and a handful of impls 2012-07-03 21:30:09 -07:00
Erick Tryzelaar
abee158945 Add a basic base64 module 2012-07-03 21:29:45 -07:00
Patrick Walton
3f06a8c8d5 test: Try to work around a resolve1 bug in class-cast-to-iface-cross-crate-2 2012-07-03 20:12:01 -07:00
Patrick Walton
cc3b6bf2f0 rustc: Make the error names in resolve3 conform more closely to what the compile-fail tests expect 2012-07-03 19:10:45 -07:00
Patrick Walton
139d843dce test: Make run-fail/zip-different-lengths not rely on resolve bugs 2012-07-03 19:09:31 -07:00
Patrick Walton
d66948604a test: Fix cyclic import in class-cast-to-iface-cross-crate-2 2012-07-03 18:32:47 -07:00
Patrick Walton
25e0455d04 test: Make tag-exports not use the obsolete tag export syntax 2012-07-03 18:32:47 -07:00
Patrick Walton
dbbffbea9a rustc: Make a note of the fact that each_path doesn't handle path nesting properly 2012-07-03 18:32:47 -07:00
Patrick Walton
277f06dbb8 syntax: Add native module names correctly when building up the paths in the AST map 2012-07-03 18:32:47 -07:00
Ben Blum
aa909dc60a oops, fix option.expect() and use it in libstd/map.rs 2012-07-03 21:03:51 -04:00
Brian Anderson
41bca84dd9 core: Convert iter::repeat to the for protocol 2012-07-03 17:31:31 -07:00
Brian Anderson
ae6ea068a1 Revert "Remove rule requiring non-nil block-style statements to be semi-terminated"
This reverts commit 0f5eaef5fb.
2012-07-03 17:30:25 -07:00
Ben Blum
e000d1db0a add option::expect and mark option methods as pure 2012-07-03 20:29:07 -04:00
Patrick Walton
af38333f75 rustc: Speed up def ID parsing in the metadata 2012-07-03 17:12:02 -07:00
Brian Anderson
0f5eaef5fb Remove rule requiring non-nil block-style statements to be semi-terminated
This is a subtle rule that no longer seems to be required.
2012-07-03 17:03:52 -07:00
Graydon Hoare
3f59a4bc64 More work on #2082, remove parser/lexer support for 'crust' and 'native'. 2012-07-03 16:49:46 -07:00
Graydon Hoare
be2c92078b Change crust -> extern. 2012-07-03 16:49:46 -07:00
Graydon Hoare
dc98165443 Mop up a few extra native -> foreign changes. 2012-07-03 16:49:46 -07:00
Patrick Walton
742c05f87d rustc: Avoid a lot of copying in metadata when reading impls 2012-07-03 16:38:35 -07:00
Graydon Hoare
7762c80d1b Fix more future::future breakage. 2012-07-03 16:16:45 -07:00
Graydon Hoare
debb7e4641 Switch 'native' to 'extern' (or 'foreign' in some descriptions) 2012-07-03 16:11:00 -07:00
Patrick Walton
bfbc847f63 rustc: Add X-ray functionality to resolve3 so the test runner works 2012-07-03 15:56:27 -07:00