1. 04 12月, 2019 18 次提交
  2. 03 12月, 2019 22 次提交
    • B
      Auto merge of #66982 - Centril:rollup-yq2281i, r=Centril · f577b0ef
      bors 提交于
      Rollup of 6 pull requests
      
      Successful merges:
      
       - #66148 (Show the sign for signed ops on `exact_div`)
       - #66651 (Add `enclosing scope` parameter to `rustc_on_unimplemented`)
       - #66904 (Adding docs for keyword match, move)
       - #66935 (syntax: Unify macro and attribute arguments in AST)
       - #66941 (Remove `ord` lang item)
       - #66967 (Remove hack for top-level or-patterns in match checking)
      
      Failed merges:
      
      r? @ghost
      f577b0ef
    • M
      Rollup merge of #66967 - Nadrieril:remove-or-pat-hack, r=varkor · bce77980
      Mazdak Farrokhzad 提交于
      Remove hack for top-level or-patterns in match checking
      
      Follow-up to #66612.
      
      Or-patterns are now truly first-class in match checking. As a side-effect, redundant subpatterns are linted as such, making the `unreachable_patterns` lint a bit more general.
      
      cc #54883
      
      r? @varkor
      bce77980
    • M
      Rollup merge of #66941 - CAD97:nord, r=Dylan-DPC · 1303bf2f
      Mazdak Farrokhzad 提交于
      Remove `ord` lang item
      
      At this point it seems to be unused, and just `partial_ord` is used instead. This removes the unused lang item.
      1303bf2f
    • M
      Rollup merge of #66935 - petrochenkov:attrtok2, r=Centril · cf937fa8
      Mazdak Farrokhzad 提交于
      syntax: Unify macro and attribute arguments in AST
      
      The unified form (`ast::MacArgs`) represents parsed arguments instead of an unstructured token stream that was previously used for attributes.
      It also tracks some spans and delimiter kinds better for fn-like macros and macro definitions.
      
      I've been talking about implementing this with @nnethercote in https://github.com/rust-lang/rust/pull/65750#issuecomment-546517322.
      The parsed representation is closer to `MetaItem` and requires less token juggling during conversions, so it potentially may be faster.
      
      r? @Centril
      cf937fa8
    • M
      Rollup merge of #66904 - DevinR528:keyword-doc, r=Dylan-DPC · 01345d65
      Mazdak Farrokhzad 提交于
      Adding docs for keyword match, move
      
      Partial fix of issue #34601.
      01345d65
    • M
      Rollup merge of #66651 - Areredify:on-unimplemented-scope, r=davidtwco · 8dacfc2a
      Mazdak Farrokhzad 提交于
      Add `enclosing scope` parameter to `rustc_on_unimplemented`
      
      Adds a new parameter to `#[rustc_on_unimplemented]`, `enclosing scope`, which highlights the function or closure scope with a message.
      
      The wip part refers to adding this annotation to `Try` trait to improve ergonomics (which I don't know how to do since I change both std and librustc)
      
      Closes #61709.
      8dacfc2a
    • M
      Rollup merge of #66148 - oli-obk:it_must_be_a_sign, r=RalfJung · 3045d222
      Mazdak Farrokhzad 提交于
      Show the sign for signed ops on `exact_div`
      
      r? @RalfJung Cc https://github.com/rust-lang/miri/pull/961/files#r341842128
      
      I'm fairly unhappy with the duplication and the general effort required for this.
      
      Maybe it would be better to add a `display` impl for `ImmTy`?
      3045d222
    • B
      Auto merge of #66947 - matthiaskrgr:submodule_upd, r=oli-obk · 7d808659
      bors 提交于
      submodules: update clippy from 7b8e8293 to 45196cee
      
      Changes:
      ````
      account for external macro in MISSING_INLINE_IN_PUBLIC_ITEMS lint
      build(tests/fmt): use shared target dir
      chore: fix and split some ui tests on 32bit system
      build: set up build job for i686 targets
      remove needless my_lint ui test
      git quiet
      deploy: cd to out/ before adding files to git
      Less needless_doctest_main false positives
      fmt
      Feed the dog
      Use rustc_env instead of exec_env for test
      Make triggering this lint less likely 📎
      Use exec_env to set backtrace level and normalize output
      Update custom ICE function with latest rustc
      Use Clippy version in ICE message
      Add custom ICE message that points to Clippy repo
      Fix master deployment
      Run update_lints
      Add projections check to EUV for escape analysis
      Use infer_ctxt
      Move use_self to nursery
      Use `println!` on success instead of `eprintln!`
      Revert "Disable chalk integration test. Output too large"
      Remove the old integration-tests.sh script
      Use rust implementation for integration tests in CI
      Rust implementation of integration test
      Don't error on clippy.toml of dependencies
      Fix categorizations
      Fix arguments on ExprUseVisitor::new
      euv moved from middle to typeck
      cmt_ -> Place
      build: check if RTIM is not installed
      make use of Result::map_or
      trigger string_lit_as_bytes when literal has escapes
      Remove negative float literal checks.
      Enable deny-warnings feature everywhere in CI
      Remove unused debugging feature
      implemented `as_conversions` lint
      fixing a typo
      [comparison_chain] #4827 Check `core::cmp::Ord` is implemented
      add a good example for the approx_const lint
      Add suggested good cases in docs for lifetimes lint
      ````
      Fixes #66840
      7d808659
    • B
      Auto merge of #66256 - CAD97:patch-2, r=RalfJung · 4787e974
      bors 提交于
      Layout::pad_to_align is infallible
      
      As per [this comment](https://github.com/rust-lang/rust/issues/55724#issuecomment-441421651) (cc @glandium).
      
      > Per https://github.com/rust-lang/rust/blob/eb981a1/src/libcore/alloc.rs#L63-L65, `layout.size()` is always <= `usize::MAX - (layout.align() - 1)`.
      >
      > Which means:
      >
      > * The maximum value `layout.size()` can have is already aligned for `layout.align()` (`layout.align()` being a power of two, `usize::MAX - (layout.align() - 1)` is a multiple of `layout.align()`)
      > * Incidentally, any value smaller than that maximum value will align at most to that maximum value.
      >
      > IOW, `pad_to_align` can not return `Err(LayoutErr)`, except for the layout not respecting its invariants, but we shouldn't care about that.
      
      This PR makes `pad_to_align` return `Layout` directly, representing the fact that it cannot fail.
      4787e974
    • M
      submodules: update clippy from 7b8e8293 to 7a943a9d · f77104b4
      Matthias Krüger 提交于
      Changes:
      ````
      Normalize custom ICE test
      Rustup to rust-lang/rust#64736
      Use assert_crate_local for a more explicit error
      Rustup to https://github.com/rust-lang/rust/pull/66789
      account for external macro in MISSING_INLINE_IN_PUBLIC_ITEMS lint
      build(tests/fmt): use shared target dir
      chore: fix and split some ui tests on 32bit system
      build: set up build job for i686 targets
      remove needless my_lint ui test
      git quiet
      deploy: cd to out/ before adding files to git
      Less needless_doctest_main false positives
      fmt
      Feed the dog
      Use rustc_env instead of exec_env for test
      Make triggering this lint less likely 📎
      Use exec_env to set backtrace level and normalize output
      Update custom ICE function with latest rustc
      Use Clippy version in ICE message
      Add custom ICE message that points to Clippy repo
      Fix master deployment
      Run update_lints
      Add projections check to EUV for escape analysis
      Use infer_ctxt
      Move use_self to nursery
      Use `println!` on success instead of `eprintln!`
      Revert "Disable chalk integration test. Output too large"
      Remove the old integration-tests.sh script
      Use rust implementation for integration tests in CI
      Rust implementation of integration test
      Don't error on clippy.toml of dependencies
      Fix categorizations
      Fix arguments on ExprUseVisitor::new
      euv moved from middle to typeck
      cmt_ -> Place
      build: check if RTIM is not installed
      make use of Result::map_or
      trigger string_lit_as_bytes when literal has escapes
      Remove negative float literal checks.
      Enable deny-warnings feature everywhere in CI
      Remove unused debugging feature
      implemented `as_conversions` lint
      fixing a typo
      [comparison_chain] #4827 Check `core::cmp::Ord` is implemented
      add a good example for the approx_const lint
      Add suggested good cases in docs for lifetimes lint
      ````
      f77104b4
    • V
      Address review comments · 498737c8
      Vadim Petrochenkov 提交于
      498737c8
    • V
    • V
      syntax: Use `ast::MacArgs` for macro definitions · 53789553
      Vadim Petrochenkov 提交于
      53789553
    • V
      syntax: Use `ast::MacArgs` for attributes · 1a496f33
      Vadim Petrochenkov 提交于
      1a496f33
    • V
      syntax: Remove redundant span from `ast::Mac` · 0fac5671
      Vadim Petrochenkov 提交于
      Also remove a couple of redundant `visit_mac` asserts
      0fac5671
    • V
      a81804b4
    • N
      Remove top-level or-pattern hack · 1c1bec2f
      Nadrieril 提交于
      1c1bec2f
    • N
      Move recently changed tests to the correct file · ef087d96
      Nadrieril 提交于
      ef087d96
    • N
      Correct error on partially unreachable or-pat in `if let` · a476af22
      Nadrieril 提交于
      a476af22
    • N
      Lint for redundant branches in or-patterns · 5c7bd52a
      Nadrieril 提交于
      5c7bd52a
    • N
      Add some tests · 00ccadf4
      Nadrieril 提交于
      00ccadf4
    • N
      Simplify lifetimes by allocating patterns on the arena · e6aa9624
      Nadrieril 提交于
      We want the lifetimes of the patterns contained in the matrix and the
      candidate `PatStack` to be the same so that they can be mixed together.
      A lot of this would not be necessary if `SmallVec` was covariant in its
      type argument (see https://github.com/servo/rust-smallvec/issues/146).
      e6aa9624