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 #76957

Closed
wants to merge 36 commits into from
Closed

Commits on Sep 9, 2020

  1. Fix segfault if pthread_getattr_np fails

    glibc destroys[1] the passed pthread_attr_t if pthread_getattr_np()
    fails.  Destroying it again leads to a segfault.  Fix it by only
    destroying it on success for glibc.
    
    [1]: https://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/pthread_getattr_np.c;h=ce437205e41dc05653e435f6188768cccdd91c99;hb=HEAD#l205
    tavianator committed Sep 9, 2020
    Configuration menu
    Copy the full SHA
    a06edda View commit details
    Browse the repository at this point in the history
  2. Only call pthread_attr_destroy() after getattr_np() succeeds on all l…

    …ibcs
    
    The calling convention of pthread_getattr_np() is to initialize the
    pthread_attr_t, so _destroy() is only necessary on success (and _init()
    isn't necessary beforehand).  On the other hand, FreeBSD wants the
    attr_t to be initialized before pthread_attr_get_np(), and therefore it
    should always be destroyed afterwards.
    tavianator committed Sep 9, 2020
    Configuration menu
    Copy the full SHA
    a684153 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2020

  1. Configuration menu
    Copy the full SHA
    176956c View commit details
    Browse the repository at this point in the history
  2. Extract some intrinsics out of rustc_codegen_llvm

    A significant amount of intrinsics do not actually need backend-specific
    behaviors to be implemented, instead relying on methods already in
    rustc_codegen_ssa. So, extract those methods out to rustc_codegen_ssa,
    so that each backend doesn't need to reimplement the same code.
    khyperia committed Sep 15, 2020
    Configuration menu
    Copy the full SHA
    21b0c12 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2020

  1. Only get ImplKind::Impl once

    tesuji committed Sep 16, 2020
    Configuration menu
    Copy the full SHA
    eede953 View commit details
    Browse the repository at this point in the history
  2. Don't generate bootstrap usage unless it's needed

    Previously, `x.py` would unconditionally run `x.py build` to get the
    help message. After rust-lang#76165,
    when checking the CI stage was moved into `Config`, that would cause an
    assertion failure (but only only in CI!):
    
    ```
    thread 'main' panicked at 'assertion failed: `(left == right)`
      left: `1`,
     right: `2`', src/bootstrap/config.rs:619:49
    ```
    
    This changes bootstrap to only generate a help message when it needs
    to (when someone passes `--help`).
    jyn514 committed Sep 16, 2020
    Configuration menu
    Copy the full SHA
    c35ce3f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    94dae60 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2020

  1. Fix wording in mir doc

    pickfire committed Sep 17, 2020
    Configuration menu
    Copy the full SHA
    b7c8bea View commit details
    Browse the repository at this point in the history
  2. Don't compile regex at every function call.

    Use `SyncOnceCell` to only compile it once.
    I believe this still adds some kind of locking mechanism?
    hbina committed Sep 17, 2020
    Configuration menu
    Copy the full SHA
    f4a7149 View commit details
    Browse the repository at this point in the history
  3. Remove intrinsics::arith_offset use from libarena

    The use of arith_offset was added in 803e9ae
    before the stable wrapper of the intrinsic was available.
    
    https://doc.rust-lang.org/stable/std/intrinsics/fn.arith_offset.html
    est31 committed Sep 17, 2020
    Configuration menu
    Copy the full SHA
    b479139 View commit details
    Browse the repository at this point in the history
  4. Replace const_generics feature gate with min_const_generics

    The latter is on the path to stabilization.
    est31 committed Sep 17, 2020
    Configuration menu
    Copy the full SHA
    4fe6ca3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ebdea01 View commit details
    Browse the repository at this point in the history
  6. fix array_windows docs

    lcnr committed Sep 17, 2020
    Configuration menu
    Copy the full SHA
    5f58e00 View commit details
    Browse the repository at this point in the history
  7. use strip_prefix over starts_with and manual slicing based on pattern…

    … length (clippy::manual_strip)
    matthiaskrgr committed Sep 17, 2020
    Configuration menu
    Copy the full SHA
    012974d View commit details
    Browse the repository at this point in the history
  8. docs array -> slice

    Co-authored-by: est31 <est31@users.noreply.github.com>
    lcnr and est31 committed Sep 17, 2020
    Configuration menu
    Copy the full SHA
    764d307 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    1dd3df6 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    76ec3f8 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2020

  1. Apply suggestions from code review

    Co-authored-by: Joshua Nelson <joshua@yottadb.com>
    poliorcetics and Joshua Nelson committed Sep 18, 2020
    Configuration menu
    Copy the full SHA
    4c92b3d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c5968e8 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2020

  1. Configuration menu
    Copy the full SHA
    3435683 View commit details
    Browse the repository at this point in the history
  2. array pattern

    lcnr committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    bfb221b View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#76521 - tavianator:fix-pthread-getattr-dest…

    …roy, r=Amanieu
    
    Fix segfault if pthread_getattr_np fails
    
    glibc [destroys][1] the passed pthread_attr_t if pthread_getattr_np()
    fails.  Destroying it again leads to a segfault.  Fix it by only
    destroying it on success for glibc.
    
    [1]: https://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/pthread_getattr_np.c;h=ce437205e41dc05653e435f6188768cccdd91c99;hb=HEAD#l205
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    0e0576f View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#76722 - ssomers:btree_send_sync, r=Mark-Sim…

    …ulacrum
    
    Test and fix Send and Sync traits of BTreeMap artefacts
    
    Fixes rust-lang#76686.
    
    I'm not quite sure what all this implies. E.g. comparing with the definitions for `NodeRef` in node.rs,  maybe an extra bound `T: 'a` is useful for something. The test compiles on stable/beta (apart from `drain_filter`) so I bet `Sync` is equally desirable.
    
    r? @Mark-Simulacrum
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    db15253 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#76766 - khyperia:generic_intrinsics, r=eddyb

    Extract some intrinsics out of rustc_codegen_llvm
    
    A significant amount of intrinsics do not actually need backend-specific behaviors to be implemented, instead relying on methods already in rustc_codegen_ssa. So, extract those methods out to rustc_codegen_ssa, so that each backend doesn't need to reimplement the same code.
    
    Almost everything should be a pretty direct translation. A notable not-direct-translation is `add_with_overflow` and friends being changed to `bx.checked_binop`, but it's pretty simple.
    
    I could have been a lot more aggressive here and pulled out way more methods, and add a few new methods in the rustc_codegen_ssa "API". However, because this is my second rustc PR, I thought that moving those to a follow-up PR and doing more incremental changes here would be better (and I guess ask if this work is even desired in the first place). I'm hoping to eventually remove the mess of intrinsic handling in the backend entirely, which would be hecking fantastic ✨
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    7826459 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#76783 - lzutao:rd_impl_kind, r=GuillaumeGomez

    Only get ImplKind::Impl once
    
    With this, the code panics in one place instead of two.
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    532df00 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#76800 - jyn514:usage, r=Mark-Simulacrum

    Don't generate bootstrap usage unless it's needed
    
    Previously, `x.py` would unconditionally run `x.py build` to get the
    help message. After rust-lang#76165,
    when checking the CI stage was moved into `Config`, that would cause an
    assertion failure (but only only in CI!):
    
    ```
    thread 'main' panicked at 'assertion failed: `(left == right)`
      left: `1`,
     right: `2`', src/bootstrap/config.rs:619:49
    ```
    
    This changes bootstrap to only generate a help message when it needs
    to (when someone passes `--help`).
    
    r? @Mark-Simulacrum
    This should fix the CI failures in rust-lang#76797 and rust-lang#75991.
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    7be31df View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#76809 - matthiaskrgr:simplify_cond, r=varkor

    simplfy condition in ItemLowerer::with_trait_impl_ref()
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    d09cf6c View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#76815 - pickfire:patch-6, r=jonas-schievink

    Fix wording in mir doc
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    e6de86d View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#76818 - hbina:dont_compile_regex_all_the_ti…

    …me, r=ecstatic-morse
    
    Don't compile regex at every function call.
    
    Use `SyncOnceCell` to only compile it once.
    I believe this still adds some kind of locking mechanism?
    
    Related issue: rust-lang#76817
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    eda93f9 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#76821 - est31:remove_redundant_nightly_feat…

    …ures, r=oli-obk,Mark-Simulacrum
    
    Remove redundant nightly features
    
    Removes a bunch of redundant/outdated nightly features. The first commit removes a `core_intrinsics` use for which a stable wrapper has been provided since. The second commit replaces the `const_generics` feature with `min_const_generics` which might get stabilized this year. The third commit is the result of a trial/error run of removing every single feature and then adding it back if compile failed. A bunch of unused features are the result that the third commit removes.
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    013daa5 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#76823 - RalfJung:black-box-warn, r=joshtrip…

    …lett
    
    black_box: silence unused_mut warning when building with cfg(miri)
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    62ffe40 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#76825 - lcnr:array-windows-apply, r=varkor

    use `array_windows` instead of `windows` in the compiler
    
    I do think these changes are beautiful, but do have to admit that using type inference for the window length
    can easily be confusing. This seems like a general issue with const generics, where inferring constants adds an additional
    complexity which users have to learn and keep in mind.
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    2645d05 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#76827 - lcnr:array_windows-docs, r=jonas-sc…

    …hievink
    
    fix array_windows docs
    
    r? @Dylan-DPC
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    b369345 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#76828 - matthiaskrgr:clippy_manual_strip, r…

    …=lcnr
    
    use strip_prefix over starts_with and manual slicing based on pattern length (clippy::manual_strip)
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    fe7ce2c View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#76840 - poliorcetics:intra-doc-core-sync-an…

    …d-future, r=jyn514
    
    Move to intra doc links in core/src/future
    
    Helps with rust-lang#75080.
    
    @rustbot modify labels: T-doc A-intra-doc-links
    
    r? @jyn514
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    0342f8a View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#76843 - kornelski:longtypetofile, r=ecstati…

    …c-morse
    
    Let user see the full type of type-length limit error
    
    Seeing the full type of the error is sometimes essential to diagnosing the problem, but the type itself is too long to be displayed in the terminal in a useful fashion. This change solves this dilemma by writing the full offending type name to a file, and displays this filename as a note.
    
    > note: the full type name been written to '$TEST_BUILD_DIR/issues/issue-22638/issue-22638.long-type.txt'
    
    Closes rust-lang#76777
    RalfJung committed Sep 20, 2020
    Configuration menu
    Copy the full SHA
    484e207 View commit details
    Browse the repository at this point in the history