Commit Graph

16708 Commits

Author SHA1 Message Date
Ben Striegel
84e5033466 Make bench/noise.rs more idiomatic and 20x faster 2013-04-03 06:54:14 -04:00
bors
afd5cba38c auto merge of #5692 : Aatch/rust/tuple-clone, r=thestinger
This implements the clone interface for tuples and adds a test to match. The implementation is only on tuples that have elements that are themselves clone-able. This should allow for `#[deriving(Clone)] on nominal types that contain tuples somewhere.
2013-04-03 01:15:49 -07:00
James Miller
e2bffb7971 Implement Clone for tuples 2013-04-03 19:43:23 +13:00
bors
0cc903015b auto merge of #5202 : dbaupp/rust/std-fileinput, r=graydon
As per https://github.com/mozilla/rust/wiki/Note-wanted-libraries.

Iterates over lines in a series of files, e.g. a basic `cat`

```rust
use std::fileinput;
fn main() {
    for fileinput::input |line| {
        io::println(line);
    }   
}
```

The API is essentially a subset of [Python's fileinput module](http://docs.python.org/3.3/library/fileinput.html), although the lack of default arguments and global mutable state means that there are extra functions to handle a few different cases (files from command line arguments, files from a vector, accessing current filename/line number).

A few points that possibly require adjustment:
- Most functions take vectors of `Path` (well, `Option<Path>`) rather than just `~str`, since this seems safer, and allows finer control without the number of different functions/methods increasing exponentially.
- `pathify` has a stupid name.
- I'm not quite sure how to mock tests that require external files: the tests in `libcore/io.rs` seem to indicate using a `tmp` subdirectory, so that's what I did, but I can't reliably build rust on this computer to test (sorry! although I have run the tests in just `fileinput.rs`  after creating `./tmp/` manually).
- The documentation I've written seems pretty crappy and not particularly clear.
- Only UTF8 files are supported.
2013-04-02 22:24:41 -07:00
bors
26d8b5188a auto merge of #5674 : steveklabnik/rust/improve_reader_util_docs, r=catamorphism
I filled out better descriptions for all of the necessary
functions.

r?
2013-04-02 21:18:43 -07:00
bors
cb16cd9423 auto merge of #5673 : steveklabnik/rust/improve_io_docs, r=catamorphism
When I submitted #5659, it apparently caused some test failures. Then, because I left it in my incoming rather than making a new branch, I deleted my commit.

Let's try this again, this time, with its own branch so that I don't screw it up.

r?
2013-04-02 20:15:43 -07:00
Huon Wilson
fea1380a9a libstd: make fileinput tests pass. 2013-04-03 13:38:06 +11:00
bors
f357a03ce3 auto merge of #5685 : thestinger/rust/build, r=graydon 2013-04-02 17:48:46 -07:00
Huon Wilson
1e28d8fdb6 libstd: implement io::Reader for fileinput. 2013-04-03 11:36:05 +11:00
Huon Wilson
e4edfa046a libstd: implement fileinput.
Iterate over lines in a series of files. API (mostly) adopted from
Python's fileinput module.
2013-04-03 11:36:05 +11:00
Steve Klabnik
a3e2d6ea81 Remove excess trailing whitespace. 2013-04-02 17:31:42 -07:00
Steve Klabnik
86d5ce5cef remove trailing whitespace 2013-04-02 17:29:02 -07:00
Daniel Micay
88e4b5de83 install the librust{doc,pkg} host libraries 2013-04-02 19:25:03 -04:00
bors
5f13e9ccc2 auto merge of #5678 : Thiez/rust/no-Mut, r=thestinger
This pull request completely removes Mut<T> and the associated file (libcore/mutable.rs). Some minor changes were made to workcache (libstd/workcache.rs) as it was using Mut.

r?
2013-04-02 13:36:51 -07:00
Matthijs Hofstra
f43e6af38d Removed libcore/mutable.rs, Mut<T> is now dead. 2013-04-02 21:15:23 +02:00
Matthijs Hofstra
f2bc28c24f Removed all uses of Mut from workcache, replaced with @mut 2013-04-02 21:15:11 +02:00
Matthijs Hofstra
ca52d08c4b Removed mut-fields from Mut, removed borrow_const from Mut 2013-04-02 20:47:29 +02:00
Graydon Hoare
00dbbd01c2 Update COPYRIGHT 2013-04-02 11:07:11 -07:00
Steve Klabnik
948ff6056f Typo fix. u8 -> i8 2013-04-01 18:20:30 -07:00
Steve Klabnik
1d658d9b97 Improve docs for Core::ReaderUtil.
I filled out better descriptions for all of the neccesary
functions.
2013-04-01 18:03:54 -07:00
bors
2815742ba5 auto merge of #5669 : graydon/rust/tweaks, r=thestinger
Just some minor cleanup of version strings and copyrights.
2013-04-01 18:00:43 -07:00
bors
78b53718a8 auto merge of #5667 : graydon/rust/remove-a-mode, r=catamorphism
It seems nobody can figure out whether this is _supposed to_ make a difference anymore, and in testing it seems to work either way, so I removed it. One less alarming warning during a fresh build.
2013-04-01 17:00:42 -07:00
Steve Klabnik
a20d1ad0cb Improve documentation for core::io. 2013-04-01 16:37:40 -07:00
Graydon Hoare
951f460aa8 tidy version numbers and copyright dates 2013-04-01 16:15:49 -07:00
bors
d1935898ed auto merge of #5662 : catamorphism/rust/docs, r=catamorphism
r? @brson
2013-04-01 16:03:47 -07:00
Tim Chevalier
ce09645591 docs: Xfail test, it's just for illustration anyway 2013-04-01 15:21:22 -07:00
bors
dc60788215 auto merge of #5660 : brson/rust/doc, r=catamorphism 2013-04-01 15:12:43 -07:00
Brian Anderson
243e601e51 doc: Update tutorial description of core 2013-04-01 14:30:14 -07:00
Brian Anderson
37634f3363 core: Update libc docs to clarify usage 2013-04-01 14:29:09 -07:00
Graydon Hoare
0647a0fc28 remove stray mode on callback, seems to not change anything 2013-04-01 14:18:07 -07:00
Tim Chevalier
dbeea18fc5 docs: Document language items, as per #3342 2013-04-01 14:05:03 -07:00
bors
8e9fd72d05 auto merge of #5655 : thestinger/rust/arm, r=brson
Turns out @ isn't valid for the ARM assembler.
2013-03-31 21:54:41 -07:00
Daniel Micay
26fc76acb6 rt/arch/arm: fix syntax used for noexec stack 2013-04-01 00:31:22 -04:00
bors
bd7eb7e0f9 auto merge of #5653 : brson/rust/warnings, r=brson 2013-03-31 20:36:40 -07:00
Brian Anderson
e3327d3833 Fix warnings 2013-03-31 20:22:47 -07:00
bors
be792589d0 auto merge of #5651 : luqmana/rust/incoming, r=thestinger
Change fn() -> &fn().
2013-03-31 19:33:40 -07:00
Luqman Aden
d617030d63 Update tutorial.md
Change fn() -> &fn().
2013-03-31 18:34:51 -07:00
bors
686f448b0c auto merge of #5649 : thestinger/rust/lib, r=brson
There's no reason to make them executable, and this throws a warning
with the Arch Linux package lint tool (namcap) for .a files.
2013-03-31 18:15:40 -07:00
bors
b9c7ee5cfa auto merge of #5647 : thestinger/rust/execstack, r=brson
Closes #5643
2013-03-31 17:06:42 -07:00
Daniel Micay
431380f011 install.mk: use INSTALL_LIB for all libraries
There's no reason to make them executable, and this throws a warning
with the Arch Linux package lint tool (namcap) for .a files.
2013-03-31 19:14:02 -04:00
bors
f336afd459 auto merge of #5648 : luqmana/rust/incoming, r=thestinger
Fix typo and add fixed length vec changes.
2013-03-31 16:09:40 -07:00
Daniel Micay
c0be7df5de mark the assembly object stacks as non-executable
Closes #5643

This also removes the need to pass noexecstack to gcc, but that wasn't
actually working anymore.
2013-03-31 18:23:05 -04:00
bors
fb5f020cc2 auto merge of #5611 : Kimundi/rust/incoming, r=catamorphism 2013-03-31 15:21:42 -07:00
Luqman Aden
4c58903454 Update RELEASES.txt
Fix typo and add fixed length vec changes.
2013-03-31 15:00:09 -07:00
Marvin Löbel
df66e8d4a1 Fix underflow in char_range_at_reverse
Added char_range_at_reverse underflow test
2013-03-31 10:03:52 +02:00
bors
75d615d6f6 auto merge of #5637 : luqmana/rust/5423, r=brson
Fixes #5423.
2013-03-30 22:06:41 -07:00
bors
042a66514d auto merge of #5638 : luqmana/rust/5405, r=brson
#5405

Also, renames the confusingly named `use_new_rt` in `libcore/unstable/lang.rs`
2013-03-30 20:45:42 -07:00
Luqman Aden
74d20b46c5 Rename confusing var, use_new_rt -> use_old_rt. 2013-03-30 20:00:19 -07:00
Luqman Aden
eadd358b2a Correct type signature for start lang item. 2013-03-30 19:59:21 -07:00
bors
bd7ba1fa62 auto merge of #5634 : thestinger/rust/dlist, r=brson,thestinger
Closes #3549

The issue report has some reasoning, but I'd like to add that I don't think managed pointers belong in core. It's *possible* to write a safe doubly-linked list on top of `unsafe`, but it would be much more limited and I don't think there's much of a use case - it would lose a lot of flexibility. You're probably better off using a vector, hash table, tree, heap or ring buffer in almost every case.
2013-03-30 19:51:40 -07:00