1. 26 11月, 2020 22 次提交
  2. 25 11月, 2020 18 次提交
    • A
      Fix persisted doctests on Windows / when using workspaces · 1d587d8c
      Arpad Borsos 提交于
      When using the unstable `--persist-doctests` option,
      Windows path separators were not escaped properly. Also when running
      the command in a workspace, crate files can overwrite each other.
      
      Before: `src\lib_rs_1_0\rust_out`
      After: `\crate_a_src_lib_rs_1_0\rust_out`, `\crate_b_src_lib_rs_1_0\rust_out`
      1d587d8c
    • B
      Auto merge of #79400 - camelid:rustdoc-summary_opts, r=GuillaumeGomez · 36018a4d
      bors 提交于
      Add `summary_opts()` for Markdown summary rendering options
      
      We have a similar function `opts()` that is for rendering the main body
      of the documentation, but until now we just constructed the options for
      rendering summaries on the fly. This is a problem if/when we change the
      enabled options since the different places can get out-of-sync.
      36018a4d
    • G
      d61ea568
    • B
      Auto merge of #79397 - camelid:polonious-incr-comp, r=jonas-schievink · 20dcbf0d
      bors 提交于
      TRACK '-Z polonius' flag
      
      Fixes #79316.
      
      r? `@jonas-schievink`
      20dcbf0d
    • B
      Auto merge of #79388 - tmiasko:naked-def-only, r=lcnr · 773ddbad
      bors 提交于
      Validate that `#[naked]` is applied to a function definition
      773ddbad
    • B
      Auto merge of #79336 - camelid:rename-feature-oibit-to-auto, r=oli-obk · ec039bd0
      bors 提交于
      Rename `optin_builtin_traits` to `auto_traits`
      
      They were originally called "opt-in, built-in traits" (OIBITs), but
      people realized that the name was too confusing and a mouthful, and so
      they were renamed to just "auto traits". The feature flag's name wasn't
      updated, though, so that's what this PR does.
      
      There are some other spots in the compiler that still refer to OIBITs,
      but I don't think changing those now is worth it since they are internal
      and not particularly relevant to this PR.
      
      Also see <https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/opt-in.2C.20built-in.20traits.20(auto.20traits).20feature.20name>.
      
      r? `@oli-obk` (feel free to re-assign if you're not the right reviewer for this)
      ec039bd0
    • B
      Auto merge of #77491 - lukaslueg:peek_mut, r=m-ou-se · b387f62d
      bors 提交于
      Proposal to add Peekable::peek_mut
      
      A "peekable" iterator has a `peek()`-method which provides an immutable reference to the next item. We currently do not have a method to modify that item, which we could easily add via a `peek_mut()`. See the test for a use-case (alike to my original use case), where a "pristine" iterator is passed on after modifying its state via `peek_mut()`.
      
      If there is interest in this, I can expand on the tests and docs.
      b387f62d
    • C
      TRACK '-Z polonius' flag · c4caf5ad
      Camelid 提交于
      c4caf5ad
    • C
      Add `summary_opts()` for Markdown summary rendering options · 50c2739b
      Camelid 提交于
      We have a similar function `opts()` that is for rendering the main body
      of the documentation, but until now we just constructed the options for
      rendering summaries on the fly. This is a problem if/when we change the
      enabled options since the different places can get out-of-sync.
      50c2739b
    • B
      Auto merge of #76688 - yokodake:patch-2, r=kodrAus · 3f7ccb4c
      bors 提交于
      Document unsafety in core::slice::memchr
      
      Contributes to #66219
      
      Note sure if that's good enough, especially for the `align_to` call.
      The docs only mention transmuting and I don't think that everything related to reference lifetimes and state validity mentioned in the [nomicon](https://doc.rust-lang.org/nomicon/transmutes.html) are relevant here.
      3f7ccb4c
    • R
      Apply suggestions from code review · b5fef37d
      Rich Kadel 提交于
      Co-authored-by: NWesley Wiser <wwiser@gmail.com>
      b5fef37d
    • C
      Use the name "auto traits" everywhere in the compiler · 82dc99ba
      Camelid 提交于
      Goodbye, OIBIT!
      82dc99ba
    • A
      Move lev_distance to rustc_ast, make non-generic · 5481c1bd
      Arlie Davis 提交于
      rustc_ast currently has a few dependencies on rustc_lexer. Ideally, an AST
      would not have any dependency its lexer, for minimizing unnecessarily
      design-time dependencies. Breaking this dependency would also have practical
      benefits, since modifying rustc_lexer would not trigger a rebuild of rustc_ast.
      
      This commit does not remove the rustc_ast --> rustc_lexer dependency,
      but it does remove one of the sources of this dependency, which is the
      code that handles fuzzy matching between symbol names for making suggestions
      in diagnostics. Since that code depends only on Symbol, it is easy to move
      it to rustc_span. It might even be best to move it to a separate crate,
      since other tools such as Cargo use the same algorithm, and have simply
      contain a duplicate of the code.
      
      This changes the signature of find_best_match_for_name so that it is no
      longer generic over its input. I checked the optimized binaries, and this
      function was duplicated at nearly every call site, because most call sites
      used short-lived iterator chains, generic over Map and such. But there's
      no good reason for a function like this to be generic, since all it does
      is immediately convert the generic input (the Iterator impl) to a concrete
      Vec<Symbol>. This has all of the costs of generics (duplicated method bodies)
      with no benefit.
      
      Changing find_best_match_for_name to be non-generic removed about 10KB of
      code from the optimized binary. I know it's a drop in the bucket, but we have
      to start reducing binary size, and beginning to tame over-use of generics
      is part of that.
      5481c1bd
    • T
      Validate use of parameters in naked functions · 22d34312
      Tomasz Miąsko 提交于
      * Reject use of parameters inside naked function body.
      * Reject use of patterns inside function parameters, to emphasize role
        of parameters a signature declaration (mirroring existing behaviour
        for function declarations) and avoid generating code introducing
        specified bindings.
      22d34312
    • A
      Invoke attributes on the statement for statement items · 9c9f4065
      Aaron Hill 提交于
      9c9f4065
    • B
      Auto merge of #78548 - camelid:driver-tty, r=oli-obk · 1c389ffe
      bors 提交于
      driver: Only output ANSI logging if connected to a terminal
      
      Fixes #78435.
      
      See #78435 for more.
      
      Cc `@RalfJung` `@oli-obk`
      1c389ffe
    • R
      Check for LLVM 11+ when using `-Z instrument-coverage` · 51268d27
      Rich Kadel 提交于
      * `rustc` should now compile under LLVM 9 or 10
      * Compiler generates an error if `-Z instrument-coverage` is specified
        but LLVM version is less than 11
      * Coverage tests that require `-Z instrument-coverage` and run codegen
        should be skipped if LLVM version is less than 11
      51268d27
    • A
      Handle `Annotatable::Stmt` in some builtin macros · e9546bdb
      Aaron Hill 提交于
      This is preparation for PR #78296, which will require us to handle
      statement items in addition to normal items.
      e9546bdb