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 10 pull requests #91760

Merged
merged 23 commits into from
Dec 11, 2021
Merged

Rollup of 10 pull requests #91760

merged 23 commits into from
Dec 11, 2021

Commits on Nov 14, 2021

  1. Fix incorrect feature flags

    jhpratt committed Nov 14, 2021
    Configuration menu
    Copy the full SHA
    5907a8c View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2021

  1. Configuration menu
    Copy the full SHA
    64cca29 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2021

  1. Configuration menu
    Copy the full SHA
    15a4ed6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    85558ad View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2021

  1. Configuration menu
    Copy the full SHA
    80a308d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    440cffd View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2021

  1. Configuration menu
    Copy the full SHA
    72a6974 View commit details
    Browse the repository at this point in the history
  2. code-cov: generate dead functions with private/default linkage

    As discovered in rust-lang#85461, the MSVC linker treats weak symbols slightly
    differently than unix-y linkers do. This causes link.exe to fail with
    LNK1227 "conflicting weak extern definition" where as other targets are
    able to link successfully.
    
    This changes the dead functions from being generated as weak/hidden to
    private/default which, as the LLVM reference says:
    
    > Global values with “private” linkage are only directly accessible by
    objects in the current module. In particular, linking code into a module
    with a private global value may cause the private to be renamed as
    necessary to avoid collisions. Because the symbol is private to the
    module, all references can be updated. This doesn’t show up in any
    symbol table in the object file.
    
    This fixes the conflicting weak symbols but doesn't address the reason
    *why* we have conflicting symbols for these dead functions. The test
    cases added in this commit contain a minimal repro of the fundamental
    issue which is that the logic used to decide what dead code functions
    should be codegen'd in the current CGU doesn't take into account that
    functions can be duplicated across multiple CGUs (for instance, in the
    case of `#[inline(always)]` functions).
    
    Fixing that is likely to be a more complex change (see
    rust-lang#85461 (comment)).
    
    Fixes rust-lang#85461
    wesleywiser committed Dec 3, 2021
    Configuration menu
    Copy the full SHA
    d5f6b9c View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2021

  1. Configuration menu
    Copy the full SHA
    8bfc76d View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2021

  1. Document all public items in rustc_incremental

    Also:
    
    - Review and edit current docs
    - Enforce documentation for crate
    
    Co-authored-by: r00ster <r00ster91@protonmail.com>
    Co-authored-by: Camille Gillot <gillot.camille@gmail.com>
    3 people committed Dec 7, 2021
    Configuration menu
    Copy the full SHA
    41f7692 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2021

  1. Configuration menu
    Copy the full SHA
    d9e4502 View commit details
    Browse the repository at this point in the history
  2. Remove redundant [..]s

    est31 committed Dec 8, 2021
    Configuration menu
    Copy the full SHA
    15de4cb View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2021

  1. Configuration menu
    Copy the full SHA
    99bd24e View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2021

  1. Rollup merge of rust-lang#90407 - pierwill:edit-rustc-incremental-doc…

    …s, r=cjgillot
    
    Document all public items in `rustc_incremental`
    
    Also:
    
    - Review and edit current docs
    - Enforce documentation for the module.
    matthiaskrgr committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    71c1d56 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#90897 - jhpratt:fix-incorrect-feature-flags…

    …, r=dtolnay
    
    Fix incorrect stability attributes
    
    These two instances were caught in rust-lang#90356, but that PR isn't going to be merged. I've extracted these to ensure it's still correct.
    
    ``@rustbot`` label: +A-stability +C-cleanup +S-waiting-on-review
    matthiaskrgr committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    616f9ef View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#91105 - jplatte:stream-docs, r=dtolnay

    Fix method name reference in stream documentation
    matthiaskrgr committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    60aa03a View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#91325 - RalfJung:const_eval_select, r=dtolnay

    adjust const_eval_select documentation
    
    "The Rust compiler assumes" indicates that this is language UB, but [I don't think that is a good idea](https://rust-lang.zulipchat.com/#narrow/stream/146212-t-compiler.2Fconst-eval/topic/const_eval_select.20assumptions). This UB would be very hard to test for and looks like a way-too-big footgun. ``@oli-obk`` suggested this is meant to be more like "library UB", so I tried to adjust the docs accordingly.
    
    I also removed all references to "referential transparency". That is a rather vague concept used to mean many different things, and I honestly have no idea what exactly is meant by it in this specific instance. But I assume ``@fee1-dead`` had in their mind a property that all `const fn` code upholds, so by demanding that the runtime code and the const-time code are *observably equivalent*, whatever that property is would also be enforced here.
    
    Cc ``@rust-lang/wg-const-eval``
    matthiaskrgr committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    d317da4 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#91470 - wesleywiser:code_coverage_link_erro…

    …r, r=tmandry
    
    code-cov: generate dead functions with private/default linkage
    
    As discovered in rust-lang#85461, the MSVC linker treats weak symbols slightly
    differently than unix-y linkers do. This causes link.exe to fail with
    LNK1227 "conflicting weak extern definition" where as other targets are
    able to link successfully.
    
    This changes the dead functions from being generated as weak/hidden to
    private/default which, as the LLVM reference says:
    
    > Global values with “private” linkage are only directly accessible by
    objects in the current module. In particular, linking code into a module
    with a private global value may cause the private to be renamed as
    necessary to avoid collisions. Because the symbol is private to the
    module, all references can be updated. This doesn’t show up in any
    symbol table in the object file.
    
    This fixes the conflicting weak symbols but doesn't address the reason
    *why* we have conflicting symbols for these dead functions. The test
    cases added in this commit contain a minimal repro of the fundamental
    issue which is that the logic used to decide what dead code functions
    should be codegen'd in the current CGU doesn't take into account that
    functions can be duplicated across multiple CGUs (for instance, in the
    case of `#[inline(always)]` functions).
    
    Fixing that is likely to be a more complex change (see
    rust-lang#85461 (comment)).
    
    Fixes rust-lang#85461
    matthiaskrgr committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    b7b4d77 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#91482 - JosephTLyons:update-HashMap-and-BTr…

    …eeMap-documentation, r=yaahc
    
    Update documentation to use `from()` to initialize `HashMap`s and `BTreeMap`s
    
    As of Rust 1.56, `HashMap` and `BTreeMap` both have associated `from()` functions.  I think using these in the documentation cleans things up a bit.  It allows us to remove some of the `mut`s and avoids the Initialize-Then-Modify anti-pattern.
    matthiaskrgr committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    5510803 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#91524 - rukai:fix_extend_from_slice_docs, r…

    …=dtolnay
    
    Fix Vec::extend_from_slice docs
    
    `other` is a slice not a vector.
    matthiaskrgr committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    ca352c4 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#91575 - compiler-errors:issue-91556, r=cjgi…

    …llot
    
    Fix ICE on format string of macro with secondary-label
    
    This generalizes the fix rust-lang#86104 to also correctly skip `Span::from_inner` for the `secondary_label` of a format macro parsing error as well.
    
    We can alternatively skip the `span_label` diagnostic call for the secondary label as well, since that label probably only makes sense when the _proper_ span is computed.
    
    Fixes rust-lang#91556
    matthiaskrgr committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    6cfe9af View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#91625 - est31:remove_indexes, r=oli-obk

    Remove redundant [..]s
    matthiaskrgr committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    4098859 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#91646 - ibraheemdev:patch-9, r=dtolnay

    Fix documentation for `core::ready::Ready`
    matthiaskrgr committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    1fca934 View commit details
    Browse the repository at this point in the history