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
Niko Matsakis
31c5cec55b
Purge placement new; Make borrowck know about unary move.
...
cc #3071
2012-08-02 22:36:36 -07:00
Eric Holk
bd195518c7
Fix an apparent race in pipes.
...
Also removed some unsafety in pipes and added vec::consume_mut.
2012-08-02 19:27:07 -07:00
Eric Holk
110ff312df
Give better error messages when port_set.recv fails.
2012-08-02 19:27:07 -07:00
Graydon Hoare
4779d2b392
De-duplicate core::hash some, refactor the traits.
2012-08-02 18:06:33 -07:00
Graydon Hoare
009352101d
Shift writer_util to a derived impl attached to the writer trait
2012-08-02 18:06:33 -07:00
Graydon Hoare
b14a6aca9f
Cleanups in the int and uint templates.
2012-08-02 18:06:33 -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
Ben Blum
b1784673b1
Clean up task.rs docs and use replace/swap_unwrap
2012-08-02 14:59:37 -04:00
Ben Blum
9facb15c49
option::swap_unwrap, the ubiquitous 'option dance'.
2012-08-02 14:59:37 -04:00
Ben Blum
63b70b2370
Remove std::util
2012-08-02 14:31:58 -04:00
Ben Blum
7d9c61a9fb
Linked failure touchups ( #1868 )
2012-08-01 23:39:44 -04:00
Ben Blum
ac0c8b0823
Linked failure: add ASCII art. Close #1868 .
2012-08-01 23:08:06 -04:00
Ben Blum
7cb3f3e86a
Linked failure: enable unidirectional propagate test; replace FIXMEs with comments (tag #1868 ).
2012-08-01 23:08:06 -04:00
Ben Blum
43b8114750
Linked failure: Rewrite to use ancestor_list and send_map for proper-propagation. (tag #3068 , #2190 , #1868 )
2012-08-01 23:08:01 -04:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -07:00
Brian Anderson
dc499f193e
Merge pull request #3077 from erickt/incoming
...
core: change vec's ref_set to set_ref, move get_ref to unsafe::get.
2012-08-01 18:42:57 -07:00
Ben Blum
fd17d347b0
core.rc export core::util
2012-08-01 19:12:23 -04:00
Ben Blum
90ce3d94e4
Add core::util, with swap, replace, and noncopyable
2012-08-01 19:07:28 -04:00
Ben Blum
6fdd1ef9b1
send_map - fix size bug; add is_empty and test case for same
2012-08-01 19:07:28 -04:00
Ben Blum
0c3158b3a5
core::arc - add an assert
2012-08-01 19:07:28 -04:00
Graydon Hoare
7f60c56c3e
Clean out transitional lint.
2012-08-01 13:35:40 -07:00
Erick Tryzelaar
71927615e0
core: change vec's ref_set to set_ref, move get_ref to unsafe::get.
2012-08-01 12:37:13 -07:00
Eric Holk
e7a69fbe4e
Working on documentation of pipes.
2012-08-01 12:30:07 -07:00
Patrick Walton
b414db041b
rustc: Parse by-reference pattern bindings with the "ref" keyword
2012-07-31 19:26:25 -07:00
Patrick Walton
c88933d714
rustc: Implement unary move. Closes #917 .
2012-07-31 17:33:20 -07:00
Brian Anderson
c4bb8f8aaf
test: Move two tests from run-pass into the libs
2012-07-31 17:30:54 -07:00
Brian Anderson
7b2026bf21
Introduce 'return', 'match' and 'module' as synonyms
2012-07-31 17:22:30 -07:00