Commit Graph

2792 Commits

Author SHA1 Message Date
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
Niko Matsakis
0308884416 s/alt/match/... again. 2012-08-06 16:16:08 -07:00
Niko Matsakis
4a216a000a s/alt/match/ 2012-08-06 16:13:52 -07:00
Niko Matsakis
a6a5c48c64 make ref x bindings produce region ptrs and fix various minor bugs
we now detect inconsistent modes, binding names, and various other errors.
typeck/trans integration is mostly done.

borrowck not so much.

more tests needed.
2012-08-06 16:12:40 -07:00
Brian Anderson
ecaf9e39c9 Convert alt to match. Stop parsing alt 2012-08-06 15:36:30 -07:00
Brian Anderson
74370042aa core: Rename task::osmain to platform_thread. #3090 2012-08-06 14:07:51 -07:00
Eric Holk
c973732a23 Enabling pingpong benchmark. 2012-08-06 13:25:34 -07:00
Patrick Walton
bff512a90f rustc: Implement functional record update for structs 2012-08-06 13:17:42 -07:00
Brian Anderson
03330baf9c Add a test for issue #2312 2012-08-06 11:08:52 -07:00
Eric Holk
bd9d5e50be Add missing => 2012-08-06 09:55:53 -07:00
Eric Holk
9f287c211e Refcount tasks in packets to avoid races.
Revert "Once again, revert "Use pipes in compiletest""

Fixes #3098
2012-08-06 09:10:19 -07:00
Brian Anderson
025d86624d Switch alts to use arrows 2012-08-05 22:08:09 -07:00
Brian Anderson
a52f6d26db Fix closure pretty-print tests 2012-08-04 17:41:04 -07:00
Brian Anderson
a60f9c76f5 xfail-fast run-pass/trait-composition-trivial 2012-08-04 17:37:30 -07:00
Graydon Hoare
edfc79cc47 Translate const vecs, most of const slices. More for #2317. 2012-08-03 21:44:52 -07:00
Patrick Walton
f23674394f rustc: Merge fn& and fn in favor of fn&.
This is a step on the way to moving the function "proto" sigil out front.
2012-08-03 19:49:12 -07:00
Patrick Walton
51a5a4ad0e rustc: Translate repeated vector syntax 2012-08-03 18:49:44 -07:00
Graydon Hoare
488ece05b5 Implement &-expressions in consts. Part of #2317. 2012-08-03 18:07:58 -07:00
Ben Blum
f57760c609 Add task-perf-linked-failure.rs 2012-08-03 20:24:41 -04:00
Eric Holk
739e83d859 Xfailing until the pipe race is fixed. 2012-08-03 15:22:33 -07:00
Patrick Walton
5012abde8f test: Add a trivial test that trait composition parses 2012-08-03 15:03:19 -07:00
Eric Holk
2c06e7aac9 Fixing failing test cases 2012-08-03 12:48:14 -07:00
Patrick Walton
aa4683c181 test: Add a test case for bare static strings 2012-08-03 11:51:47 -07:00
Patrick Walton
4bfd4fb8ea test: Remove a fixed-length string from a test 2012-08-03 11:47:08 -07:00
Tim Chevalier
b0cf106e9a Test for issue 2904, which got fixed somewhere along the line 2012-08-03 11:39:39 -07:00
Eric Holk
b3933b8822 Adding a test case for #2548 2012-08-03 10:22:16 -07:00
Niko Matsakis
cc1a2f2128 fix compilation of 2214 2012-08-03 08:05:04 -07:00
Tim Chevalier
948172b93f Make comparisons between region pointers work
Region pointers were considered a scalar type, so compare_scalar_type would
get called to compare region pointers in trans. This would fail, since
compare_scalar_type has no case for region pointers.

Changed type_is_scalar to return false for region pointers. This had the side
effect of breaking casts to types of the form &T. To ameliorate that, I added
library functions ptr::assimilate (taking a &T to a *T) and ptr::to_uint
(taking a &T to a uint), both of which use reinterpret_cast.

While I was at it, I removed ty::type_has_resources, which is dead code.
2012-08-02 23:53:45 -07:00
Niko Matsakis
31c5cec55b Purge placement new; Make borrowck know about unary move.
cc #3071
2012-08-02 22:36:36 -07:00
Tim Chevalier
c2bb2f0837 When checking loop bodies and do-expr bodies, don't require the expected type to exist
If the expected type is none (due to a type error), we shouldn't fail with an ICE, but
rather, just print out another type error. Changed the do-expr type error message to
make sense in this context (see the test case for how it works).

Closes #3044.
2012-08-02 21:44:14 -07:00
Eric Holk
f76a46242b Convert pfib to pipes. This is a useful stress test. 2012-08-02 18:55:44 -07:00
Eric Holk
1f2178e2d3 Removing an obsolete benchmark 2012-08-02 18:55:44 -07:00
Lindsey Kuper
2f832d4b2d test: "iface" -> "trait" in filenames. 2012-08-02 17:58:56 -07:00
Niko Matsakis
97452c0ca1 Remove modes from map API and replace with regions.
API is (for now) mostly by value, there are options to use it by
reference if you like.  Hash and equality functions must be pure
and by reference (forward looking to the day when something
like send_map becomes the standard map).
2012-08-02 15:53:28 -07:00
Paul Stansifer
7129883b51 Allow interpolations of all the nt_*s. 2012-08-02 11:58:16 -07:00