- 18 11月, 2014 1 次提交
-
-
由 Alexis Beingessner 提交于
-
- 17 11月, 2014 1 次提交
-
-
由 Steven Fackler 提交于
This breaks code that referred to variant names in the same namespace as their enum. Reexport the variants in the old location or alter code to refer to the new locations: ``` pub enum Foo { A, B } fn main() { let a = A; } ``` => ``` pub use self::Foo::{A, B}; pub enum Foo { A, B } fn main() { let a = A; } ``` or ``` pub enum Foo { A, B } fn main() { let a = Foo::A; } ``` [breaking-change]
-
- 14 11月, 2014 1 次提交
-
-
由 Brendan Zabarauskas 提交于
-
- 13 11月, 2014 1 次提交
-
-
由 Brendan Zabarauskas 提交于
The methods have been moved into Float and SignedInt
-
- 12 11月, 2014 3 次提交
-
-
由 Brendan Zabarauskas 提交于
-
由 Brendan Zabarauskas 提交于
-
由 Brendan Zabarauskas 提交于
-
- 08 11月, 2014 1 次提交
-
-
由 gamazeps 提交于
In order to upgrade, simply rename the Extendable trait to Extend in your code Part of #18424 [breaking-change]
-
- 31 10月, 2014 1 次提交
-
-
由 Jakub Bukaj 提交于
Implements a part of RFC 235. [breaking-change]
-
- 20 10月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
Spring cleaning is here! In the Fall! This commit removes quite a large amount of deprecated functionality from the standard libraries. I tried to ensure that only old deprecated functionality was removed. This is removing lots and lots of deprecated features, so this is a breaking change. Please consult the deprecation messages of the deleted code to see how to migrate code forward if it still needs migration. [breaking-change]
-
- 14 10月, 2014 1 次提交
-
-
由 Ms2ger 提交于
-
- 26 9月, 2014 1 次提交
-
-
由 Steven Fackler 提交于
The for loop would *always* exaust the iterator previously, which seems like behavior that was not intended. It's still kind of a weird function.
-
- 24 9月, 2014 1 次提交
-
-
由 Corey Ford 提交于
OrdIterator: the doc says that values must implement `PartialOrd`, while the implementation is only for `Ord` values. It looks like this initially got out of sync in 4e1c2158. Removed the doc sentence entirely since it seems redundant. MultiplicativeIterator: Fixed weird sentence.
-
- 23 9月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
This breaks code like: struct Foo { ... } pub fn make_foo() -> Foo { ... } Change this code to: pub struct Foo { // note `pub` ... } pub fn make_foo() -> Foo { ... } The `visible_private_types` lint has been removed, since it is now an error to attempt to expose a private type in a public API. In its place a `#[feature(visible_private_types)]` gate has been added. Closes #16463. RFC #48. [breaking-change]
-
- 17 9月, 2014 1 次提交
-
-
由 Aaron Turon 提交于
-
- 14 9月, 2014 1 次提交
-
-
由 Steve Klabnik 提交于
This isn't really what guides are for, this information belongs in the module-level docs. Fixes #9314.
-
- 08 9月, 2014 1 次提交
-
-
由 Jonas Hietala 提交于
Breaks `iterate(f, seed)`, use `iterate(seed, f)` instead. The convention is to have the closure last. Closes #17066. [breaking-change]
-
- 30 8月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
-
- 29 8月, 2014 1 次提交
-
-
由 Aaron Turon 提交于
-
- 28 8月, 2014 1 次提交
-
-
由 Niko Matsakis 提交于
-
- 24 8月, 2014 1 次提交
-
-
由 root 提交于
Use ExactSize::len() and defer to its decisions about overly defensive assertions. Remove the length double-check and simply put a failure case if the Zip finds an uneven end in .next_back(). Fixing this up since I think I wrote this, and it's been known to confuse rusties (PR#15886).
-
- 06 8月, 2014 1 次提交
-
-
由 Piotr Czarnecki 提交于
Simplifying the code of methods: nth, fold, rposition and iterators: Filter, FilterMap, SkipWhile Adding basic benchmarks
-
- 25 7月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
This makes edge cases in which the `Iterator` trait was not in scope and/or `Option` or its variants were not in scope work properly. This breaks code that looks like: struct MyStruct { ... } impl MyStruct { fn next(&mut self) -> Option<int> { ... } } for x in MyStruct { ... } { ... } Change ad-hoc `next` methods like the above to implementations of the `Iterator` trait. For example: impl Iterator<int> for MyStruct { fn next(&mut self) -> Option<int> { ... } } Closes #15392. [breaking-change]
-
- 23 7月, 2014 1 次提交
-
-
由 Alexis Beingessner 提交于
-
- 22 7月, 2014 1 次提交
- 13 7月, 2014 1 次提交
-
-
由 Jakub Wieczorek 提交于
Implementation by Kevin Ballard. The function returns an Unfold iterator producing an infinite stream of results of repeated applications of the function, starting from the provided seed value.
-
- 10 7月, 2014 2 次提交
-
-
由 Luqman Aden 提交于
-
由 Huon Wilson 提交于
It can be a little unintuitive that something like `v.iter().map(|x| println!("{}", x));` does nothing: the majority of the iterator adaptors are lazy and do not execute anything until something calls `next`, e.g. a `for` loop, `collect`, `fold`, etc. The majority of such errors can be seen by someone writing something like the above, i.e. just calling an iterator adaptor and doing nothing with it (and doing this is certainly useless), so we can co-opt the `must_use` lint, using the message functionality to give a hint to the reason why. Fixes #14666.
-
- 30 6月, 2014 3 次提交
-
-
由 Steven Fackler 提交于
I ended up altering the semantics of Json's PartialOrd implementation. It used to be the case that Null < Null, but I can't think of any reason for an ordering other than the default one so I just switched it over to using the derived implementation. This also fixes broken `PartialOrd` implementations for `Vec` and `TreeMap`. RFC: 0028-partial-cmp
-
由 Steven Fackler 提交于
Libcore's test infrastructure is complicated by the fact that many lang items are defined in the crate. The current approach (realcore/realstd imports) is hacky and hard to work with (tests inside of core::cmp haven't been run for months!). Moving tests to a separate crate does mean that they can only test the public API of libcore, but I don't feel that that is too much of an issue. The only tests that I had to get rid of were some checking the various numeric formatters, but those are also exercised through normal format! calls in other tests.
-
由 Patrick Walton 提交于
floating point numbers for real. This will break code that looks like: let mut x = 0; while ... { x += 1; } println!("{}", x); Change that code to: let mut x = 0i; while ... { x += 1; } println!("{}", x); Closes #15201. [breaking-change]
-
- 29 6月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
This can break code that looked like: impl Foo for Box<Any> { fn f(&self) { ... } } let x: Box<Any + Send> = ...; x.f(); Change such code to: impl Foo for Box<Any> { fn f(&self) { ... } } let x: Box<Any> = ...; x.f(); That is, upcast before calling methods. This is a conservative solution to #5781. A more proper treatment (see the xfail'd `trait-contravariant-self.rs`) would take variance into account. This change fixes the soundness hole. Some library changes had to be made to make this work. In particular, `Box<Any>` is no longer showable, and only `Box<Any+Send>` is showable. Eventually, this restriction can be lifted; for now, it does not prove too onerous, because `Any` is only used for propagating the result of task failure. This patch also adds a test for the variance inference work in #12828, which accidentally landed as part of DST. Closes #5781. [breaking-change]
-
- 25 6月, 2014 1 次提交
-
-
由 Niko Matsakis 提交于
This breaks a fair amount of code. The typical patterns are: * `for _ in range(0, 10)`: change to `for _ in range(0u, 10)`; * `println!("{}", 3)`: change to `println!("{}", 3i)`; * `[1, 2, 3].len()`: change to `[1i, 2, 3].len()`. RFC #30. Closes #6023. [breaking-change]
-
- 15 6月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
This removes all remnants of `@` pointers from rustc. Additionally, this removes the `GC` structure from the prelude as it seems odd exporting an experimental type in the prelude by default. Closes #14193 [breaking-change]
-
- 12 6月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
The following features have been removed * box [a, b, c] * ~[a, b, c] * box [a, ..N] * ~[a, ..N] * ~[T] (as a type) * deprecated_owned_vector lint All users of ~[T] should move to using Vec<T> instead.
-
- 07 6月, 2014 1 次提交
-
-
由 Aaron Turon 提交于
This commit carries out the request from issue #14678: > The method `Iterator::len()` is surprising, as all the other uses of > `len()` do not consume the value. `len()` would make more sense to be > called `count()`, but that would collide with the current > `Iterator::count(|T| -> bool) -> unit` method. That method, however, is > a bit redundant, and can be easily replaced with > `iter.filter(|x| x < 5).count()`. > After this change, we could then define the `len()` method > on `iter::ExactSize`. Closes #14678. [breaking-change]
-
- 02 6月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
This completes the last stage of the renaming of the comparison hierarchy of traits. This change renames TotalEq to Eq and TotalOrd to Ord. In the future the new Eq/Ord will be filled out with their appropriate methods, but for now this change is purely a renaming change. [breaking-change]
-
- 31 5月, 2014 2 次提交
-
-
由 Alex Crichton 提交于
This commit adds the groundwork for the renaming of the Total{Eq,Ord} traits. After this commit hits a snapshot, the traits can be renamed.
-
由 Alex Crichton 提交于
This is part of the ongoing renaming of the equality traits. See #12517 for more details. All code using Eq/Ord will temporarily need to move to Partial{Eq,Ord} or the Total{Eq,Ord} traits. The Total traits will soon be renamed to {Eq,Ord}. cc #12517 [breaking-change]
-
- 22 5月, 2014 1 次提交
-
-
由 Huon Wilson 提交于
-