Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 15 pull requests #77191

Closed
wants to merge 36 commits into from
Closed

Rollup of 15 pull requests #77191

wants to merge 36 commits into from

Commits on Sep 4, 2020

  1. Add regression test

    JulianKnodt committed Sep 4, 2020
    Configuration menu
    Copy the full SHA
    4bfdcea View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2020

  1. Relax promises about condition variable.

    This allows for futex or thread parking based implementations in the
    future.
    m-ou-se committed Sep 19, 2020
    Configuration menu
    Copy the full SHA
    26d6081 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2020

  1. Configuration menu
    Copy the full SHA
    3e08354 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4387480 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2020

  1. Configuration menu
    Copy the full SHA
    4b6a482 View commit details
    Browse the repository at this point in the history
  2. Bless mir-opt tests

    jonas-schievink committed Sep 22, 2020
    Configuration menu
    Copy the full SHA
    928a29f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    438d229 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2020

  1. Configuration menu
    Copy the full SHA
    9f27f37 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    631c688 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b5d47bf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    df004df View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ef95430 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2020

  1. Configuration menu
    Copy the full SHA
    4de836e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    382d724 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1857184 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2020

  1. Configuration menu
    Copy the full SHA
    1d3717d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1e64d98 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3965524 View commit details
    Browse the repository at this point in the history
  4. BTreeMap: various tweaks

    ssomers committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    55fa8af View commit details
    Browse the repository at this point in the history
  5. Allow multiple allow_internal_unstable attributes

    Co-authored-by: varkor <github@varkor.com>
    bugadani and varkor committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    54c9c94 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    606ed2a View commit details
    Browse the repository at this point in the history
  7. Rollup merge of #76257 - JulianKnodt:i75777, r=Dylan-DPC

    Add regression test
    
    This adds a regression test for #75777, effectively closing it since it is solved on nightly and beta.
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    b4ba7aa View commit details
    Browse the repository at this point in the history
  8. Rollup merge of #76932 - fusion-engineering-forks:condvar-promise, r=…

    …sfackler
    
    Relax promises about condition variable.
    
    For quite a while now, there have been plans to at some point use parking_lot or some other more efficient implementation of mutexes and condition variables. Right now, Mutex and CondVar both Box the 'real' mutex/condvar inside, to give it a stable address. This was done because implementations like pthread and Windows critical sections may not be moved. More efficient implementations based on futexes, WaitOnAddress, Windows SRW locks, parking_lot, etc. may be moved (while not borrowed), so wouldn't need boxing.
    
    However, not boxing them (which would be great goal to achieve), breaks a promise std currently makes about CondVar. CondVar promises to panic when used with different mutexes, to ensure consistent behaviour on all platforms. To this check, a mutex is considered 'the same' if the address of the 'real mutex' in the Box is the same. This address doesn't change when moving a `std::mutex::Mutex` object, effectively giving it an identity that survives moves of the Mutex object. If we ever switch to a non-boxed version, they no longer carry such an identity, and this check can no longer be made.
    
    Four options:
    1. Always box mutexes.
    2. Add a `MutexId` similar to `ThreadId`. Making mutexes bigger, and making it hard to ever have a `const fn new` for them.
    3. Making the requirement of CondVar stricter: panic if the Mutex object itself moved.
    4. Making the promise of CondVar weaker: don't promise to panic.
    
    1, 2, and 3 seem like bad options. This PR updates the documentation for 4.
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    8880ff4 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of #76973 - lzutao:unstably-const-assume, r=oli-obk

    Unstably allow assume intrinsic in const contexts
    
    Not sure much about this usage because there are concerns
    about [blocking  optimization][1] and [slowing down LLVM][2] when using `assme` intrinsic
    in inline functions.
    But since Oli suggested in #76960 (comment),
    here we are.
    
    [1]: #54995 (comment)
    [2]: #49572 (comment)
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    b7585c5 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of #77005 - ssomers:btree_cleanup_3, r=Mark-Simulacrum

    BtreeMap: refactoring around edges
    
    Parts chipped off a more daring effort, that the btree benchmarks judge to be performance-neutral.
    
    r? @Mark-Simulacrum
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    1652288 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of #77066 - jonas-schievink:dest-prop-borrow, r=oli-obk

    Fix dest prop miscompilation around references
    
    Closes #77002
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    a010758 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of #77073 - lcnr:ty-trait-param, r=matthewjasper

    dead_code: look at trait impls even if they don't contain items
    
    fixes #70225
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    cc4ec0b View commit details
    Browse the repository at this point in the history
  13. Rollup merge of #77086 - ehuss:src-libunwind, r=Mark-Simulacrum

    Include libunwind in the rust-src component.
    
    Some targets, such as musl, need the libunwind source to build the unwind crate (referenced [here](https://github.com/rust-lang/rust/blob/0da58007451a154da2480160429e1604a1f5f0ec/library/unwind/build.rs#L142)).
    
    Fixes rust-lang/wg-cargo-std-aware#59
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    272d4ab View commit details
    Browse the repository at this point in the history
  14. Rollup merge of #77097 - fusion-engineering-forks:slice-ptr-range-con…

    …st-fn, r=oli-obk
    
    Make [].as_[mut_]ptr_range() (unstably) const.
    
    Gated behind `const_ptr_offset`, as suggested by #65807 (comment)
    
    This also marks `[].as_mut_ptr()` as const, because it's used by `as_mut_ptr_range`. I gated it behind the same feature, because I figured it's not worth adding a separate tracking issue for const `as_mut_ptr`.
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    6af9d3c View commit details
    Browse the repository at this point in the history
  15. Rollup merge of #77106 - matthiaskrgr:changelog_seen, r=Mark-Simulacrum

    clarify that `changelog-seen = 1` goes to the beginning of config.toml
    
    Fixes #77105
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    3744e1c View commit details
    Browse the repository at this point in the history
  16. Rollup merge of #77126 - Mark-Simulacrum:llvm-less-often, r=alexcrichton

    Invalidate local LLVM cache less often
    
    This avoids a download of LLVM after every rebase. The downside to this is that if we land some patch affecting LLVM built in CI that breaks this option, but that PR does not update the LLVM submodule, we'll likely not notice until the next update -- but this seems unlikely to happen in practice and I am not personally worried about it.
    
    r? @alexcrichton
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    6fca5cc View commit details
    Browse the repository at this point in the history
  17. Rollup merge of #77146 - Mark-Simulacrum:xpyinstall, r=alexcrichton

    Install std for non-host targets
    
    It seems reasonable that when configuring various targets you'd expect all of them to get std installed, even if you're not building compiler toolchains for each of those.
    
    cc #76990
    
    r? @alexcrichton
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    2e7840e View commit details
    Browse the repository at this point in the history
  18. Rollup merge of #77155 - lcnr:ImplSource, r=ecstatic-morse

    remove enum name from ImplSource variants
    
    This is quite a lot cleaner in my opinion.
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    a3be921 View commit details
    Browse the repository at this point in the history
  19. Rollup merge of #77176 - austinkeeley:intrinsics-documentatation-erro…

    …r, r=jyn514
    
    Removing erroneous semicolon in transmute documentation
    
    There is a semicolon in the example code that causes the expected value to not be returned.
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    3506bdf View commit details
    Browse the repository at this point in the history
  20. Rollup merge of #77183 - bugadani:issue-77088, r=varkor

    Allow multiple allow_internal_unstable attributes
    
    Fixes #77088
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    49bc727 View commit details
    Browse the repository at this point in the history
  21. Rollup merge of #77189 - pickfire:patch-5, r=Mark-Simulacrum

    Remove extra space from vec drawing
    jonas-schievink authored Sep 25, 2020
    Configuration menu
    Copy the full SHA
    4e2c52f View commit details
    Browse the repository at this point in the history