1. 06 2月, 2018 8 次提交
  2. 05 2月, 2018 15 次提交
  3. 04 2月, 2018 17 次提交
    • K
      Rollup merge of #47978 - eddyb:iu, r=kennytm · 393cd892
      kennytm 提交于
      ui tests: diff from old (expected) to new (actual) instead of backwards.
      
      Previously `actual` was "old" and `expected` was "new" which resulted in `+` before `-`.
      AFAIK all diff tools put `-` before `+`, which made the previous behavior *very confusing*.
      
      r? @nikomatsakis
      393cd892
    • K
      Rollup merge of #47958 - frewsxcv:frewsxcv-try-clone, r=aidanhs · e58cff2a
      kennytm 提交于
      Clarify shared file handler behavior of File::try_clone.
      
      Fixes https://github.com/rust-lang/rust/issues/46578.
      e58cff2a
    • K
      Rollup merge of #47947 - goodmanjonathan:stabilize_match_beginning_vert, r=petrochenkov · 1439c2ac
      kennytm 提交于
      Stabilize feature(match_beginning_vert)
      
      With this feature stabilized, match expressions can optionally have a `|` at the beginning of each arm.
      
      Reference PR: rust-lang-nursery/reference#231
      
      Closes #44101
      1439c2ac
    • K
      Rollup merge of #47912 - cuviper:glibc-stack-guard, r=alexcrichton · 8b8c6ee7
      kennytm 提交于
      Use a range to identify SIGSEGV in stack guards
      
      Previously, the `guard::init()` and `guard::current()` functions were
      returning a `usize` address representing the top of the stack guard,
      respectively for the main thread and for spawned threads.  The `SIGSEGV`
      handler on `unix` targets checked if a fault was within one page below that
      address, if so reporting it as a stack overflow.
      
      Now `unix` targets report a `Range<usize>` representing the guard memory,
      so it can cover arbitrary guard sizes.  Non-`unix` targets which always
      return `None` for guards now do so with `Option<!>`, so they don't pay any
      overhead.
      
      For `linux-gnu` in particular, the previous guard upper-bound was
      `stackaddr + guardsize`, as the protected memory was *inside* the stack.
      This was a glibc bug, and starting from 2.27 they are moving the guard
      *past* the end of the stack.  However, there's no simple way for us to know
      where the guard page actually lies, so now we declare it as the whole range
      of `stackaddr ± guardsize`, and any fault therein will be called a stack
      overflow.  This fixes #47863.
      8b8c6ee7
    • K
      Rollup merge of #47896 -... · 349115ef
      kennytm 提交于
      Rollup merge of #47896 - zackmdavis:and_the_case_of_the_necessary_unnecessary_parens, r=nikomatsakis
      
      decline to lint technically-unnecessary parens in function or method arguments inside of nested macros
      
      In #46980 ("in which the unused-parens lint..." (14982db2)), the
      unused-parens lint was made to check function and method arguments,
      which it previously did not (seemingly due to oversight rather than
      willful design). However, in #47775 and discussion thereon,
      user–developers of Geal/nom and graphql-rust/juniper reported that the
      lint was seemingly erroneously triggering on certain complex macros in
      those projects. While this doesn't seem like a bug in the lint in the
      particular strict sense that the expanded code would, in fact, contain
      unncecessary parentheses, it also doesn't seem like the sort of thing
      macro authors should have to think about: the spirit of the
      unused-parens lint is to prevent needless clutter in code, not to give
      macro authors extra heartache in the handling of token trees.
      
      We propose the expediency of declining to lint unused parentheses in
      function or method args inside of nested expansions: we believe that
      this should eliminate the petty, troublesome lint warnings reported
      in the issue, without forgoing the benefits of the lint in simpler
      macros.
      
      It seemed like too much duplicated code for the `Call` and `MethodCall`
      match arms to duplicate the nested-macro check in addition to each
      having their own `for` loop, so this occasioned a slight refactor so
      that the function and method cases could share code—hopefully the
      overall intent is at least no less clear to the gentle reader.
      
      This is concerning #47775.
      349115ef
    • K
      Rollup merge of #47877 - spastorino:lifetime-bounds-in-copy, r=nikomatsakis · f3dc7560
      kennytm 提交于
      Do not ignore lifetime bounds in Copy impls
      
      cc #29149
      
      r? @nikomatsakis
      f3dc7560
    • K
      Rollup merge of #47862 - GuillaumeGomez:const-evaluation-ice, r=eddyb · 68698637
      kennytm 提交于
      Fix const evaluation ICE in rustdoc
      
      Fixes #47860.
      
      r? @EddyB
      68698637
    • J
      Remove 'the this' in doc comments. · f168700b
      Jay Strict 提交于
      f168700b
    • B
      Auto merge of #47834 - Mark-Simulacrum:no-cgu-release, r=alexcrichton · 0c6091fb
      bors 提交于
      Do not enable ThinLTO on stable, beta, or nightly builds.
      
      Fixes #45444
      0c6091fb
    • J
    • B
      Auto merge of #47991 - nrc:update, r=alexcrichton · 3986539d
      bors 提交于
      Update RLS and Rustfmt
      
      r? @alexcrichton
      3986539d
    • S
      Remove delay_span_bug() in check_aliasability · 3d114c7f
      Seiichi Uchida 提交于
      This path was considered to be unreachable. However,
      `&mut` could potentially live inside `static`.
      For example, `static TAB: [&mut [u8]; 0] = [];`.
      3d114c7f
    • B
      Auto merge of #47915 - eddyb:layout-of, r=nikomatsakis · 9af374ab
      bors 提交于
      rustc: prefer ParamEnvAnd and LayoutCx over tuples for LayoutOf.
      
      This PR provides `tcx.layout_of(param_env.and(ty))` as the idiomatic replacement for the existing `(tcx, param_env).layout_of(ty)` and removes fragile (coherence-wise) layout-related tuple impls.
      
      r? @nikomatsakis
      9af374ab
    • N
      Update RLS and Rustfmt · cec82c1b
      Nick Cameron 提交于
      cec82c1b
    • M
      Disable ThinLTO for dist builds. · e1f04c04
      Mark Simulacrum 提交于
      Dist builds should always be as fast as we can make them, and since
      those run on CI we don't care quite as much for the build being somewhat
      slower. As such, we don't automatically enable ThinLTO on builds for the
      dist builders.
      e1f04c04
    • B
      Auto merge of #47845 - Zoxc:gen-fixes, r=nikomatsakis · 3d292b79
      bors 提交于
      Generator bugfixes
      
      r? @nikomatsakis
      3d292b79
    • C