diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2011-07-04 21:20:18 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2011-07-04 21:20:18 -0700 |
| commit | d3a4102bc177e23d4a7a6dfb44bcad4e4c81eca1 (patch) | |
| tree | 68f313dbffc8aa77def88c1ffd191f492903f505 /src/lib | |
| parent | 5d2c1896311cdd5cd244c4a16dfde807974671cf (diff) | |
| download | rust-d3a4102bc177e23d4a7a6dfb44bcad4e4c81eca1.tar.gz rust-d3a4102bc177e23d4a7a6dfb44bcad4e4c81eca1.zip | |
stdlib: Add an inefficient implementation of ivec::pop
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/ivec.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/ivec.rs b/src/lib/ivec.rs index 0547c111d65..91912f7dc5a 100644 --- a/src/lib/ivec.rs +++ b/src/lib/ivec.rs @@ -104,7 +104,17 @@ fn slice_mut[T](&T[mutable?] v, uint start, uint end) -> T[mutable] { // Mutators -// TODO +// TODO: Write this, unsafely, in a way that's not O(n). +fn pop[T](&mutable T[mutable?] v) -> T { + auto ln = len(v); + assert (ln > 0u); + ln -= 1u; + auto e = v.(ln); + v = slice(v, 0u, ln); + ret e; +} + +// TODO: More. // Appending |
