Commit Graph

18671 Commits

Author SHA1 Message Date
Corey Richardson
e42fcb958c Implement unimplemented const binops 2013-05-19 22:09:32 -04: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
bors
7396f7f004 auto merge of #6432 : thomaslee/rust/issue-4202-02, r=catamorphism
My earlier fix for #4202 would not work correctly if the trait being exported was a top-level item relative to the module from which it was being exported. An example that would not work correctly with the original patch:

    // foo.rs

    pub use Foo = self::Bar;

    pub trait Bar {
      pub fn bar() -> Self;
    }

    impl Bar for int {
      pub fn bar() -> int { 42 }
    }

    // bar.rs

    fn main() {
      foo::Foo::bar()
    }

This is now supported.

I believe this change will allow the GenericPath trait to be exported from core::path as Path in such a manner, which should allow #5389 to move forward.
2013-05-19 17:13:34 -07:00
Tom Lee
e3a91f60c5 Explain an odd conditional check. 2013-05-19 17:07:18 -07:00
Tom Lee
cac97d7ee5 Remove unused variable. 2013-05-19 17:07:18 -07:00
Tom Lee
e02716e6d3 Reexport static trait methods on traits in the same module. 2013-05-19 17:07:18 -07:00
Steve Klabnik
5877727285 Fix trailing whitespace 2013-05-19 15:31:19 -07:00
bors
ebdb0dee27 auto merge of #6620 : steveklabnik/rust/stdin_docs, r=brson 2013-05-19 14:10:35 -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
bors
5cbdc53f89 auto merge of #6601 : cmr/rust/assert_eq, r=Aatch 2013-05-19 05:22:31 -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
99c7750ca6 auto merge of #6603 : thestinger/rust/whitespace, r=thestinger 2013-05-18 22:55:34 -07: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
1789174541 minor automated whitespace fixes 2013-05-18 22:40:12 -04: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
bors
24c2be3323 auto merge of #6597 : bjz/rust/core-char, r=brson 2013-05-18 17:13:27 -07:00
Brian Anderson
8daa5ec9ea xfail-fast run-pass/core-rt-smoke 2013-05-18 16:35:58 -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
Brendan Zabarauskas
d73f31b31d Create Char trait 2013-05-19 05:50:02 +10:00
Brendan Zabarauskas
7103c39dbb Move tuple tests into submodule 2013-05-19 02:36:08 +10:00
Brendan Zabarauskas
d9eec664fd Fix Ord implementation to use lexical ordering 2013-05-19 02:35:36 +10:00
Brendan Zabarauskas
db453ec0e5 Replace Tuple{2..12} trait with CloneableTuple{2..12} and ImmutableTuple{2..12}
Make n{0..11} methods return cloned values, and create n{0..12}_ref methods for returning references
2013-05-19 02:19:16 +10:00
Brendan Zabarauskas
ee4d11f37e Use match instead of intermediate variable 2013-05-19 02:19:16 +10:00
Brendan Zabarauskas
ce1e211eeb Adapt the getter macro to implement Clone, Eq and Ord for n-ary tuples 2013-05-19 02:19:16 +10:00
bors
3a323c1b2d auto merge of #6565 : osaut/rust/futures, r=thestinger
* The example given in future.rs was corrected.

* I have added a small section describing futures in tutorial on tasks. It is far from being complete as I am stil learning !

(This is an updated version of PR 6537).
2013-05-18 04:07:27 -07:00
bors
eb0e2f45ec auto merge of #6591 : bjz/rust/tuple-elements, r=thestinger
This commit implements element getters for tuples with an arity of 2 to 12. The getters return references to the elements, so no copying occurs. The traits are re-exported in `core::prelude` so you can use them from regular Rust code.

Here is an example of one of the getters in use:

~~~rust
assert_eq!((2, "hi", 75.0).n1(), &"hi");
~~~
2013-05-18 03:13:28 -07:00
Brendan Zabarauskas
b6038b7633 Return a reference to the tuple elements instead of copying 2013-05-18 20:05:40 +10:00
Olivier Saut
4b13895c2f Remove trailing whitespaces 2013-05-18 11:53:51 +02:00
Brendan Zabarauskas
5242464d54 Merge trait and impl macros by using an inner module 2013-05-18 19:43:14 +10:00
Brendan Zabarauskas
c1eb539e12 Use assert_eq! instead of assert! 2013-05-18 19:10:49 +10:00
Brendan Zabarauskas
96cb0dc8a0 use n{0..11} instead of _{0..12} for accessor method names 2013-05-18 19:10:12 +10:00
Brendan Zabarauskas
6742f91192 Create tuple element accessor traits 2013-05-18 18:59:16 +10:00
Daniel Micay
d953a5ce43 replace old_iter::repeat with the Times trait 2013-05-18 04:57:21 -04:00
Daniel Micay
fc656262a9 iterator: use advance to implement FilterMapIterator 2013-05-18 04:48:22 -04:00
Daniel Micay
073225572a iterator: reword docstring 2013-05-18 04:44:44 -04:00
Daniel Micay
883d583faa iterator: reuse iter::to_vec, and use &mut self 2013-05-18 04:37:48 -04:00
Daniel Micay
ea8a55b821 iterator: make nth and last return Option
There isn't a way to take the length of any iterator, so failing on a
zero length would make these much less useful.
2013-05-18 04:35:58 -04:00
Daniel Micay
a9c465ce1f iterator: remove first
it's the same as `next.unwrap()`, but there's no way to check the
length of an iterator so this isn't a good pattern
2013-05-18 04:35:48 -04:00