summary refs log tree commit diff
path: root/src/libstd/option.rs
AgeCommit message (Collapse)AuthorLines
2013-09-25rustdoc: Change all code-blocks with a scriptAlex Crichton-2/+2
find src -name '*.rs' | xargs sed -i '' 's/~~~.*{\.rust}/```rust/g' find src -name '*.rs' | xargs sed -i '' 's/ ~~~$/ ```/g' find src -name '*.rs' | xargs sed -i '' 's/^~~~$/ ```/g'
2013-09-21Fix example in std::OptionGrigoriy-1/+1
2013-09-17std: Remove Option.or_{default,zero}Erick Tryzelaar-19/+1
These can be replaced with `Some(option.or_default())`.
2013-09-16switch Drop to `&mut self`Daniel Micay-1/+1
2013-09-12std: Restore Option::chain{,_mut}_ref as and_then{,_mut}_refErick Tryzelaar-4/+24
2013-09-12std: Remove Zero impl for OptionErick Tryzelaar-5/+0
Options are not numeric types, so it doesn't make sense for them to implement Zero.
2013-09-12std: Add a bunch of Default implsErick Tryzelaar-0/+1
2013-09-12std: Rename {Option,Result}::chain{,_err}* to {and_then,or_else}Erick Tryzelaar-36/+6
2013-09-12std: Add ToEither/IntoEither/AsEitherErick Tryzelaar-0/+42
2013-09-12std: Add ToResult/IntoResult/AsResultErick Tryzelaar-0/+41
2013-09-12std: Add ToOption/IntoOption/AsOptionErick Tryzelaar-0/+65
2013-09-12std: Add Option.{and,and_then,or,or_else}Erick Tryzelaar-8/+81
2013-09-12std: Add Option.unwrap_or_else and a couple testsErick Tryzelaar-0/+47
2013-09-12std: Add Option.{result_or_default,or_default} that uses DefaultErick Tryzelaar-0/+20
2013-09-12std: add default implementations to OptionErick Tryzelaar-0/+5
2013-09-12std: rename Option::unwrap_or_default() to unwrap_or()Erick Tryzelaar-1/+1
2013-09-09rename `std::iterator` to `std::iter`Daniel Micay-6/+6
The trait will keep the `Iterator` naming, but a more concise module name makes using the free functions less verbose. The module will define iterables in addition to iterators, as it deals with iteration in general.
2013-09-01std/extra: Add ExactSize for Bitv, DList, RingBuf, Option iteratorsblake2-ppc-1/+3
2013-08-27option: rm implementation of AddDaniel Micay-13/+0
Closes #6002 There is consensus that the current implementation should be changed or removed, so removing it seems like the right decision for now.
2013-08-22Enabled unit tests in std and extra.Vadim Chugunov-1/+1
2013-08-20option: derive Clone/DeepClone for the iteratorDaniel Micay-0/+1
2013-08-14Methodyfied the string ascii extionsion functionsMarvin Löbel-2/+9
Added into_owned() method for vectors Added DoubleEnded Iterator impl to Option Renamed nil.rs to unit.rs
2013-08-12auto merge of #8400 : blake2-ppc/rust/seq-ord, r=cmrbors-15/+18
Use Eq + Ord for lexicographical ordering of sequences. For each of <, <=, >= or > as R, use:: [x, ..xs] R [y, ..ys] = if x != y { x R y } else { xs R ys } Previous code using `a < b` and then `!(b < a)` for short-circuiting fails on cases such as [1.0, 2.0] < [0.0/0.0, 3.0], where the first element was effectively considered equal. Containers like &[T] did also implement only one comparison operator `<`, and derived the comparison results from this. This isn't correct either for Ord. Implement functions in `std::iterator::order::{lt,le,gt,ge,equal,cmp}` that all iterable containers can use for lexical order. We also visit tuple ordering, having the same problem and same solution (but differing implementation).
2013-08-10Mass rename of .consume{,_iter}() to .move_iter()Erick Tryzelaar-1/+1
cc #7887
2013-08-08std: Fix Ord for Option, using iterator::orderblake2-ppc-15/+18
2013-08-07std: removed option.take_map{,_default}Erick Tryzelaar-14/+0
2013-08-07core: option.map_consume -> option.map_moveErick Tryzelaar-14/+14
2013-08-06std: Use method name Option::consumeblake2-ppc-3/+5
With Option as the simplest container, `consume` is the way to turn it into a by-value iterator.
2013-08-06std: Add .consume_iter() for Option, to make it reusableblake2-ppc-27/+15
Let Option be a base for a widely useful one- or zero- item iterator. Refactor OptionIterator to support any generic element type, so the same iterator impl can be used for both &T, &mut T and T iterators.
2013-08-05Updated std::Option, std::Either and std::ResultMarvin Löbel-108/+104
- Made naming schemes consistent between Option, Result and Either - Changed Options Add implementation to work like the maybe monad (return None if any of the inputs is None) - Removed duplicate Option::get and renamed all related functions to use the term `unwrap` instead
2013-08-03remove obsolete `foreach` keywordDaniel Micay-1/+1
this has been replaced by `for`
2013-08-03option: mutate() and mutate_default() should return boolKevin Ballard-5/+24
Fixes #8047.
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-3/+1
2013-07-27std: Put the option tests into a tests submoduleErick Tryzelaar-105/+111
2013-07-27std: fix the casing of option::{Some,None} in the docsErick Tryzelaar-6/+6
2013-07-24auto merge of #7931 : blake2-ppc/rust/chain-mut-ref, r=pcwaltonbors-12/+23
First, clean up the uses of "None" and "Some" to always use consistent title case matching the variant names. Add .chain_mut_ref() which is a missing method. A use case example for this method is extraction of an optional value from an Option\<Container\> value.
2013-07-23std: rename str.as_buf to as_imm_buf, add str.as_mut_bufErick Tryzelaar-2/+2
2013-07-23std: move str::as_buf into StrSliceErick Tryzelaar-3/+2
2013-07-20option: Add .chain_mut_ref()blake2-ppc-0/+11
.chain_mut_ref() is the mutable alternative to .chain_ref(). A use case example for this method is extraction of an optional value from an Option<Container> value.
2013-07-20option: Title-case `Some` and `None` in docs and fail messagesblake2-ppc-12/+12
For accuracy, say 'get_ref None' instead of 'get_ref none', and so on.
2013-07-20(cleanup) impl TaskSetBen Blum-0/+7
2013-07-20Add option::take(), the building block of the option::take_* family.Ben Blum-3/+9
2013-07-20Add Option::take_map{,_default}()Ben Blum-0/+14
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-7/+5
2013-07-16Rename Option swap_unwrap to take_unwrap. Fixes Issue#7764Austin King-7/+7
2013-07-09std: Implement `Iterator::size_hint` method for `Option` iteratorsAndrew Paseltiner-0/+50
2013-06-29Implement `map_mut` on the Option typeAlex Crichton-2/+8
Closes #7394
2013-06-29Removing a lot of usage of '&const'Alex Crichton-2/+2
2013-06-27util: make NonCopyable 0 size (instead of 1 byte)Daniel Micay-1/+1
this also adds a derived Eq, TotalEq, Ord and TotalOrd along with removing the useless constructor
2013-06-25Change finalize -> drop.Luqman Aden-1/+1