1142 Commits

Author SHA1 Message Date
Graydon Hoare
91612dbb7e De-mode-ify a few minor libcore modules. 2012-08-13 17:11:33 -07:00
Ben Blum
3a403e36d3 Add pipes::oneshot() to wrap pipes::oneshot::init() 2012-08-13 19:45:48 -04:00
Ben Blum
2ac288383d Add pipes::oneshot(), pipes::send_one(), pipes::try_send_one() wrappers. 2012-08-13 19:45:48 -04:00
Eric Holk
8bb5f077c4 Comments describing the packet structures for pipes. 2012-08-13 16:20:23 -07:00
Patrick Walton
5bd4110170 rustc: Mostly implement region-bounded stack closures 2012-08-13 15:34:36 -07:00
Brian Anderson
28cd0ad54b core: Export to_str trait from top level. Closes #3175 2012-08-13 14:58:34 -07:00
Ben Blum
6c4843d9da Add ptr::ref_eq() 2012-08-13 17:18:24 -04:00
Chris Peterson
9470e5d7d5 core: Export f32::ge(), f64::ge(), and float::ge() 2012-08-13 14:03:14 -07:00
Eric Holk
ebe7b0cc37 Remove print 2012-08-10 18:27:48 -07:00
Eric Holk
d2e9d99f81 Handle failure during select nicely. Fixes #3176 2012-08-10 18:19:42 -07: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
Ben Blum
e1086b0175 Implement sync::rwlock::write_cond (and task::rekillable) 2012-08-09 23:23:18 -04:00
Ben Blum
4c9f168372 Convert sync to the new struct syntax 2012-08-09 23:23:17 -04:00
Ben Blum
758dd786f6 Make rwlocks fail-proof 2012-08-09 22:07:59 -04:00
Niko Matsakis
1b2d91c79d de-mode-ify infer and some parts of typeck
also, fix bug in the various lint passes that fn() was considered
not suitable for the default mode
2012-08-09 18:26:50 -07:00
Ben Blum
bcb6a68cbd sync: Add rwlocks (half-done) and test cases 2012-08-09 20:29:34 -04:00
Ben Blum
be2e4ef624 Allow failing in arc::exclusive; poison to fail subsequent accesses (fix #3092) 2012-08-09 17:22:19 -04:00
Ben Blum
190ecc220a Make sync primitives fail-unwind-friendly 2012-08-09 17:22:19 -04:00
Eric Holk
6a10e3a713 Added oneshot protocol. Fixes #3125 2012-08-09 11:55:17 -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
e997948c8a Remove an invalid assert and some commented out code. 2012-08-08 18:03:28 -07:00
Eric Holk
c0874dbd21 Adding try_send for pipes::chan and pipes::shared_chan 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
604e4add4a sync: add blocking mutexes, condvars, and testcases 2012-08-08 19:59:38 -04:00
Michael Sullivan
79b5f68176 Implement + for @-vectors. 2012-08-08 14:30:45 -07:00
Jesse Ruderman
a76e4334b3 Add spawn_conversation 2012-08-08 16:57:13 -04:00
Eric Holk
c5fbff01ce Add a really optimistic fast path in receive. Gives about a 7% performance improvement in msgsend-ring-pipes 2012-08-08 10:28:57 -07:00
Ben Blum
64ba7a31cb Touch up semaphores; add another test 2012-08-07 18:57:49 -04:00
Ben Blum
1a6dadad5b fix trailing whitespace 2012-08-07 18:20:02 -04:00
Ben Blum
f2ca54991f Add sync.rs with counting blocking semaphores 2012-08-07 18:18:48 -04:00
Ben Blum
bdbad614ac Remove rust_cond_lock and sys::condition (rename to little_lock) 2012-08-07 18:18:48 -04: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
abf4421e7c Generate try_send versions for all the messages. Fixes #3128 2012-08-07 11:47:12 -07:00
Eric Holk
8d1922d4c8 Add a selectable implementation for *packet_header 2012-08-07 11:47:12 -07:00
Ben Blum
18ac4a8e6d Change task().future_result's argument mode 2012-08-07 14:26:41 -04:00
Ben Blum
ae6d84f573 Rework task::try for new task_builder interface (close #3103) 2012-08-07 14:26:41 -04:00
Ben Blum
0cc6cefaec Add util::ignore 2012-08-07 14:26:41 -04:00
Tim Chevalier
6bd01d0ac8 In resolve, forbid duplicate value, type, and module items
Closes #3099
2012-08-06 16:37:18 -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
4544c015b3 Fill out rust docs for pipes some more. 2012-08-06 13:25:34 -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
Eric Holk
86947e47ad More documentation on pipes, and moving assert in runtime. 2012-08-06 09:07:40 -07:00
Brian Anderson
025d86624d Switch alts to use arrows 2012-08-05 22:08:09 -07:00
Ben Blum
0c623c4474 Document arc::exclusive. 2012-08-03 17:50:59 -04:00
Eric Holk
749a184a06 Fix a failing string test. 2012-08-03 12:04:19 -07:00
Eric Holk
01ca0d1f68 Be more defensive in pipes (#3098) 2012-08-03 12:04:18 -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