1. 22 7月, 2014 1 次提交
  2. 17 7月, 2014 1 次提交
  3. 16 7月, 2014 1 次提交
  4. 12 7月, 2014 1 次提交
  5. 10 7月, 2014 1 次提交
  6. 09 7月, 2014 1 次提交
  7. 06 7月, 2014 1 次提交
  8. 01 7月, 2014 1 次提交
  9. 29 6月, 2014 1 次提交
    • P
      librustc: Match trait self types exactly. · 05e3248a
      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]
      05e3248a
  10. 28 6月, 2014 1 次提交
  11. 26 6月, 2014 1 次提交
  12. 25 6月, 2014 1 次提交
    • N
      librustc: Remove the fallback to `int` from typechecking. · 9e3d0b00
      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]
      9e3d0b00
  13. 19 6月, 2014 1 次提交
  14. 18 6月, 2014 1 次提交
  15. 16 6月, 2014 1 次提交
  16. 14 6月, 2014 1 次提交
    • H
      getopts: format failure messages with `Show`. · 0642cbbd
      Huon Wilson 提交于
      This obsoletes the old `to_err_msg` method. Replace
      
          println!("Error: {}", failure.to_err_msg())
      
          let string = failure.to_err_msg();
      
      with
      
          println!("Error: {}", failure)
      
          let string = failure.to_str();
      
      [breaking-change]
      0642cbbd
  17. 12 6月, 2014 1 次提交
    • A
      rustc: Remove ~[T] from the language · 3316b1eb
      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.
      3316b1eb
  18. 10 6月, 2014 1 次提交
  19. 06 6月, 2014 2 次提交
  20. 02 6月, 2014 1 次提交
    • A
      std: Drop Total from Total{Eq,Ord} · bba701c5
      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]
      bba701c5
  21. 01 6月, 2014 1 次提交
  22. 31 5月, 2014 1 次提交
    • A
      std: Rename {Eq,Ord} to Partial{Eq,Ord} · 748bc3ca
      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]
      748bc3ca
  23. 28 5月, 2014 3 次提交
  24. 27 5月, 2014 1 次提交
  25. 25 5月, 2014 1 次提交
  26. 23 5月, 2014 2 次提交
  27. 22 5月, 2014 2 次提交
  28. 20 5月, 2014 1 次提交
    • C
      test: index shards at 1, not 0 · 2eeb4992
      Corey Richardson 提交于
      This has no tests because it's near impossible to test -- since TestFn uses
      `proc`s, they can not be cloned or tested for equality. The only way to really
      test this is making sure that for a given number of shards `a`, sharding from
      1 to `a` yields the complete set of tests. But `filter_tests` takes its vector
      by value and `proc`s cannot be compared.
      
      [breaking-change]
      
      Closes #10898
      2eeb4992
  29. 17 5月, 2014 4 次提交
  30. 15 5月, 2014 3 次提交
    • H
      test: ensure that the extended usage description gets printed. · b1ee3200
      Huon Wilson 提交于
      Previously the longer hand-written usage string was never being printed:
      theoretically it was trying to detect when precisely `--help` was
      passed (but not `-h`), but the getopts framework was considering a check
      for the presence of `-h` to be a check for that of `--help` too,
      i.e. the code was always going through the `-h` path.
      
      This changes it to print the extended usage for both `-h` and `--help`,
      meaning that it does actually appear correctly.
      b1ee3200
    • H
      test: allow the test filter to be a regex. · 19f91816
      Huon Wilson 提交于
      This is fully backwards compatible, since test names are Rust
      identifiers + `:`, and hence not special regex characters.
      
      Fixes #2866.
      19f91816
    • H
      test: implement a no-alloc -> &str method for TestName. · 2f0f017d
      Huon Wilson 提交于
      This is far cheaper than the `.to_str` technique that was used previously.
      2f0f017d