]> git.lizzy.rs Git - rust.git/commit
DoubleEndedIterator for Args
authorSebastian Thiel <byronimo@gmail.com>
Sat, 30 Apr 2016 14:37:44 +0000 (16:37 +0200)
committerSebastian Thiel <byronimo@gmail.com>
Tue, 26 Jul 2016 10:12:43 +0000 (12:12 +0200)
commit1aa8dad854155221db7cec19b6105c673e4a871e
tree5705dc9fad2932e1cd947030bc1da241051e701d
parent728eea7dc1973558c12b7018d904147c8224e879
DoubleEndedIterator for Args

The number of arguments given to a process is always known, which
makes implementing DoubleEndedIterator possible.

That way, the Iterator::rev() method becomes usable, among others.

Signed-off-by: Sebastian Thiel <byronimo@gmail.com>
Tidy for DoubleEndedIterator

I chose to not create a new feature for it, even though
technically, this makes me lie about the original availability
of the implementation.

Verify with @alexchrichton

Setup feature flag for new std::env::Args iterators

Add test for Args reverse iterator

It's somewhat depending on the input of the test program,
but made in such a way that should be somewhat flexible to changes
to the way it is called.

Deduplicate windows ArgsOS code for DEI

DEI = DoubleEndedIterator

Move env::args().rev() test to run-pass

It must be controlling it's arguments for full isolation.

Remove superfluous feature name

Assert all arguments returned by env::args().rev()

Let's be very sure it works as we expect, why take chances.

Fix rval of os_string_from_ptr

A trait cannot be returned, but only the corresponding object.

Deref pointers to actually operate on the argument

Put unsafe to correct location
src/libstd/env.rs
src/libstd/sys/unix/os.rs
src/libstd/sys/windows/os.rs
src/test/run-pass/env-args-reverse-iterator.rs [new file with mode: 0644]