Commit Graph

3026 Commits

Author SHA1 Message Date
Tim Chevalier
e9622f09aa Remove match check from test cases 2012-08-23 15:12:02 -07:00
Ben Blum
01a5845db5 fix atomic intrinsic test cases 2012-08-23 17:19:35 -04:00
Paul Stansifer
77e83d83a9 Change calls of proto! to use parens. 2012-08-23 11:14:15 -07:00
Paul Stansifer
c74a442e86 Eliminate some extraneous curly brackets inside invocations of macro_rules!. 2012-08-23 11:14:14 -07:00
Paul Stansifer
38891b91bf Update invocation syntax for macro_rules! 2012-08-23 11:14:14 -07:00
Paul Stansifer
29f32b4a72 m1!{...} -> m1!(...) 2012-08-23 11:14:14 -07:00
Niko Matsakis
511e7626ae Infer variance of types with respect to the region parameter.
A similar approach could be used for type parameters.

Fixes #2282.
2012-08-23 06:30:43 -07:00
Ben Blum
49c1bd7e86 WIP: Add an xfailed test for bind-by-move (#2329) 2012-08-22 20:40:25 -04:00
Ben Blum
e5fb58e6c0 Add compile-fail tests for unsound moving out of enums (#2329) 2012-08-22 20:40:25 -04:00
Paul Stansifer
1153b5dcc8 intern identifiers 2012-08-22 14:59:25 -07:00
Michael Sullivan
744fea1a4f Track the type of self properly. Closes #3247. 2012-08-22 13:18:29 -07:00
Niko Matsakis
ce3cc46ce6 Fix generation of generic methods with explicit self
There used to be two distinct code paths.  Now there is one.
2012-08-21 20:15:22 -07:00
Ben Blum
9b489f6fff Don't refute "()" in let-bindings (fixes #3104). 2012-08-21 21:05:01 -04:00
Michael Sullivan
98d0aae9a1 Fix some map related build failures. 2012-08-21 17:03:00 -07:00
Ben Blum
7fe1005fd1 Add msgsend-ring-{rw,mutex}-arcs bench tests 2012-08-21 19:40:47 -04:00
Niko Matsakis
bc5eb95222 implement a map testing benchmark
This involved some other changes:
- add a managed<T> wrapper that makes send_map usable from @-data
- implement map<K,V> for managed<send_map>

Unit tests are coming.
2012-08-21 16:07:53 -07:00
Niko Matsakis
652b312122 more sound treatment of fn& regions; change all & to be distinct 2012-08-21 10:28:34 -07:00
Niko Matsakis
8ee79c79aa new region inference, seperate infer into modules, improve error msgs
Fixes #2806
Fixes #3197
Fixes #3138
2012-08-20 22:00:06 -07:00
Michael Sullivan
71ec545614 Try to do some resolution of vtables earlier, in a fairly ad-hoc way. Closes #3156. 2012-08-20 19:00:27 -07:00
Ben Blum
c321cdbac6 Disallow deconstructing destructing structs (fixes #3147) 2012-08-20 20:05:00 -04:00
Ben Blum
aa3df17445 Re-allow pattern-matching structs (#3215) 2012-08-20 18:22:11 -04:00
Michael Sullivan
a14485b7fd Do vtable resolution for *all* method calls, not just statically resolved ones... Closes #3221. 2012-08-20 13:36:15 -07:00
Michael Sullivan
1300be58d7 xfail crate-method-reexport-grrrrrrr.rs, which has been burning the build for days 2012-08-20 13:22:51 -07:00
Patrick Walton
19b8598c09 rustc: Implement "priv" for simple items.
Inherited privacy doesn't work yet. This probably requires a snapshot since
it won't be backwards compatible. Additionally, two errors are printed instead
of one. For this reason the test is XFAIL'd.
2012-08-17 17:56:47 -07:00
Niko Matsakis
fcb055ef7e forgotten tests for #3217, #2977, #3067 2012-08-17 17:31:03 -07:00
Michael Sullivan
457e78cd53 Make by-val explicit self actually work. Closes #2585. 2012-08-17 17:14:32 -07:00
Patrick Walton
0845579130 test: Fix unused variable warning in repeat-to-run-dtor-twice.rs.
Hopefully puts out burning tinderbox.
2012-08-17 17:11:25 -07:00
Patrick Walton
1ed94a5674 rustc: Prevent destructors from being run twice with the repeated vector syntax 2012-08-17 16:12:07 -07:00
Niko Matsakis
ea549e7a71 make borrowck more conservative around rvalues.
this will require more temporaries, but is probably less magical.
also, it means that borrowck matches trans better, so fewer crashes.
bonus.

Finally, stop warning about implicit copies when we are actually borrowing.

Also, one test (vec-res-add) stopped failing due to #2587, and hence I
added an xfail-test.

Fixes #3217, #2977, #3067
2012-08-17 15:14:13 -07:00
Lindsey Kuper
eb834fdb81 Stop parsing iface. 2012-08-17 14:32:34 -07:00
Eric Holk
7bae3449ce Move select macro into another file, so it can be including in multiple tests.
Fixing long lines.
2012-08-17 12:39:51 -07:00
Ben Blum
89c2a9f4cf Forbid pattern-matching structs until the next snapshot (#3215) 2012-08-17 15:34:06 -04:00
Lindsey Kuper
280dfd2d29 Default methods with self-calls make it as far as trans. 2012-08-17 11:04:53 -07:00
Brian Anderson
3ab4b014cf Remove the class keyword 2012-08-17 10:13:45 -07:00
Ben Blum
a076c287de Fix issue-506.rs by adding a void-returning stub in the runtime (close #2957) 2012-08-16 21:07:55 -04:00
Eric Holk
5f57588887 Update the rock-paper-scissors example in the tutorial, and rename some types in core::pipes 2012-08-16 17:50:36 -07:00
Eric Holk
91622d0310 Make test suite terminate. 2012-08-16 16:26:08 -07:00
Graydon Hoare
64de480d46 Another attempt on class-attribute-1.rs. 2012-08-16 15:23:31 -07:00
Patrick Walton
2489baf82e libsyntax: Fix parsing of "loop unsafe".
It was getting misparsed as a label.
2012-08-16 15:19:47 -07:00
Graydon Hoare
b8845f0e25 Fix sub-breakage due to the changed error message. 2012-08-16 14:48:48 -07:00
Graydon Hoare
b28a22005b xfail-fast issue 3012-2 2012-08-16 14:44:34 -07:00
Graydon Hoare
1bac541e26 Attempt to get issue 3012 test working on win32. 2012-08-16 14:30:14 -07:00
Graydon Hoare
89fb03ae17 Xfail a struct-test I can't figure out how to make work. 2012-08-16 14:26:35 -07:00
Graydon Hoare
0492c75c43 s/class/struct/ in a failing test. 2012-08-16 14:26:10 -07:00
Tim Chevalier
ee2f0dd638 Test case for #3012 2012-08-15 18:34:41 -07:00
Brian Anderson
9c6890f488 Convert more core types to camel case 2012-08-15 17:46:05 -07:00
Patrick Walton
a78030fbaa libsyntax: Parse tuple and unit structs 2012-08-15 17:11:13 -07:00
Patrick Walton
e1b11aaf4b test: Fix parsing problem in map-types.rs 2012-08-15 16:51:51 -07:00
Patrick Walton
bdb206f285 rustc: Parse labeled loop, break, and again 2012-08-15 16:20:34 -07:00
Patrick Walton
d54db12155 rustc: Implement automatic reference for method receivers 2012-08-15 16:20:33 -07:00
Patrick Walton
fe9d07dda6 rustc: "as Trait" can now be written "as @Trait".
There is also code for ~Trait and &Trait, but these are currently (incorrectly)
synonyms for "as @Trait" and "as &Trait".
2012-08-15 16:20:31 -07:00
Tim Chevalier
c0140f5c34 Reject empty matches on inhabited types
Closes #3096
2012-08-15 14:57:45 -07:00
Brian Anderson
74c69e1053 Convert more core types to camel case 2012-08-15 14:14:20 -07:00
Eric Holk
8be0f665bc De-mode pipes 2012-08-15 13:58:08 -07:00
Ben Blum
f6f9333d5c Add cfail test arc-rw-state-shouldnt-escape 2012-08-15 13:22:50 -04:00
Brian Anderson
9f01acacf9 xfail-fast issue-2472 2012-08-14 22:05:26 -07:00
Brian Anderson
83b42c806f Add test for #2472 2012-08-14 21:17:01 -07:00
Tim Chevalier
f78c906535 Add xfailed test for #2123 2012-08-14 20:02:34 -07:00
Brian Anderson
11258310e2 Convert more core types to camel case 2012-08-14 18:26:03 -07:00
Brian Anderson
2674f7902f Fix another broken test 2012-08-14 15:15:15 -07:00
Brian Anderson
e79dd23ac1 xfail view-items-at-top 2012-08-14 15:14:01 -07:00
Brian Anderson
ffe74b7a3b test: Use a mod that exists in view-item-at-top 2012-08-14 15:13:47 -07:00
Ben Blum
589ee65fd4 Add rw_arc.downgrade() + std and cfail tests. Tons of region FIXMEs... (cf #2282, #3154) 2012-08-14 17:53:18 -04:00
Patrick Walton
138dc3048a libsyntax: Parse "extern mod foo;" 2012-08-14 14:24:00 -07:00
Graydon Hoare
8e1f1e3b52 Dodge 'use' keyword in testsuite. Was burning tree. 2012-08-14 12:53:45 -07:00
Patrick Walton
30e243a5aa libsyntax: Give a nice error message when view items are used anywhere other than the top of a module.
This is a step on the way to parsing "extern mod foo;"
2012-08-14 11:23:25 -07:00
Brian Anderson
fbbe9ac94b Fix check-fast breakage 2012-08-14 10:46:20 -07:00
Lindsey Kuper
7bb33e6f1b Add xfail'd test for a default method containing 'self'. 2012-08-14 10:00:31 -07:00
Lindsey Kuper
fb05f57881 Compile default methods; un-xfail default methods test (cc: #2794). 2012-08-14 09:02:47 -07:00
Graydon Hoare
8271b3f0c8 More attempts at fixing .. breakage. 2012-08-14 05:17:38 +00:00
Graydon Hoare
96007441e1 fix more fallout from future de-mode-ing. 2012-08-14 04:47:58 +00:00
Graydon Hoare
9c034464fe fix fallout from future de-mode-ing. 2012-08-14 04:36:52 +00:00
Graydon Hoare
20d622835a Try to fix pretty-test breakage harder. 2012-08-14 04:17:45 +00:00
Graydon Hoare
ad776421ed Try to fix pretty-test breakage. 2012-08-14 04:15:21 +00:00
Patrick Walton
80b6850e34 libsyntax: Implement [int*3] syntax for fixed length vector types 2012-08-13 20:00:03 -07:00
Brian Anderson
5394e34aa4 core: Camel case some lesser-used modules 2012-08-13 18:59:48 -07:00
Brian Anderson
6b43c0c1ad Stop parsing old operator overloading syntax 2012-08-13 18:59:17 -07:00
Ben Blum
2e1b98d34f Change borrowck error 'the the block' -> 'the block' 2012-08-13 21:53:41 -04:00
Brian Anderson
1f32c2c5e4 xfail-pretty run-pass/pipe-select-macro 2012-08-13 18:34:44 -07:00
Patrick Walton
d4012e7895 test: Make issue-2590 conform to the spirit of the test better 2012-08-13 18:15:20 -07:00
Patrick Walton
dfe0ed033f test: Make issue-2590 test for implicit copies instead of moves.
With the removal of modes, function arguments can't demand that their arguments be moved anymore.
2012-08-13 18:11:38 -07:00
Patrick Walton
799bc0a193 libsyntax: Allow "use" to be used in place of "import" 2012-08-13 17:55:54 -07:00
Tim Chevalier
c0858f4f7a In typeck::collect::ensure_trait_methods, don't assume the trait was already checked
Instead of using node_id_to_type to look up the trait type, pass it
in as an argument. This handles the case where we check an impl of a trait T
before T has been traversed.
2012-08-13 17:38:58 -07:00
Patrick Walton
55ee06b8ce libsyntax: Accept "1..3" as the preferred form of "1 to 3" in patterns 2012-08-13 17:37:08 -07:00
Patrick Walton
36d8682269 test: Fix type error message in an effort to unbreak the build 2012-08-13 17:13:48 -07:00
Graydon Hoare
91612dbb7e De-mode-ify a few minor libcore modules. 2012-08-13 17:11:33 -07:00
Eric Holk
4ec1dd9914 Got the select macro working. 2012-08-13 16:20:23 -07:00
Patrick Walton
6e31183614 test: Modify error messages in some compile-fail tests in an attempt to unbreak the tree 2012-08-13 16:13:12 -07:00
Patrick Walton
87f4c15311 rustc: Make functional record and struct update use ".." instead of "with".
"with" is still accepted for backwards compatibility.
2012-08-13 16:07:12 -07:00
Brian Anderson
c7ed9908d6 xfail-fast run-pass/trait-to-str 2012-08-13 15:50:38 -07:00
Patrick Walton
5bd4110170 rustc: Mostly implement region-bounded stack closures 2012-08-13 15:34:36 -07:00
Brian Anderson
395d1ac185 rustc: Enum idents are not in the value namespace. Closes #3186 2012-08-13 15:17:54 -07:00
Brian Anderson
28cd0ad54b core: Export to_str trait from top level. Closes #3175 2012-08-13 14:58:34 -07:00
Lindsey Kuper
1f52ddfe9e Add xfail'd test for default methods. 2012-08-13 11:11:09 -07:00
Niko Matsakis
9169a1b26a correct glb computation, improve region error msgs
cc #3180
2012-08-11 20:24:11 -07:00
Eric Holk
c7bdee81e1 Xfail-fast, because these tests use failure 2012-08-10 18:35:41 -07:00
Ben Blum
67b5d5f673 Fix compile-fail arc/sync tests 2012-08-10 21:24:10 -04:00
Eric Holk
d2e9d99f81 Handle failure during select nicely. Fixes #3176 2012-08-10 18:19:42 -07:00
Ben Blum
1b32b13c72 Add a can't-nest-rw-arcs test case (xfailed, #3177) 2012-08-10 20:53:09 -04:00
Ben Blum
42825fbea6 Split libcore/arc.rs: arc -> std::arc; exclusive -> unsafe::exclusive 2012-08-10 20:53:09 -04:00
Eric Holk
4808d59909 Terminate blocked receive packets on failure. Fixes #3168. 2012-08-10 16:26:22 -07:00
Eric Holk
9a1a2580fc A better HTML parser. 2012-08-10 12:23:16 -07:00
Eric Holk
d704fc9196 An attempt at a macro to support HTML literals 2012-08-10 12:23:16 -07:00
Brian Anderson
96fdad2fb7 Change 'ret' to 'return' in an error message 2012-08-10 12:20:58 -07:00
Ben Blum
4c9f168372 Convert sync to the new struct syntax 2012-08-09 23:23:17 -04:00
Patrick Walton
770a21272b rustc: Initialize the drop flag with the new struct literal syntax. Closes #3172. 2012-08-09 19:45:37 -07:00
Ben Blum
d913492855 Change coherence error 'implement a trait instead' -> 'implement a trait or new type instead' 2012-08-09 20:29:34 -04:00
Graydon Hoare
f0775d7bfe Finish translating const indexing. Close #1417, close #570, close #571, close #1272, close #2317. 2012-08-09 16:05:34 -07:00
Niko Matsakis
22a14dd700 Enforce a stricter notion of purity when borrowing. Fixes #3162. 2012-08-09 14:23:56 -07:00
Lindsey Kuper
812db1ec0d Example from lkuper's intern talk, but now with static methods! 2012-08-09 11:20:15 -07:00
Lindsey Kuper
8703d088ea Add example from lkuper's intern talk to the test suite. 2012-08-09 11:10:09 -07:00
Niko Matsakis
9a77a17e3b unxfail-test and try to test for similar conditions as before
fixes #2772
2012-08-09 11:00:44 -07:00
Graydon Hoare
a0e3a2ae8e Const field access (working) and vec indexing (almost). More for #2317. 2012-08-08 19:59:30 -07:00
Patrick Walton
5c9c9a6a9f libsyntax: Parse common enum fields 2012-08-08 19:51:48 -07:00
Graydon Hoare
71bc2673ed Fix number-peek code in fmt!, close #1610. 2012-08-08 18:40:30 -07:00
Brian Anderson
6a0720b439 Convert impls to new syntax 2012-08-08 18:19:24 -07:00
Eric Holk
c64ffa4f5b Updating examples 2012-08-08 18:03:27 -07:00
Ben Blum
35db5b7be1 Merge pull request #3153 from jruderman/sconv
Add spawn_conversation
2012-08-08 17:05:31 -07:00
Ben Blum
904a74e99c add compile-fail test sync-cond-shouldnt-escape.rs 2012-08-08 19:59:38 -04:00
Tim Chevalier
febd7ee239 Make let _ = e; have the same semantics as e;
The first case was getting treated like a variable binding, meaning that
if e had a destructor, it wouldn't run until the end of the enclosing scope.
To me it seems less confusing for let _ = e; and e; to work exactly the same
way, so now, the destructor for e runs immediately in both cases.
2012-08-08 15:37:45 -07:00
Brian Anderson
d99ca69cf7 lint: Allow trailing underscores in camel case idents 2012-08-08 15:05:49 -07:00
Jesse Ruderman
a76e4334b3 Add spawn_conversation 2012-08-08 16:57:13 -04:00
Eric Holk
19c86c1e71 xfail-pretty 2012-08-08 12:00:52 -07:00
Tim Chevalier
c7d60ee053 Don't add struct names to the value name space if there's no constructor
Closes #3149
2012-08-08 11:53:08 -07:00
Eric Holk
bc6ba6b091 Adding some examples for my internship presentation. 2012-08-08 10:28:57 -07:00
Niko Matsakis
802ea5d57e refactor categorization out of borrowck into its own module.
first step towards #3148 and #3024.
2012-08-08 09:22:07 -07:00
Niko Matsakis
52c517383e improve borrowck error messages to explain regions better 2012-08-07 20:59:06 -07:00
Niko Matsakis
99af0d5480 new test case demonstrating ability to return ptr to interior of option 2012-08-07 20:13:03 -07:00
Patrick Walton
5ce3281a62 rustc: Parse variant structs; add a trivial test case 2012-08-07 18:55:19 -07:00
Graydon Hoare
175be53e3f Translate const structs. 2012-08-07 17:31:26 -07:00
Michael Sullivan
7f7f47620e Implement static typeclass methods. Closes #3132. 2012-08-07 17:18:14 -07:00
Graydon Hoare
32e4fd62e9 Const slices now work. Something odd about non-const cases though, see #3138. 2012-08-07 15:04:40 -07:00
Brian Anderson
92ef17aaeb syntax: Fix parsing of inherent traits 2012-08-07 13:01:22 -07:00
Brian Anderson
2772b2e5c7 syntax: Make match arm parsing more restrictive again
Require comma separators for all expression types except the plain block
2012-08-07 12:23:43 -07:00
Eric Holk
672bfa5773 Working on a macro for selecting from many pipes. 2012-08-07 11:47:12 -07:00
Eric Holk
184da12896 Nifty macros for receiving from a protocol. 2012-08-07 11:47:12 -07:00
Eric Holk
d594f3701a Use a proper protocol definition instead of the already-expanded code. 2012-08-07 11:47:11 -07:00
Ben Blum
18ac4a8e6d Change task().future_result's argument mode 2012-08-07 14:26:41 -04:00
Lindsey Kuper
e656261ee7 Comments, minor refactoring, clean up wording of error messages 2012-08-07 10:29:19 -07:00
Niko Matsakis
0755922320 xfail-fast issue-2242 2012-08-07 07:15:47 -07:00
Niko Matsakis
dbef6e593d move borrowck tests to use ref, fix a few exposed shortcomings 2012-08-07 06:11:12 -07:00
Patrick Walton
793c0a1116 test: Modernize and un-XFAIL issue-2242-d.rs (issue #2242) 2012-08-06 21:40:49 -07:00
Patrick Walton
6a7c714df6 test: Add a dvec indexing operator test, which serves as a test for #2615 (cross-crate operator overloading). 2012-08-06 21:30:57 -07:00
Tim Chevalier
f3b2296ee4 Auto-deref the base expr in trans_method_callee
(specifically in the method_trait case) -- if you wrote x.f()
and x has type @T for a trait T, x wasn't getting auto-deref'ed.

This was bad.

Closes #2935
2012-08-06 19:17:44 -07:00
Niko Matsakis
aacd18f4ed first shot at integrating ref/value bindings into borrowck
(more needed)
2012-08-06 19:15:39 -07:00
Patrick Walton
60f47eabe2 rustc: Parse and stub (broken) typechecking for bounded function types 2012-08-06 18:55:24 -07:00
Tim Chevalier
a4cedd9598 Disallow multiple constructors or destructors in the same class
Closes #2825
2012-08-06 18:01:26 -07:00
Patrick Walton
253dfc3387 rustc: Implement pattern matching for structs 2012-08-06 17:36:24 -07:00
Ben Blum
a3dd67ae91 Make 100 generations perf test sensitive to spawn failures 2012-08-06 19:46:20 -04:00
Tim Chevalier
6bd01d0ac8 In resolve, forbid duplicate value, type, and module items
Closes #3099
2012-08-06 16:37:18 -07:00