Commit Graph

2703 Commits

Author SHA1 Message Date
Niko Matsakis
0e42004bab introduce an owned kind for data that contains no borrowed ptrs 2012-07-16 20:18:18 -07:00
Graydon Hoare
d809336d0f Fix reflection on vstore_fixed estrs and evecs. 2012-07-16 17:08:27 -07:00
Eric Holk
053bdcac2d Test case for #2930 2012-07-16 15:12:53 -07:00
Eric Holk
d39f6fc676 Add support for terminal states (issue #2862) 2012-07-16 14:50:47 -07:00
Gareth Daniel Smith
fe43d66613 replace core::tuple functions with methods 2012-07-16 22:33:20 +01:00
Niko Matsakis
3ef7ff8b89 infer the scope of borrows 2012-07-14 17:37:32 -07:00
Niko Matsakis
41a21f053c remove typestate from code, tests, and docs 2012-07-14 17:37:20 -07:00
Michael Sullivan
6822ec3eb4 Treat bare vector and string literals as fixed length vecs. Closes #2922. 2012-07-14 14:30:48 -07:00
Michael Sullivan
d884085f43 Tear out ty_str and ty_vec. 2012-07-14 12:19:36 -07:00
Michael Sullivan
92743dc2a6 Move the world over to using the new style string literals and types. Closes #2907. 2012-07-14 01:03:43 -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
Eric Holk
9728d14bae Fix hang in pipe-select when RUST_THREADS=1 2012-07-13 16:03:02 -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
ee73b78e04 Test for #2288 2012-07-13 14:45:15 -07: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
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
90e435e808 change region syntax to &r/T in place of &r.T 2012-07-13 10:20:50 -07:00
Eric Holk
05543fd04d Make tests pass 2012-07-12 20:09:30 -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
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
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
2ea9c8df0f Accept prefix notation for writing the types of str/~ and friends. 2012-07-12 16:52:26 -07: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
Michael Sullivan
9d2e5f3a65 Merge branch 'rt-changes' into incoming 2012-07-12 15:03:54 -07:00
Michael Sullivan
7b26503566 Make str be treated as str/~. 2012-07-12 00:21:04 -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
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
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
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
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
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
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
bf06deafe6 Disallow implicitly binding methods in typechecker. Closes #2189. 2012-07-10 15:12:13 -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
0070527383 Pretty print vectors as ~[] instead of []/~. Closes #2863. 2012-07-10 13:55:19 -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
Tim Chevalier
78088fb813 Add test case for issue 2766, which resolve 3 fixes 2012-07-09 19:16:23 -07:00
Paul Stansifer
54741b9427 Allow defining token tree macros. They should work now! 2012-07-09 17:44:46 -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
Graydon Hoare
3f9a3469c7 Catch one missing residual 'cont' -> 'again' change. 2012-07-09 15:15:39 -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
Niko Matsakis
f72487d196 Remove xfail-test from (now functional) test. Fixes #2323. 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
547bf7c350 test: xfail-fast extern-crosscrate 2012-07-09 13:41:32 -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
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
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
Patrick Walton
c4af6e92fb rustc: Switch to the new resolution pass 2012-07-06 19:07:26 -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
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
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
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
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