-
Notifications
You must be signed in to change notification settings - Fork 12.3k
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
Rollup of 10 pull requests #91760
Commits on Nov 14, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 5907a8c - Browse repository at this point
Copy the full SHA 5907a8cView commit details
Commits on Nov 21, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 64cca29 - Browse repository at this point
Copy the full SHA 64cca29View commit details
Commits on Nov 28, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 15a4ed6 - Browse repository at this point
Copy the full SHA 15a4ed6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 85558ad - Browse repository at this point
Copy the full SHA 85558adView commit details
Commits on Dec 2, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 80a308d - Browse repository at this point
Copy the full SHA 80a308dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 440cffd - Browse repository at this point
Copy the full SHA 440cffdView commit details
Commits on Dec 3, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 72a6974 - Browse repository at this point
Copy the full SHA 72a6974View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for d5f6b9c - Browse repository at this point
Copy the full SHA d5f6b9cView commit details
Commits on Dec 4, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 8bfc76d - Browse repository at this point
Copy the full SHA 8bfc76dView commit details
Commits on Dec 7, 2021
-
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>
Configuration menu - View commit details
-
Copy full SHA for 41f7692 - Browse repository at this point
Copy the full SHA 41f7692View commit details
Commits on Dec 8, 2021
-
Configuration menu - View commit details
-
Copy full SHA for d9e4502 - Browse repository at this point
Copy the full SHA d9e4502View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15de4cb - Browse repository at this point
Copy the full SHA 15de4cbView commit details
Commits on Dec 9, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 99bd24e - Browse repository at this point
Copy the full SHA 99bd24eView commit details
Commits on Dec 10, 2021
-
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.
Configuration menu - View commit details
-
Copy full SHA for 71c1d56 - Browse repository at this point
Copy the full SHA 71c1d56View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 616f9ef - Browse repository at this point
Copy the full SHA 616f9efView commit details -
Rollup merge of rust-lang#91105 - jplatte:stream-docs, r=dtolnay
Fix method name reference in stream documentation
Configuration menu - View commit details
-
Copy full SHA for 60aa03a - Browse repository at this point
Copy the full SHA 60aa03aView commit details -
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``
Configuration menu - View commit details
-
Copy full SHA for d317da4 - Browse repository at this point
Copy the full SHA d317da4View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for b7b4d77 - Browse repository at this point
Copy the full SHA b7b4d77View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 5510803 - Browse repository at this point
Copy the full SHA 5510803View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for ca352c4 - Browse repository at this point
Copy the full SHA ca352c4View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 6cfe9af - Browse repository at this point
Copy the full SHA 6cfe9afView commit details -
Rollup merge of rust-lang#91625 - est31:remove_indexes, r=oli-obk
Remove redundant [..]s
Configuration menu - View commit details
-
Copy full SHA for 4098859 - Browse repository at this point
Copy the full SHA 4098859View commit details -
Rollup merge of rust-lang#91646 - ibraheemdev:patch-9, r=dtolnay
Fix documentation for `core::ready::Ready`
Configuration menu - View commit details
-
Copy full SHA for 1fca934 - Browse repository at this point
Copy the full SHA 1fca934View commit details