Commit graph

4008 commits

Author SHA1 Message Date
Brian Anderson
06f1a64bd6 core::rt: Convert users of local_sched to Local trait 2013-05-20 15:21:09 -07:00
Brian Anderson
18fab45aab core::rt: Make local_sched a wrapper around Local 2013-05-20 15:20:50 -07:00
Brian Anderson
71aa6b6631 core::rt: Move more TLS functionality into local_ptr 2013-05-20 15:20:50 -07:00
Brian Anderson
97c2fd1a96 core::rt: Move some TLS functions from local_sched to local_ptr 2013-05-20 15:20:50 -07:00
Brian Anderson
86ba457349 rt: Rename rust_initialize_global_state to rust_initialize_rt_tls_key 2013-05-20 15:20:50 -07:00
Brian Anderson
f59fcd5d5f core::rt: Store Task as a ~ pointer 2013-05-20 15:20:50 -07:00
Brian Anderson
43c6f32ece core::rt: Add Local trait 2013-05-20 15:20:50 -07:00
Brian Anderson
b0722c55f8 core:rt:: Rename LocalServices to Task 2013-05-20 15:20:49 -07:00
Brian Anderson
fa18a861fb core::rt: Queues MessageQueue and WorkQueue are cloneable 2013-05-20 15:20:49 -07:00
Brian Anderson
d2a1378ed8 core::rt: Add MessageQueue type
This is the queue used to send messages to Schedulers
2013-05-20 15:20:49 -07:00
Brian Anderson
ee06ed2bfd core::rt: Put a lock on the work queue 2013-05-20 15:20:49 -07:00
Brian Anderson
f03c9bd08c core::rt: Rename WorkQueue methods, remove extra push method 2013-05-20 15:20:49 -07:00
Brian Anderson
7ffd523354 core: Update clone docs 2013-05-20 15:19:35 -07:00
Brian Anderson
7bd4217766 Replace all uses of rust-intrinsic ABI with calls to unstable::intrinsics 2013-05-20 14:41:56 -07:00
Alex Crichton
82fa0018c8 Remove all unnecessary allocations (as flagged by lint) 2013-05-20 16:10:40 -05:00
Alex Crichton
15f97acdc8 Correctly track the source of imports with the same name 2013-05-20 13:02:08 -05:00
Björn Steinbrink
b5be7d8a2c Avoid range checks in HashMap::each() 2013-05-20 18:42:31 +02:00
Brendan Zabarauskas
eef03c39cf Update to stop unsolicited copying and mark methods as unsafe 2013-05-20 22:07:35 +10:00
Björn Steinbrink
09efd472a9 Remove outdated function transmute_for_stage0
The function was a workaround for bootstrapping that isn't required
anymore and just degrades hashmap performance, as it doesn't get inlined
cross-crate and turns a no-op into a call.
2013-05-20 12:10:55 +02:00
bors
2e6cda254a auto merge of #6635 : brson/rust/snapshot, r=brson 2013-05-20 02:46:36 -07:00
bors
ab46a38039 auto merge of #6632 : steveklabnik/rust/remove_more_warnings, r=thestinger
With this, the build is almost 100% warning free.

One more can be fixed after the next snapshot, and there's one other that I filed an issue about already.
2013-05-20 01:37:39 -07:00
bors
ea0640764a auto merge of #6629 : steveklabnik/rust/remove_uvio_warnings, r=catamorphism
Mostly of the 'unused imports' kind.

I'm unsure about the 'no unsafe' bit, but that's what it says...
2013-05-20 00:25:40 -07:00
Brian Anderson
66319b0278 Register snapshots 2013-05-19 23:34:32 -07:00
bors
d019e145c0 auto merge of #6621 : steveklabnik/rust/expand_reader_docs, r=thestinger
Had a conversation with @cmr in IRC about some places that these
docs were confusing. The functions that advance the stream now say so.

