1. 12 6月, 2020 1 次提交
  2. 09 6月, 2020 16 次提交
    • B
      Auto merge of #73153 - ecstatic-morse:revert-71956, r=tmandry · ccac43b8
      bors 提交于
      Revert #71956
      
      ...since it caused unsoundness in #73137. Also adds a reduced version of #73137 to the test suite. The addition of the `MaybeInitializedLocals` dataflow analysis has not been reverted, but it is no longer used.
      
      Presumably there is a more targeted fix, but I'm worried that other bugs may be lurking. I'm not yet sure what the root cause of #73137 is.
      
      This will need to get backported to beta.
      
      r? @tmandry
      ccac43b8
    • B
      Auto merge of #73147 - Dylan-DPC:rollup-9saqhj5, r=Dylan-DPC · 5d39f1fa
      bors 提交于
      Rollup of 8 pull requests
      
      Successful merges:
      
       - #71842 (doc: make impl block collapsible if it has an associated constant)
       - #72912 (Add new E0758 error code)
       - #73008 (Update RELEASES.md)
       - #73090 (Use `LocalDefId` directly in `Resolver::export_map`)
       - #73118 (Improve the wording in documentation of std::mem::drop)
       - #73124 (Removed lifetime parameters from Explanation of E0207 )
       - #73138 (Use shorthand linker strip arguments in order to support MacOS)
       - #73143 (Update books)
      
      Failed merges:
      
      r? @ghost
      5d39f1fa
    • D
      Add regression test for #73137 · b6121a54
      Dylan MacKenzie 提交于
      Co-authored-by: NAaron1011 <aa1ronham@gmail.com>
      b6121a54
    • D
      Revert #71956 · c3b0b7b6
      Dylan MacKenzie 提交于
      c3b0b7b6
    • D
      Rollup merge of #73143 - ehuss:update-books, r=ehuss · 9890107a
      Dylan DPC 提交于
      Update books
      
      ## nomicon
      
      3 commits in d1517d4e3f29264c5c67bce2658516bb5202c800..bfe1ab96d717d1dda50e499b360f2e2f57e1750a
      2020-05-12 13:47:00 -0400 to 2020-06-05 13:19:42 -0400
      - Clarify that str data must still be initialized
      - Remove language-level UB for non-UTF-8 str
      - fix Nomicon transmute UB
      
      ## reference
      
      5 commits in becdca9477c9eafa96a4eea5156fe7a2730d9dd2..5d40ba5c2515caffa7790cda621239dc21ef5a72
      2020-05-21 21:08:02 +0100 to 2020-06-06 20:25:36 -0700
      - Add some links to Disambiguating Function Calls. (rust-lang-nursery/reference#829)
      - change bash to sh as shell code blocks language indentifier (rust-lang-nursery/reference#827)
      - Fix sentence mistake in array-expr.md (rust-lang-nursery/reference#826)
      - removed the word "Second" form the beginning of the 2nd list item and  labelled it as `2` (rust-lang-nursery/reference#822)
      - Update fn-like proc-macro invocation restrictions. (rust-lang-nursery/reference#816)
      
      ## book
      
      14 commits in e8a4714a9d8a6136a59b8e63544e149683876e36..30cd9dfe71c446de63826bb4472627af45acc9db
      2020-05-25 10:29:27 -0500 to 2020-06-07 23:07:19 -0500
      - Unnecessarily long type name in Ch 13 (rust-lang/book#2362)
      - Tweak example in chapter 10 (rust-lang/book#2363)
      - Mention that to_lowercase isn't perfect (rust-lang/book#2364)
      - fix typo in CONTRIBUTING.md (rust-lang/book#2360)
      - Link German translation in appendix F (rust-lang/book#2347)
      - Updates wording on Box example (rust-lang/book#2332)
      - fix: match 15-24 with 15-18 (rust-lang/book#2324)
      - Reword ch01-03 recap paragraph (rust-lang/book#2305)
      - Remove some confusing wording. (rust-lang/book#2358)
      - Clarify some wording a bit (rust-lang/book#2357)
      - Update ch12-05 PowerShell note (rust-lang/book#2348)
      - text -&gt; console (rust-lang/book#2352)
      - Improve wording around drop (rust-lang/book#2350)
      - Make some statements about crates more correct (rust-lang/book#2349)
      
      ## edition-guide
      
      1 commits in 0a8ab5046829733eb03df0738c4fafaa9b36b348..82bec5877c77cfad530ca11095db4456d757f668
      2020-05-18 08:34:23 -0500 to 2020-06-03 08:56:02 -0500
      - Add stuff for Rust 1.33 (rust-lang/edition-guide#214)
      9890107a
    • D
      Rollup merge of #73138 - eggyal:macos-linker-strip, r=petrochenkov · fdaeb0ff
      Dylan DPC 提交于
      Use shorthand linker strip arguments in order to support MacOS
      
      Per discussion from https://github.com/rust-lang/rust/issues/72110#issuecomment-636609419 onward, the current `-Z strip` options aren't supported by the MacOS linker, but I think only because it doesn't support the longhand arguments `--strip-debug` and `--strip-all`.
      
      This PR switches to using the shorthand arguments `-s` and `-S` instead, which (I believe) are supported by all GCC linkers.
      fdaeb0ff
    • D
      Rollup merge of #73124 - ayushmishra2005:correction_in_explanation_of_E0207, r=petrochenkov · 31a1858a
      Dylan DPC 提交于
      Removed lifetime parameters from Explanation of E0207
      
      Removed lifetime parameters from Explanation of E0207
      Fixes #62144
      31a1858a
    • D
      Rollup merge of #73118 - alamb:alamb/doc-drop-typo, r=shepmaster · 6d9cf6e8
      Dylan DPC 提交于
      Improve the wording in documentation of std::mem::drop
      
      I thought the original phrasing was somewhat awkward compared to rest of the (very well written) documentation, so figured I would propose a change to improve it.
      6d9cf6e8
    • D
      Rollup merge of #73090 - marmeladema:resolver-outputs-local-def-id, r=petrochenkov · 845b8690
      Dylan DPC 提交于
      Use `LocalDefId` directly in `Resolver::export_map`
      
      This is to avoid the final conversion from `NodeId` to `HirId`
      during call to `(clone|into)_outputs`
      
      This brings down the post-lowering uses of `NodeId` down to 2 calls to convert the `trait_map`.
      
      cc #50928
      
      r? @petrochenkov
      845b8690
    • D
      Rollup merge of #73008 - tshepang:patch-1, r=nikomatsakis · 033f6899
      Dylan DPC 提交于
      Update RELEASES.md
      
      make catch_unwind line more readable
      033f6899
    • D
      Rollup merge of #72912 - GuillaumeGomez:add-e0755, r=estebank · 82fd390d
      Dylan DPC 提交于
      Add new E0758 error code
      82fd390d
    • D
      Rollup merge of #71842 - tspiteri:doc-impl-const, r=GuillaumeGomez · 98bd22bd
      Dylan DPC 提交于
      doc: make impl block collapsible if it has an associated constant
      
      Fixes #71822.
      98bd22bd
    • B
      Auto merge of #72655 - jethrogb:sgx-lvi-hardening, r=petrochenkov · fd4b177a
      bors 提交于
      Enable LVI hardening for x86_64-fortanix-unknown-sgx
      
      This implements mitigations for the Load Value Injection vulnerability (CVE-2020-0551) for the `x86_64-fortanix-unknown-sgx` target by enabling new LLVM passes. More information about LVI and mitigations may be found at https://software.intel.com/security-software-guidance/insights/deep-dive-load-value-injection.
      
      This PR unconditionally enables the mitigations for `x86_64-fortanix-unknown-sgx` since there is no available hardware that doesn't require the mitigations. This may be reconsidered in the future.
      
      * [x] This depends on https://github.com/rust-lang/compiler-builtins/pull/359/
      fd4b177a
    • E
      Update books · ef4c4a57
      Eric Huss 提交于
      ef4c4a57
    • A
      8cf85bc0
    • B
      Auto merge of #73115 - RalfJung:rollup-jecowhz, r=RalfJung · bc10b68e
      bors 提交于
      Rollup of 10 pull requests
      
      Successful merges:
      
       - #72026 (Update annotate-snippets-rs to 0.8.0)
       - #72583 (impl AsRef<[T]> for vec::IntoIter<T>)
       - #72615 (Fix documentation example for gcov profiling)
       - #72761 (Added the documentation for the 'use' keyword)
       - #72799 (Add `-Z span-debug` to allow for easier debugging of proc macros)
       - #72811 (Liballoc impl)
       - #72963 (Cstring `from_raw` and `into_raw` safety precisions)
       - #73001 (Free `default()` forwarding to `Default::default()`)
       - #73075 (Add comments to `Resolve::get_module`)
       - #73092 (Clean up E0646)
      
      Failed merges:
      
      r? @ghost
      bc10b68e
  3. 08 6月, 2020 18 次提交
    • A
      b7f25d51
    • A
      Fix small typo in docs for std::mem::drop · 7b0906b2
      alamb 提交于
      7b0906b2
    • R
      Rollup merge of #73092 - GuillaumeGomez:cleanup-e0646, r=Dylan-DPC · 7983e56f
      Ralf Jung 提交于
      Clean up E0646
      
      r? @Dylan-DPC
      7983e56f
    • R
      Rollup merge of #73075 - jyn514:comment-module, r=Dylan-DPC · 13f2838c
      Ralf Jung 提交于
      Add comments to `Resolve::get_module`
      
      r? @Manishearth
      13f2838c
    • R
      Rollup merge of #73001 - ilya-bobyr:master, r=dtolnay · 244465db
      Ralf Jung 提交于
      Free `default()` forwarding to `Default::default()`
      
      It feels a bit redundant to have to say `Default::default()` every time I need a new value of a type that has a `Default` instance.
      Especially so, compared to Haskell, where the same functionality is called `def`.
      Providing a free `default()` function that forwards to `Default::default()` seems to improve the situation.
      The trait is still there, so if someone wants to be explicit and to say `Default::default()` - it still works, but if imported as `std::default::default;`, then the free function reduces typing and visual noise.
      244465db
    • R
      Rollup merge of #72963 - poliorcetics:cstring-from-raw, r=dtolnay · 824ea6bf
      Ralf Jung 提交于
      Cstring `from_raw` and `into_raw` safety precisions
      
      Fixes #48525.
      Fixes #68456.
      
      This issue had two points:
      
      - The one about `from_raw` has been addressed (I hope).
      - The other one, about `into_raw`, has only been partially fixed.
      
      About `into_raw`: the idea was to:
      
      > steer users away from using the pattern of CString::{into_raw,from_raw} when interfacing with C APIs that may change the effective length of the string by writing interior NULs or erasing the final NUL
      
      I tried making a `Vec<c_char>` like suggested but my current solution feels very unsafe and *hacky* to me (most notably the type cast), I included it here to make it available for discussion:
      
      ```rust
      fn main() {
          use std::os::raw::c_char;
      
          let v = String::from("abc")
              .bytes()
              // From u8 to i8,
              // I feel like it will be a problem for values of u8 > 255
              .map(|c| c as c_char)
              .collect::<Vec<_>>();
      
          dbg!(v);
      }
      ```
      824ea6bf
    • R
      Rollup merge of #72811 - pickfire:liballoc-impl, r=Amanieu · 13815e4b
      Ralf Jung 提交于
      Liballoc impl
      
      Mainly code rearrangements
      13815e4b
    • R
      Rollup merge of #72799 - Aaron1011:feature/span-debug, r=petrochenkov · e1350878
      Ralf Jung 提交于
      Add `-Z span-debug` to allow for easier debugging of proc macros
      
      Currently, the `Debug` impl for `proc_macro::Span` just prints out
      the byte range. This can make debugging proc macros (either as a crate
      author or as a compiler developer) very frustrating, since neither the
      actual filename nor the `SyntaxContext` is displayed.
      
      This commit adds a perma-unstable flag `-Z span-debug`. When enabled,
      the `Debug` impl for `proc_macro::Span` simply forwards directly to
      `rustc_span::Span`. Once #72618 is merged, this will start displaying
      actual line numbers.
      
      While `Debug` impls are not subject to Rust's normal stability
      guarnatees, we probably shouldn't expose any additional information on
      stable until `#![feature(proc_macro_span)]` is stabilized. Otherwise,
      we would be providing a 'backdoor' way to access information that's
      supposed be behind unstable APIs.
      e1350878
    • R
      Rollup merge of #72761 - poliorcetics:use-keyword-doc, r=Dylan-DPC · 89d8979c
      Ralf Jung 提交于
      Added the documentation for the 'use' keyword
      
      This is a partial fix of #34601.
      
      I heavily inspired myself from the Reference on the `use` keyword.
      
      I checked the links when compiling the documentation, they should be ok.
      
      I also added an example for the wildcard `*` in the case of types, because it's behaviour is not *import everything* like one might think at first.
      89d8979c
    • R
      Rollup merge of #72615 - jschwe:fix-Zprofile-documentation, r=steveklabnik · e8bb4c70
      Ralf Jung 提交于
      Fix documentation example for gcov profiling
      
      closes #72546
      Improves the documentation for the unstable Rustflag `-Zprofile` by:
      - stating that Incremental compilation must be turned off.
      - Adding the other `RUSTFLAGS` that should/need to be turned on (taken from [grcov documentation](https://github.com/mozilla/grcov#example-how-to-generate-gcda-files-for-a-rust-project))
      - Mentioning `RUSTC_WRAPPER` to prevent everything getting instrumented.
      
      r? @steveklabnik
      e8bb4c70
    • R
      Rollup merge of #72583 - CAD97:vec-iter-asref-slice, r=dtolnay · b0559beb
      Ralf Jung 提交于
      impl AsRef<[T]> for vec::IntoIter<T>
      
      Adds `impl<T> AsRef<[T]> for vec::IntoIter<T>`. This mirrors the same trait impl for [`slice::Iter`](https://doc.rust-lang.org/nightly/std/slice/struct.Iter.html). Both types already offer `fn as_slice(&self) -> &[T]`, this just adds the trait impl for `vec::IntoIter`.
      
      If/when `fn as_slice(&self) -> &[T]` stabilizes for `vec::Drain` and `slice::IterMut`, they should get `AsRef<[T]>` impls as well. As thus, tangentially related to #58957.
      
      My ultimate goal here: being able to use `for<T, I: Iterator<Item=T> + AsRef<[T]>> I` to refer to `vec::IntoIter`, `vec::Drain`, and eventually `array::IntoIter`, as an approximation of the set of by-value iterators that can be "previewed" as by-ref iterators. (Actually expressing that as a trait requires GAT.)
      b0559beb
    • R
      Rollup merge of #72026 - botika:master, r=estebank · 8484b993
      Ralf Jung 提交于
      Update annotate-snippets-rs to 0.8.0
      
      #59346
      I made major changes to this library. In the previous version we worked with owned while in the current one with borrowed.
      
      I have adapted it without changing the behavior.
      I have modified the coverage since the previous one did not return correctly the index of the character in the line.
      8484b993
    • B
      Auto merge of #73046 - marmeladema:save-analysis-fix-path, r=Xanewok · 73558160
      bors 提交于
      save_analysis: fix some ICEs
      
      Fixes #73020
      Fixes #73022
      Fixes #73041
      73558160
    • B
      Auto merge of #72904 - shepmaster:reduce-abi-symbol-hash-churn, r=jonas-schievink,RalfJung · 6aa1d93c
      bors 提交于
      Order the Rust and C ABIs first to reduce test churn
      6aa1d93c
    • M
      Use `LocalDefId` directly in `Resolver::export_map` and `module_exports` query · e7592224
      marmeladema 提交于
      This is to avoid the final conversion from `NodeId` to `HirId`
      during call to `Resolver::(clone|into)_outputs`.
      e7592224
    • B
      Auto merge of #73099 - Dylan-DPC:rollup-7u8f3m4, r=Dylan-DPC · 0262de55
      bors 提交于
      Rollup of 2 pull requests
      
      Successful merges:
      
       - #72952 (run-make regression test for issue #70924.)
       - #72977 (Fix codegen tests for RISC-V)
      
      Failed merges:
      
      r? @ghost
      0262de55
    • D
      Rollup merge of #72977 - tblah:riscv-codegen-llvm10, r=nikomatsakis · 4dd5d5d4
      Dylan DPC 提交于
      Fix codegen tests for RISC-V
      
      Some codegen tests didn't seem relevant (e.g. unsupported annotations).
      
      The RISC-V abi tests were broken by LLVM 10, c872dcf9 fixes that (cc: @msizanoen1)
      
      I'm not sure about skipping catch-unwind.rs and included that change here mostly as a request for comment - I can't tell if that's a bug.
      4dd5d5d4
    • D
      Rollup merge of #72952 - pnkfelix:regression-test-for-issue-70924, r=nikomatsakis · b7333682
      Dylan DPC 提交于
      run-make regression test for issue #70924.
      
      Sometime after my PR #72767 (to fix issue #70924) landed, I realized that I *could* make a local regression test, thanks to `rustc --print sysroot`: I can make a fresh "copy" (really mostly symlinks) of the sysroot, and then modify it to recreate the terms of this bug.
      b7333682
  4. 07 6月, 2020 5 次提交