about summary refs log tree commit diff
path: root/src/libsemver
AgeCommit message (Collapse)AuthorLines
2014-02-25Exclude build metadata from equality checking.OGINO Masanori-13/+25
Build metadata is already excluded from precedence checking in line with the spec. For consistency and providing strict total ordering for Version, build metadata should also be ignored in Eq impl. Closes #12438 Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2014-02-23Remove all ToStr impls, add Show implsAlex Crichton-15/+0
This commit changes the ToStr trait to: impl<T: fmt::Show> ToStr for T { fn to_str(&self) -> ~str { format!("{}", *self) } } The ToStr trait has been on the chopping block for quite awhile now, and this is the final nail in its coffin. The trait and the corresponding method are not being removed as part of this commit, but rather any implementations of the `ToStr` trait are being forbidden because of the generic impl. The new way to get the `to_str()` method to work is to implement `fmt::Show`. Formatting into a `&mut Writer` (as `format!` does) is much more efficient than `ToStr` when building up large strings. The `ToStr` trait forces many intermediate allocations to be made while the `fmt::Show` trait allows incremental buildup in the same heap allocated buffer. Additionally, the `fmt::Show` trait is much more extensible in terms of interoperation with other `Writer` instances and in more situations. By design the `ToStr` trait requires at least one allocation whereas the `fmt::Show` trait does not require any allocations. Closes #8242 Closes #9806
2014-02-20Mass rename if_ok! to try!Alex Crichton-7/+7
This "bubble up an error" macro was originally named if_ok! in order to get it landed, but after the fact it was discovered that this name is not exactly desirable. The name `if_ok!` isn't immediately clear that is has much to do with error handling, and it doesn't look fantastic in all contexts (if if_ok!(...) {}). In general, the agreed opinion about `if_ok!` is that is came in as subpar. The name `try!` is more invocative of error handling, it's shorter by 2 letters, and it looks fitting in almost all circumstances. One concern about the word `try!` is that it's too invocative of exceptions, but the belief is that this will be overcome with documentation and examples. Close #12037
2014-02-08auto merge of #12109 : omasanori/rust/small-fixes, r=sfacklerbors-13/+0
Most of them are to reduce warnings in testing builds.
2014-02-08Remove redundant Ord implementation for Version.OGINO Masanori-13/+0
I've forgot why we keep them, so let me know if you know their reason for existing. Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2014-02-08std::fmt: convert the formatting traits to a proper self.Huon Wilson-12/+13
Poly and String have polymorphic `impl`s and so require different method names.
2014-02-07Implement std::fmt::Show for semver::{Identifier, Version}Brendan Zabarauskas-15/+51
2014-02-07Make semver::Version fields publicBrendan Zabarauskas-5/+5
2014-02-03Move semver out of libextra.OGINO Masanori-0/+428
Done as a part of #8784. Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>