1. 30 10月, 2020 19 次提交
  2. 29 10月, 2020 21 次提交
    • D
      Fix typos · 3fba9485
      Dániel Buga 提交于
      3fba9485
    • B
      Auto merge of #78446 - RalfJung:box, r=Amanieu · a53fb30e
      bors 提交于
      fix Box::into_unique
      
      https://github.com/rust-lang/rust/pull/77187/ broke Stacked Borrows pointer tagging around `Box::into_unique` (this is caused by `Box` being a special case in the type system, which box-internal code needs to account for). This PR fixes that.
      
      r? `@Amanieu` Cc `@TimDiekmann`
      
      Fixes https://github.com/rust-lang/rust/issues/78419.
      a53fb30e
    • G
      Added test for issue #78498 · 1f6f917f
      Giacomo Stevanato 提交于
      1f6f917f
    • G
    • B
      Auto merge of #78506 - cuviper:ubuntu-lts, r=pietroalbini · ae9731ce
      bors 提交于
      ci: update x86_64-gnu and x86_64-gnu-debug to ubuntu:20.04
      
      The former `ubuntu:19.10` reached EOL in July, 2020, whereas
      `ubuntu:20.04` is an LTS release supported until 2025.
      
      These are non-dist CI images, so the impact should be low.
      ae9731ce
    • B
      Auto merge of #78486 - pietroalbini:manifest-artifacts, r=Mark-Simulacrum · 1d6a0b0c
      bors 提交于
      Include non-rustup artifacts in the manifest
      
      This PR fixes https://github.com/rust-lang/promote-release/issues/22 by including all the files we ship in the generated manifests, even the ones that are not installable through rustup. In practice this adds the following "artifacts":
      
      * `source-code`: the tarball containing the full source code used to build the release (`rustc-{channel}-src.tar.xz`)
      * `installer-msi`: the MSI installer for Windows systems (`rust-{channel}-{target}.msi`)
      * `installer-pkg`: the PKG installer for macOS systems (`rust-{channel}-{target}.pkg`)
      
      These files are included in a new `artifacts` table of the manifest, like so:
      
      ```toml
      [[artifacts.installer-msi.target.aarch64-pc-windows-msvc]]
      url = "https://example.com/2020-10-28/rust-nightly-aarch64-pc-windows-msvc.msi"
      hash-sha256 = "6b41d5b829d20834c5d93628d008ec618f8914ee79303363bd13a86fd5f305dd"
      
      [[artifacts.installer-msi.target.i686-pc-windows-gnu]]
      url = "https://example.com/2020-10-28/rust-nightly-i686-pc-windows-gnu.msi"
      hash-sha256 = "83f020de6e180c155add9fce1cea2ac6e5f744edbd6dc1581e24de8f56b2ca7a"
      
      [[artifacts.installer-msi.target.i686-pc-windows-msvc]]
      url = "https://example.com/2020-10-28/rust-nightly-i686-pc-windows-msvc.msi"
      hash-sha256 = "dbc80c24e9d5df01616c6f216114b4351f51a94218e2368b5cebe4165b270702"
      
      [[artifacts.installer-msi.target.x86_64-pc-windows-gnu]]
      url = "https://example.com/2020-10-28/rust-nightly-x86_64-pc-windows-gnu.msi"
      hash-sha256 = "8196eca3f02d72d4c8776ad4fcc72897125e2cf6404ae933e31c07e197e3c9fa"
      
      [[artifacts.installer-msi.target.x86_64-pc-windows-msvc]]
      url = "https://example.com/2020-10-28/rust-nightly-x86_64-pc-windows-msvc.msi"
      hash-sha256 = "b2e7fd6463790732fcf9c726b9448068712341943199cb40fc11d1138b8a207b"
      
      [[artifacts.installer-pkg.target.aarch64-apple-darwin]]
      url = "https://example.com/2020-10-28/rust-nightly-aarch64-apple-darwin.pkg"
      hash-sha256 = "70421c191752fb33886f8033b029e634bcc993b72308cef52a38405840e91f5c"
      
      [[artifacts.installer-pkg.target.x86_64-apple-darwin]]
      url = "https://example.com/2020-10-28/rust-nightly-x86_64-apple-darwin.pkg"
      hash-sha256 = "ebd7a5acb61e82d85e855146cc9bd856f32228ee7f40dd94c659b00614ed4f1f"
      
      [[artifacts.source-code.target."*"]]
      url = "https://example.com/2020-10-28/rustc-nightly-src.tar.gz"
      hash-sha256 = "5fcc487ee4c15c689de8ddf7daac7ff6a65c80498197b9aea58622dc2b3bca10"
      
      [[artifacts.source-code.target."*"]]
      url = "https://example.com/2020-10-28/rustc-nightly-src.tar.xz"
      hash-sha256 = "0c618ef0ec5f64da1801e9d0df6c755f6ed1a8780ec5c8ee75e55614be51d42c"
      
      ```
      
      Each artifact can be available for multiple targets, and each target can have multiple versions of the same file (for example, a `gz`-compressed one and a `xz`-compressed one). In the future rustup might add functionality to let users retrieve the artifacts, but that's not needed to land this PR, and whether to do the implementation is up to the rustup maintainers.
      
      r? `@kinnison`
      cc `@Mark-Simulacrum`
      1d6a0b0c
    • B
      Auto merge of #78512 - JohnTitor:rollup-a7qwjah, r=JohnTitor · 49720d2b
      bors 提交于
      Rollup of 11 pull requests
      
      Successful merges:
      
       - #77213 (rustdoc options to set default theme (and other settings))
       - #78224 (min_const_generics: allow ty param in repeat expr)
       - #78428 (MinConstGenerics UI test for invalid values for bool & char)
       - #78460 (Adjust turbofish help message for const generics)
       - #78470 (Clean up intra-doc links in `std::path`)
       - #78475 (fix a comment in validity check)
       - #78478 (Add const generics tests for supertraits + dyn traits.)
       - #78487 (Fix typo "compiltest")
       - #78491 (Inline NonZeroN::from(n))
       - #78492 (Update books)
       - #78494 (Fix typos)
      
      Failed merges:
      
      r? `@ghost`
      49720d2b
    • J
      Dogfood {exclusive,half-open} ranges in compiler (nfc) · 0e88db7d
      Jubilee Young 提交于
      In particular, this allows us to write more explicit matches that
      avoid the pitfalls of using a fully general fall-through case, yet
      remain fairly ergonomic. Less logic is in guard cases, more is in
      the actual exhaustive case analysis.
      
      No functional changes.
      0e88db7d
    • Y
      Rollup merge of #78494 - bugadani:typo2, r=jonas-schievink · 30d1d8f5
      Yuki Okushi 提交于
      Fix typos
      30d1d8f5
    • Y
      Rollup merge of #78492 - ehuss:update-books, r=ehuss · 218af6f7
      Yuki Okushi 提交于
      Update books
      
      ## nomicon
      
      7 commits in 6e57e64501f61873ab80cb78a07180a22751a5d6..69333eddb1de92fd17e272ce4677cc983d3bd71d
      2020-09-14 11:40:23 -0400 to 2020-10-17 15:44:12 -0700
      - Tweak GHA config (rust-lang-nursery/nomicon#240)
      - Fix link for `[T]` (rust-lang-nursery/nomicon#239)
      - Update casts.md (rust-lang-nursery/nomicon#232)
      - [WIP] Add more links (rust-lang-nursery/nomicon#180)
      - Data Race definition should be more precise (rust-lang-nursery/nomicon#219)
      - Update the diagnostic of `error[E0597]` in dropck.md (rust-lang-nursery/nomicon#157)
      - fix typo in Lifetimes mutable reference aliasing section (rust-lang-nursery/nomicon#225)
      
      ## reference
      
      3 commits in 1b78182e71709169dc0f1c3acdc4541b6860e1c4..10c16caebe475d0d11bec0531b95d7697856c13c
      2020-10-11 13:53:47 -0700 to 2020-10-25 20:51:26 -0700
      - Add `unsafe` for `mod` and `extern`. (rust-lang-nursery/reference#898)
      - mention how unions interact with dropping (rust-lang-nursery/reference#897)
      - Add `move_ref_pattern` docs (rust-lang-nursery/reference#881)
      
      ## book
      
      2 commits in 451a1e30f2dd137aa04e142414eafb8d05f87f84..13e1c05420bca86ecc79e4ba5b6d02de9bd53c62
      2020-10-05 09:11:18 -0500 to 2020-10-20 14:57:32 -0500
      - Referencing to Appendix B (rust-lang/book#2481)
      - Use GITHUB_PATH instead of add-path (rust-lang/book#2477)
      
      ## rust-by-example
      
      2 commits in 152475937a8d8a1f508d8eeb57db79139bc803d9..99eafee0cb14e6ec641bf02a69d7b30f6058349a
      2020-10-09 09:29:50 -0300 to 2020-10-21 14:21:55 -0300
      - Formatting footer items. (rust-lang/rust-by-example#1385)
      - Add partial moves example for `move_ref_pattern` stabilization (rust-lang/rust-by-example#1377)
      
      ## edition-guide
      
      3 commits in 81f16863014de60b53de401d71ff904d163ee030..7bc9b7a5e800f79df62947cb7d566fd2fbaf19fe
      2020-08-27 13:56:31 -0700 to 2020-10-23 18:31:23 -0500
      - A few small updates. (rust-lang/edition-guide#221)
      - Clarify the limitation of ? in main and tests (rust-lang/edition-guide#219)
      - Update deprecated GitHub Actions commands. (rust-lang/edition-guide#220)
      218af6f7
    • Y
      Rollup merge of #78491 - petertodd:2020-inline-from-nonzero, r=sfackler · c7792230
      Yuki Okushi 提交于
      Inline NonZeroN::from(n)
      
      Currently this results in the generated assembly having a function call for this trivial conversion.
      c7792230
    • Y
      Rollup merge of #78487 - rust-lang:GuillaumeGomez-patch-1, r=steveklabnik · ad101283
      Yuki Okushi 提交于
      Fix typo "compiltest"
      
      Part of #70898.
      ad101283
    • Y
      Rollup merge of #78478 - hameerabbasi:const-generics-supertraits, r=lcnr · 572ea25e
      Yuki Okushi 提交于
      Add const generics tests for supertraits + dyn traits.
      
      Partially addresses #78433
      572ea25e
    • Y
      Rollup merge of #78475 - RalfJung:validity-comment, r=oli-obk · 5e3cc6e9
      Yuki Okushi 提交于
      fix a comment in validity check
      
      A few things changed since that comment was written; update it to the current reality.
      
      r? @oli-obk
      5e3cc6e9
    • Y
      Rollup merge of #78470 - camelid:fixup-std-path-intra-doc, r=jyn514 · 7eb7b5a4
      Yuki Okushi 提交于
      Clean up intra-doc links in `std::path`
      7eb7b5a4
    • Y
      Rollup merge of #78460 - varkor:turbofish-string-generic, r=lcnr · a7a05388
      Yuki Okushi 提交于
      Adjust turbofish help message for const generics
      
      Types are no longer special. (This message arguably only makes sense with `min_const_generics` or more, but we'll be there soon.)
      
      r? @lcnr
      a7a05388
    • Y
      Rollup merge of #78428 - JulianKnodt:invalid_patterns, r=lcnr · 2555e07b
      Yuki Okushi 提交于
      MinConstGenerics UI test for invalid values for bool & char
      
      This adds a test for `feature(min_const_generics)` with some invalid values for bools and chars and ensures that they do not ICE and error with understandable messages.
      
      r? @lcnr
      2555e07b
    • Y
      Rollup merge of #78224 - lcnr:repeat-expr, r=varkor · 270d2e0c
      Yuki Okushi 提交于
      min_const_generics: allow ty param in repeat expr
      
      implements https://rust-lang.zulipchat.com/#narrow/stream/260443-project-const-generics/topic/repeat.20expressions
      
      Even with `min_const_generics` active, now keeps resulting in future compat warnings instead of hard errors.
      Const parameters, for example `[0; N + 1]`, still result in hard errors during resolve.
      ```rust
      #![allow(dead_code)]
      
      fn foo<T>() {
          [0; std::mem::size_of::<*mut T>()];
      }
      
      struct Foo<T>(T);
      
      impl<T> Foo<T> {
          const ASSOC: usize = 4;
      
          fn test() {
              [0; Self::ASSOC];
          }
      }
      ```
      
      r? @varkor cc @petrochenkov
      270d2e0c
    • Y
      Rollup merge of #77213 - ijackson:wip-rustdoc-settings, r=jyn514,GuillaumeGomez · 2008d1bb
      Yuki Okushi 提交于
      rustdoc options to set default theme (and other settings)
      
      Hi.  This is the MR I promised in #77024
      
      It is a little more general than I envisaged there.  Once I had found the settings-handling machinery it seemed foolish to add this feature just for the theme.
      
      Closes #77024
      2008d1bb
    • W
      [resolve] Use `unwrap_or_else` instead of `unwrap_or` in a hot path · 1c1c591c
      Wesley Wiser 提交于
      This improves the performance of the `resolve_crate` function by 30% for
      a very large single file crate with auto-generated C bindings.
      1c1c591c
    • B
      Auto merge of #78430 - Nadrieril:taking-constructors-seriously2, r=varkor · f9187ada
      bors 提交于
      Clarify main code paths in exhaustiveness checking
      
      This PR massively clarifies the main code paths of exhaustiveness checking, by using the `Constructor` enum to a fuller extent. I've been itching to write it for more than a year, but the complexity of matching consts had prevented me. Behold a massive simplification :D.
      This in particular removes a fair amount of duplication between various parts, localizes code into methods of relevant types when applicable, makes some implicit assumptions explicit, and overall improves legibility a lot (or so I hope). Additionally, after my changes undoing #76918 turned out to be a noticeable perf gain.
      
      As usual I tried my best to make the commits self-contained and easy to follow. I've also tried to keep the code well-commented, but I tend to forget how complex this file is; I'm happy to clarify things as needed.
      My measurements show good perf improvements on the two match-heavy benchmarks (-18.0% on `unicode_normalization-check`! :D); I'd like a perf run to check the overall impact.
      
      r? `@varkor`
      `@rustbot` modify labels: +A-exhaustiveness-checking
      f9187ada