Brian Anderson
1f97e6d47f
rt: Add rust_dbg_next_port for generating test port numbers
2013-04-20 00:24:44 -07:00
Brian Anderson
6a5c4f68c2
core::rt: Just some poking at the I/O docs
2013-04-19 18:47:31 -07:00
Brian Anderson
e47ee779cd
wip
2013-04-19 15:18:38 -07:00
Brian Anderson
7270fadfcc
core::rt: Rename Closeable to Close, Seekable to Seek, blocking to native
2013-04-19 14:58:21 -07:00
Brian Anderson
e782e1f371
Tidy
2013-04-19 12:05:19 -07:00
Brian Anderson
b57611d10c
core::rt: Simplify some scheduler operations
2013-04-19 12:05:19 -07:00
Brian Anderson
eddd817bf0
core::rt: Add another context switching operation to the scheduler
...
`switch_running_tasks_and_then` does a context switch to another
task then immediatly runs a closure.
2013-04-19 12:05:18 -07:00
Brian Anderson
d261bb32d9
core: More tweaks to the thread-local scheduler interface
2013-04-19 12:05:18 -07:00
Brian Anderson
15ece0c23e
core: Wire up spawn
to the new scheduler
...
It will check which scheduler it is running under and create the
correct type of task as appropriate. Most options aren't supported
but basic spawning works.
2013-04-19 12:05:18 -07:00
Brian Anderson
6773b63671
core: Don't use managed boxes in TaskBuilder
2013-04-19 12:05:18 -07:00
Brian Anderson
b96765179e
core: Add rt::context for figuring out what runtime services are available
...
Conflicts:
src/libcore/rt/sched/mod.rs
2013-04-19 12:05:18 -07:00
Brian Anderson
c44d7a6486
core::rt: Declare large parts of the I/O API
2013-04-19 12:05:18 -07:00
bors
10e6869a54
auto merge of #5955 : thestinger/rust/iterator, r=graydon
2013-04-19 09:48:50 -07:00
Daniel Micay
a2e5350284
iterator: add a bit of documentation
2013-04-19 12:42:59 -04:00
Daniel Micay
1d81b7b286
iterator: add a chain adaptor
2013-04-19 11:50:50 -04:00
Huon Wilson
90313b789c
libcore: add an UnfoldrIterator like Haskell's unfoldr
2013-04-19 10:37:15 -04:00
Daniel Micay
d7a2ae6c42
re-organize the iterator module a bit
2013-04-19 09:18:22 -04:00
Daniel Micay
ae1c9ebf3c
move iterator adaptor tests to iterator module
2013-04-19 09:01:40 -04:00
bors
465666d5c8
auto merge of #5957 : huonw/rust/core-char-at-doc, r=thestinger
...
The documentation was unclear/wrong: it implies the functions operated on unicode char indices, but they actually operate on byte indices. Also, the `char_at_reverse` documentation was unclear whether it counted from the beginning or the end (causing #5956 ).
2013-04-19 05:45:51 -07:00
Huon Wilson
8ae6b33ed0
libcore: clarify documentation for char_at(_reverse)
2013-04-19 22:30:49 +10:00
Daniel Micay
962a753890
takewhile -> take_while, dropwhile -> skip_while
2013-04-19 07:28:51 -04:00
Daniel Micay
0f85cf180a
iterator: add skip and take
2013-04-19 07:22:20 -04:00
bors
d3a58f3797
auto merge of #5943 : brson/rust/struct-return, r=graydon
...
Mac appears to follow the same ABI as MSVC. This fixes one case
but leaves others broken, like windows.
2013-04-18 19:45:48 -07:00
bors
9618e5b459
auto merge of #5938 : thestinger/rust/iterator, r=pcwalton
2013-04-18 18:51:49 -07:00
bors
225d74f211
auto merge of #5914 : catamorphism/rust/copy-cops, r=catamorphism
2013-04-18 17:51:51 -07:00
Tim Chevalier
3d43af15d8
rustc: Anti-copy police
...
In this case, some copies are still necessary to convert from
a mutable to an immutable @-box. It's still an improvement,
I hope.
2013-04-18 17:40:42 -07:00
bors
df9cc2eb66
auto merge of #5924 : catamorphism/rust/non-fatal-errors, r=catamorphism
2013-04-18 16:57:51 -07:00
bors
50cd218c1e
auto merge of #5920 : catamorphism/rust/rustpkg, r=catamorphism
...
r? @graydon
2013-04-18 16:06:52 -07:00
Tim Chevalier
1aebf30f72
Tidy
2013-04-18 15:24:25 -07:00
Tim Chevalier
62847b0f24
rustc: Make some typechecker errors non-fatal
2013-04-18 15:12:27 -07:00
Tim Chevalier
18db9a2954
rustc: One less copy
2013-04-18 14:50:29 -07:00
bors
b19c644d54
auto merge of #5921 : brson/rust/pipes, r=brson
...
This builds on #5909 . I've been combing through the pipes code to understand it and started refactoring a bit.
* Removes pipes::spawn_* functions. These are not particularly useful since they deal with low-level pipes types.
* Inlines the protocol-compiled definitions of `oneshot` and `streamp`. These are the only two uses of the protocol compiler in core and I'm inlining them so I can understand what they are doing as I work on pipes. I may un-inline them in the future.
* Removes redundant functions from core::comm
* Change the constructors to use the `new` convention
2013-04-18 14:36:53 -07:00
Brian Anderson
8a6d6dd868
rustc: Fix struct returns on x86 mac for 8-byte structs
...
Mac appears to follow the same ABI as MSVC. This fixes one case
but leaves others broken, like windows.
2013-04-18 14:14:17 -07:00
Brian Anderson
decd3901d5
core::comm: Modernize constructors to use new
2013-04-18 14:07:35 -07:00
Brian Anderson
bc60d84507
core::pipes: Just reordering declarations
2013-04-18 14:07:35 -07:00
Brian Anderson
0617d580e6
core::comm: Remove functions in favor of methods
...
`send`, etc. are never used. I've left the functions for oneshot pipes
because by-value methods don't work.
2013-04-18 14:07:35 -07:00
Brian Anderson
4e22461cd8
core: Remove a stray #[doc(hidden)] attribute
2013-04-18 14:07:35 -07:00
Brian Anderson
056164ac19
core: Inline the protocol definitions of sendp and oneshot
...
I want to be able to see what is going on
2013-04-18 14:07:35 -07:00
Brian Anderson
3dce936753
core: Remove #[doc(hidden)] attributes and atomic wrapper functions from pipes
...
Neither are needed
2013-04-18 14:07:35 -07:00
Brian Anderson
8f2d21dc0d
core: Just reordering some code
2013-04-18 14:07:35 -07:00
Brian Anderson
ab08b4fbfd
core: Remove pipes::spawn_service, spawn_service_recv
...
These are only used in test cases; pipes isn't the right place for them;
they are unnecessary.
Conflicts:
src/libcore/rt/uv/mod.rs
2013-04-18 14:07:35 -07:00
bors
2a86485277
auto merge of #5418 : luqmana/rust/stack-float, r=brson
...
Like I commented in #2043 , I can't reproduce the weirdness from #1388 on either mac or linux (x84_64) and pushing to try gives all green.
That's 128 less bytes to have to keep in the stack for every call to __morestack.
2013-04-18 13:45:55 -07:00
bors
b329f2fa82
auto merge of #5798 : recrack/rust/multiple-errors, r=brson
...
Fix #4569 .
2013-04-18 12:21:57 -07:00
bors
348dc250ca
auto merge of #5939 : brson/rust/xfail, r=brson
...
Disabling them because they are failing on incoming. Looking into a fix now.
2013-04-18 11:21:55 -07:00
Brian Anderson
b18f12fb16
test: xfail-macos some tests that don't work on mac i686
2013-04-18 11:17:34 -07:00
Brian Anderson
2686dcb98e
test: Add more comments about why extern-pass-TwoU64s is xfailed
2013-04-18 11:17:01 -07:00
Daniel Micay
a523abd75c
add dropwhile and takewhile iterators
2013-04-18 13:22:38 -04:00
bors
8796c9fe2d
auto merge of #5935 : bjz/rust/master, r=thestinger
2013-04-18 09:03:55 -07:00
Brendan Zabarauskas
a7f6ec8542
Use assert_eq! instead of assert! and remove extraneous parentheses
2013-04-19 01:37:21 +10:00
bors
e4f35a7326
auto merge of #5933 : huonw/rust/core-read-until-byte, r=thestinger
...
`read_until` is just doing a bytewise comparison. This means the following program prints `xyå12`, not `xy`, which it should if it was actually checking chars.
```rust
fn main() {
do io::with_str_reader("xyå12") |r| {
io::println(r.read_until('å', false));
}
}
```
This patch makes the type of read_until match what it is actually doing.
2013-04-18 08:09:55 -07:00