Alex Crichton
0a6b9219d1
Rewrite channels yet again for upgradeability
...
This, the Nth rewrite of channels, is not a rewrite of the core logic behind
channels, but rather their API usage. In the past, we had the distinction
between oneshot, stream, and shared channels, but the most recent rewrite
dropped oneshots in favor of streams and shared channels.
This distinction of stream vs shared has shown that it's not quite what we'd
like either, and this moves the `std::comm` module in the direction of "one
channel to rule them all". There now remains only one Chan and one Port.
This new channel is actually a hybrid oneshot/stream/shared channel under the
hood in order to optimize for the use cases in question. Additionally, this also
reduces the cognitive burden of having to choose between a Chan or a SharedChan
in an API.
My simple benchmarks show no reduction in efficiency over the existing channels
today, and a 3x improvement in the oneshot case. I sadly don't have a
pre-last-rewrite compiler to test out the old old oneshots, but I would imagine
that the performance is comparable, but slightly slower (due to atomic reference
counting).
This commit also brings the bonus bugfix to channels that the pending queue of
messages are all dropped when a Port disappears rather then when both the Port
and the Chan disappear.
2014-02-11 16:32:00 -08:00
Arcterus
2ce7019b87
getopts: unify tests
2014-02-06 10:04:26 -08:00
Arcterus
9752c63035
Move getopts out of extra
2014-02-06 10:00:17 -08:00
Scott Lawrence
3dbc1c34e6
Remove do keyword from test/
2014-01-29 09:15:42 -05:00
Alex Crichton
39a6c9d637
Test fallout from std::comm rewrite
2013-12-16 22:55:49 -08:00
Patrick Walton
9521551b47
librustc: Fix merge fallout.
2013-11-26 11:04:39 -08:00
Patrick Walton
749ee53c6d
librustc: Make ||
lambdas not infer to proc
s
2013-11-26 08:25:27 -08:00
bors
950add4e49
auto merge of #10072 : brson/rust/modelines, r=thestinger
...
These are relics that serve no purpose.
2013-10-26 02:16:08 -07:00
Brian Anderson
9a773da681
Remove ancient emacs mode lines from test cases
...
These are relics that serve no purpose.
2013-10-25 17:41:54 -07:00
Alex Crichton
61ed2cfb55
Remove even more of std::io
...
Big fish fried here:
extra::json
most of the compiler
extra::io_util removed
extra::fileinput removed
Fish left to fry
extra::ebml
2013-10-24 14:21:57 -07:00
Alex Crichton
daf5f5a4d1
Drop the '2' suffix from logging macros
...
Who doesn't like a massive renaming?
2013-10-22 08:09:56 -07:00
Marvin Löbel
3011801256
Made std::task::TaskBuilder::future_result()
easier to use
2013-10-18 10:43:41 +02:00
Alex Crichton
3396365cab
Add appropriate #[feature] directives to tests
2013-10-06 14:39:25 -07:00
Alex Crichton
73c6c9109f
bench: Remove usage of fmt!
2013-09-30 23:21:20 -07:00
Marvin Löbel
06d1dccf95
Turned extra::getopts functions into methods
...
Some minor api and doc adjustments
2013-09-19 12:32:18 +02:00
Erick Tryzelaar
91d6c60bed
fix various warnings
2013-08-30 15:10:55 -07:00
Corey Richardson
d7be86f1a5
Revert "src/test/bench: restructure"
...
This reverts commit 14cdc26e8a7794e437946f46df5769362b42acdf.
2013-08-30 16:17:53 -04:00
Corey Richardson
14cdc26e8a
src/test/bench: restructure
2013-08-28 08:14:59 -04:00
Daniel Micay
46fc549fa9
rm obsolete integer to_str{,_radix} free functions
2013-08-20 22:05:03 -04:00
Marvin Löbel
0ac7a219f0
Updated std::Option, std::Either and std::Result
...
- Made naming schemes consistent between Option, Result and Either
- Changed Options Add implementation to work like the maybe monad (return None if any of the inputs is None)
- Removed duplicate Option::get and renamed all related functions to use the term `unwrap` instead
2013-08-05 22:42:21 +02:00
Daniel Micay
1008945528
remove obsolete foreach
keyword
...
this has been replaced by `for`
2013-08-03 22:48:02 -04:00
Daniel Micay
234acad404
replace range
with an external iterator
2013-08-02 00:51:14 -04:00
bors
fe28ac6891
auto merge of #8164 : brson/rust/noportset, r=pcwalton
...
...haredChan.
2013-08-01 07:46:38 -07:00
Daniel Micay
1fc4db2d08
migrate many for
loops to foreach
2013-08-01 05:34:55 -04:00
Brian Anderson
ebd14c92f8
std: Remove PortSet. Not supported by new scheduler. Replace uses with SharedChan.
2013-07-31 14:59:49 -07:00
Ben Blum
4bcda7148d
Fix warnings in src/test/bench tests. Nobody will ever care.
2013-07-20 05:12:04 -04:00
Patrick Walton
99b33f7219
librustc: Remove all uses of "copy".
2013-07-17 14:57:51 -07:00
Huon Wilson
d0512b1055
Convert vec::[mut_]slice to methods, remove vec::const_slice.
2013-06-27 22:36:09 +10:00
Daniel Micay
d2e9912aea
vec: remove BaseIter implementation
...
I removed the `static-method-test.rs` test because it was heavily based
on `BaseIter` and there are plenty of other more complex uses of static
methods anyway.
2013-06-23 02:05:20 -04:00
Huon Wilson
efc71a8bdb
std: unify the str -> [u8] functions as 3 methods: .as_bytes() and .as_bytes_with_null[_consume]().
...
The first acts on &str and is not nul-terminated, the last two act on strings
that are always null terminated (&'static str, ~str and @str).
2013-06-12 12:21:04 +10:00
Patrick Walton
206ab89629
librustc: Stop reexporting the standard modules from prelude.
2013-05-29 19:04:53 -07:00
Patrick Walton
1be40be613
test: Update tests to use the new syntax.
2013-05-22 21:57:10 -07:00
Corey Richardson
cc57ca012a
Use assert_eq! rather than assert! where possible
2013-05-19 08:16:02 -04:00
Patrick Walton
d20e63ab65
test: Fix modes in the benchmarks.
2013-05-08 17:04:03 -07:00
Patrick Walton
278b487cab
test: Fix tests and the pipe compiler
2013-05-08 17:04:00 -07:00
Patrick Walton
876483dcf4
test: Fix tests.
2013-04-29 14:30:56 -07:00
Patrick Walton
17723d18de
test: Remove #[legacy_modes] from the test suite.
2013-04-29 14:30:55 -07:00
Brian Anderson
decd3901d5
core::comm: Modernize constructors to use new
2013-04-18 14:07:35 -07:00
Patrick Walton
1e91595520
librustc: Remove fail_unless!
2013-03-29 16:39:08 -07:00
Patrick Walton
d7e74b5e91
librustc: Convert all uses of assert
over to fail_unless!
2013-03-07 22:37:57 -08:00
Patrick Walton
30bb09c0e7
test: Remove fn@
, fn~
, and fn&
from the test suite. rs=defun
2013-03-02 18:47:47 -08:00
Marvin Löbel
42b0bacd76
Removed deprecated str()
functions in int-template.rs and uint-template.rs
2013-02-26 16:38:30 +01:00
Brian Anderson
dab6a85230
core: Extract comm from pipes. #4742
2013-02-21 17:36:54 -08:00
Luqman Aden
178882c98f
tests/tutorials: Get rid of move
.
2013-02-15 02:49:55 -08:00
Nick Desaulniers
4445b38df2
Remove die!, raplace invocations with fail! Issue #4524 pt 3
2013-02-13 17:01:32 -08:00
Nick Desaulniers
6fb4239bb3
Replace most invocations of fail keyword with die! macro
2013-01-31 22:25:12 -08:00
Brian Anderson
02e907b648
Remove oldcomm from the test suite
2013-01-30 00:48:10 -08:00
Tim Chevalier
fc9650b146
testsuite: De-record most bench tests
2013-01-28 19:41:56 -08:00
Brian Anderson
e6d1b02359
Rename core::comm to core::oldcomm
2012-12-14 14:59:32 -08:00
Tim Chevalier
38bd694df1
Reverse the order of the results of pipes::stream
...
As per #3637 .
2012-12-11 19:23:28 -08:00