1. 29 6月, 2017 8 次提交
  2. 28 6月, 2017 8 次提交
    • B
      Auto merge of #42819 - scottmcm:swap-nonoverlapping, r=sfackler · 47faf1d5
      bors 提交于
      Reuse the mem::swap optimizations to speed up slice::rotate
      
      This is most helpful for compound types where LLVM didn't vectorize the loop.  Highlight: bench slice::rotate_medium_by727_strings gets 38% faster.
      
      Exposes the swapping logic from PR https://github.com/rust-lang/rust/pull/40454 as `pub unsafe fn ptr::swap_nonoverlapping` under library feature `swap_nonoverlapping` https://github.com/rust-lang/rust/issues/42818.
      
      (The new method seemed plausible, and was the simplest way to share the logic.  I'm not attached to it, though, so let me know if a different way would be better.)
      47faf1d5
    • B
      Auto merge of #42745 - sfackler:1.19-stabilization, r=alexcrichton · c1693076
      bors 提交于
      1.19 stabilization
      
      r? @alexcrichton
      c1693076
    • B
      Auto merge of #42931 - arielb1:statement-visitor, r=eddyb · 6b52a116
      bors 提交于
      re-add the call to `super_statement` in EraseRegions
      
      The move gathering code is sensitive to type-equality - that is rather
      un-robust and I plan to fix it eventually, but that's a more invasive
      change. And we want to fix the visitor anyway.
      
      Fixes #42903.
      
      r? @EddyB
      6b52a116
    • A
      re-add the call to `super_statement` in EraseRegions · 71abfa7b
      Ariel Ben-Yehuda 提交于
      The move gathering code is sensitive to type-equality - that is rather
      un-robust and I plan to fix it eventually, but that's a more invasive
      change. And we want to fix the visitor anyway.
      
      Fixes #42903.
      71abfa7b
    • B
      Auto merge of #42709 - stepancheg:discriminant-hash, r=jseyfried · 5bc89416
      bors 提交于
      deriv(Hash) for single-variant enum should not hash discriminant
      
      Fixes #39137
      5bc89416
    • B
      Auto merge of #42431 - nagisa:core-float-2, r=alexcrichton · 88c3242e
      bors 提交于
      Fix NaN handling in is_sign_negative/positive
      
      This would be my proposed fix for the #42425 provided we decide it is indeed a problem.
      
      Note this would technically be a breaking change to a stable API. We might want to consider deprecating these methods and adding new ones.
      88c3242e
    • B
      Auto merge of #42417 - eddyb:separate-fn-sig, r=nikomatsakis · 4079e612
      bors 提交于
      Don't drag function signatures along function item types.
      
      This PR separates the signature of a function from the "function item type" (`TyFnDef`), leaving only the `DefId` and parameter `Substs`, making them even more like (captureless) closure types.
      
      The motivation for this change is reducing typesystem complexity, and its consequences:
      * operating on the signature instead of just the parameters was less efficient
        * specifically, signatures can easily add several levels of depth on top of the parameter types
        * and the signatured were always substituted and normalized, so typically even more complex
      * it was *the only* type that was *both* nominal (identity) and structural (signature)
        * harder to model in Chalk than either a purely nominal or structural type
        * subtyping worked on the signature but parameters were always invariant
        * call type-checking was transforming signatures but keeping the nominal half intact
        * the signature could therefore get out of sync during type inference in several ways
      
      That last point comes with a `[breaking-change]`, because functions with `'static` in their return types will now *not* be as usable as if they were using lifetime parameters instead:
      ```rust
      // Will cause lifetime mismatch in main after this PR.
      fn bar() -> &'static str { "bar" }
      // Will continue to work fine, as every use can choose its own lifetime.
      fn bar<'a>() -> &'a str { "bar" }
      
      fn main() {
          let s = String::from("foo");
          Some(&s[..]).unwrap_or_else(bar);
      }
      ```
      
      r? @nikomatsakis
      4079e612
    • E
      Review comments · 7dad2958
      Esteban Küber 提交于
      - Fix typo
      - Add docstring
      - Remove spurious test output file
      7dad2958
  3. 27 6月, 2017 13 次提交
  4. 26 6月, 2017 3 次提交
  5. 25 6月, 2017 8 次提交