In addition, I think that calling out the similarities to familliar C
functions should help people coming from other languages.
2013-05-19 23:13:36 -07:00
bors
3a481c0f88 auto merge of #6627 : steveklabnik/rust/remove_warnings, r=thestinger,catamorphism
These imports were not being used.
2013-05-19 21:58:38 -07:00
Steve Klabnik
dcc2879266 Add a few 'function's.
This is now 100% consistent. Whoops!
2013-05-19 22:40:13 -06:00
Steve Klabnik
d3f70b141a Fix many warnings. 2013-05-19 21:32:32 -07:00
bors
0b39bc275e auto merge of #6624 : steveklabnik/rust/io_prelude, r=catamorphism
Let's actually give a top-level description of what's in here, eh?
2013-05-19 20:49:42 -07:00
Steve Klabnik
dc57d15b69 Remove more warnings.
Mostly of the 'unused imports' kind.
2013-05-19 20:00:39 -07:00
Steve Klabnik
06d196ad5f Removing some warnings from logging.rs
These imports were not being used.
2013-05-19 19:40:36 -07:00
Steve Klabnik
91d3e7f1a0 Fix wording per feedback
Thanks @catamorphism!
2013-05-19 20:39:02 -06:00
Steve Klabnik
b1e805694b Add a better introduction for the io module.
Let's actually give a top-level description of what's in here, eh?
2013-05-19 19:02:55 -07:00
bors
9283dfe0b4 auto merge of #6619 : steveklabnik/rust/stdout_docs, r=thestinger
Added docs for stdout, stderr, print, and println.
2013-05-19 18:22:33 -07:00
Steve Klabnik
5877727285 Fix trailing whitespace 2013-05-19 15:31:19 -07:00
Steve Klabnik
1065a92bf3 Elaborate a bit in the Reader docs regarding stream position.
Had a conversation with @cmr in IRC about some places that these
docs were confusing. The functions that advance the stream now say so.

In addition, I think that calling out the similarities to familliar C
functions should help people coming from other languages.
2013-05-19 12:57:00 -07:00
Steve Klabnik
929050de73 Added note about prelude inclusion. 2013-05-19 12:42:00 -07:00
Steve Klabnik
a389d86fa4 Add docs for stdin in core::io. 2013-05-19 12:33:01 -07:00
Steve Klabnik
e0b1bdca5b Add additional documentation in core::io.
Added docs for stdout, stderr, print, and println.
2013-05-19 12:06:39 -07:00
bors
9f671698e6 auto merge of #6106 : thestinger/rust/iter, r=bstrie
I don't have a strong opinion on the function vs. method, but there's no point in having both. I'd like to make a `repeat` adaptor like Python/Haskell for turning a value into an infinite stream of the value, so this has to at least be renamed.
2013-05-19 08:13:30 -07:00
Corey Richardson
cc57ca012a Use assert_eq! rather than assert! where possible 2013-05-19 08:16:02 -04:00
bors
3acf37897a auto merge of #6595 : bjz/rust/core-tuple, r=thestinger 2013-05-19 03:01:28 -07:00
Huon Wilson
3a11ddb1b2 Correct tuple Ord impl, add Total{Eq,Ord} impls and add some tests. 2013-05-19 18:51:14 +10:00
bors
aa827838e1 auto merge of #6606 : thestinger/rust/vers, r=brson
I don't see a reason to encode this information in all the `extern mod` statements, it's not a precise enough version to actually provide any sort of robustness.
2013-05-18 21:55:30 -07:00
Daniel Micay
20ef4238bb reduce the usage of explicit version markers 2013-05-19 00:21:41 -04:00
Brendan Zabarauskas
d1e091a27a Add Ptr::to_option method 2013-05-19 14:08:27 +10:00
bors
ccf6353fd5 auto merge of #6589 : thestinger/rust/iterator, r=thestinger 2013-05-18 19:40:25 -07:00
Daniel Micay
9b6b0e1e64 fix stage0 compile 2013-05-18 22:10:56 -04:00
bors
3ee479f3e9 auto merge of #6577 : brson/rust/io-upstream, r=pcwalton
r?

This is all of my scheduler work on #4419 from the last 3 weeks or so. I've had a few failed pull requests so far but I think the problems are ironed out.

* TCP
* The beginnings of runtime embedding APIs
* Porting various corners of core to be compatible with both schedulers
* libuv timer bindings
* Further refinement of I/O error handling, including a new, incomplete, `read_error` condition
* Incomplete refactoring to make tasks work without coroutines and user-space scheduling
* Implementations of Reader/Writer extension methods
* Implementations of the most important part of core::comm

I'm particularly happy with how easy the [comm types on top of the scheduler](https://github.com/brson/rust/blob/io-upstream/src/libcore/rt/comm.rs). Note that these implementations do not use pipes. If anything here needs careful review though it's this code.

This branch passes 95% of the run-pass tests (with `TESTARGS=--newrt`)

In the next week I'll probably spend some time adding preliminary multithreading and seeing how close we are to removing the old runtime.
2013-05-18 18:37:25 -07:00
Brendan Zabarauskas
f687b9d771 Use /// style doc-comments and add missing headings 2013-05-19 06:45:54 +10:00
Brendan Zabarauskas
efe6564a0e Code modernisation and cleanup 2013-05-19 05:58:33 +10:00