-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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 #92826
Rollup of 10 pull requests #92826
Commits on Oct 22, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 59df6c8 - Browse repository at this point
Copy the full SHA 59df6c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a59d0e - Browse repository at this point
Copy the full SHA 6a59d0eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c6de413 - Browse repository at this point
Copy the full SHA c6de413View commit details
Commits on Oct 27, 2021
-
Configuration menu - View commit details
-
Copy full SHA for c0f14cb - Browse repository at this point
Copy the full SHA c0f14cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for aa853bd - Browse repository at this point
Copy the full SHA aa853bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for d2f49ee - Browse repository at this point
Copy the full SHA d2f49eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 32bcb81 - Browse repository at this point
Copy the full SHA 32bcb81View commit details
Commits on Dec 14, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 1386a15 - Browse repository at this point
Copy the full SHA 1386a15View commit details
Commits on Dec 16, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 689a868 - Browse repository at this point
Copy the full SHA 689a868View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c46002 - Browse repository at this point
Copy the full SHA 5c46002View commit details -
Prove obligations to termination instead of ignoring ambiguities.
Sometimes an obligation depends on a later one, so we can't just process them in order like it was done previously. This is not a problem in our test suite, but there may be ICEs out there and it will definitely be a problem with lazy TAIT.
Configuration menu - View commit details
-
Copy full SHA for bdeeb07 - Browse repository at this point
Copy the full SHA bdeeb07View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4420cc3 - Browse repository at this point
Copy the full SHA 4420cc3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 078b112 - Browse repository at this point
Copy the full SHA 078b112View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9be1cc9 - Browse repository at this point
Copy the full SHA 9be1cc9View commit details
Commits on Dec 17, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 5b3902f - Browse repository at this point
Copy the full SHA 5b3902fView commit details
Commits on Dec 20, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 341d65d - Browse repository at this point
Copy the full SHA 341d65dView commit details -
[code coverage] Fix missing dead code in modules that are never called
The issue here is that the logic used to determine which CGU to put the dead function stubs in doesn't handle cases where a module is never assigned to a CGU. The partitioning logic also caused issues in rust-lang#85461 where inline functions were duplicated into multiple CGUs resulting in duplicate symbols. This commit fixes the issue by removing the complex logic used to assign dead code stubs to CGUs and replaces it with a much simplier model: we pick one CGU to hold all the dead code stubs. We pick a CGU which has exported items which increases the likelihood the linker won't throw away our dead functions and we pick the smallest to minimize the impact on compilation times for crates with very large CGUs. Fixes rust-lang#86177 Fixes rust-lang#85718 Fixes rust-lang#79622
Configuration menu - View commit details
-
Copy full SHA for ef57f24 - Browse repository at this point
Copy the full SHA ef57f24View commit details
Commits on Dec 27, 2021
-
Configuration menu - View commit details
-
Copy full SHA for ebc0d0d - Browse repository at this point
Copy the full SHA ebc0d0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 336c85a - Browse repository at this point
Copy the full SHA 336c85aView commit details
Commits on Dec 28, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 544a6bb - Browse repository at this point
Copy the full SHA 544a6bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f8415b - Browse repository at this point
Copy the full SHA 0f8415bView commit details
Commits on Jan 7, 2022
-
Make rlib metadata strip works with MIPSr6 architecture
Because MIPSr6 has many differences with previous MIPSr2 arch, the previous rlib metadata stripping code in `rustc_codegen_ssa` is only for MIPSr2/r3/r5 (which share the same elf e_flags). This commit fixed this problem. It makes `rustc_codegen_ssa` happy when compiling rustc for MIPSr6 target or hosts.
Configuration menu - View commit details
-
Copy full SHA for 579e8bc - Browse repository at this point
Copy the full SHA 579e8bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 11f180f - Browse repository at this point
Copy the full SHA 11f180fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a337b6 - Browse repository at this point
Copy the full SHA 9a337b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72cb1bd - Browse repository at this point
Copy the full SHA 72cb1bdView commit details
Commits on Jan 8, 2022
-
Configuration menu - View commit details
-
Copy full SHA for cf36c21 - Browse repository at this point
Copy the full SHA cf36c21View commit details
Commits on Jan 9, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 5ab40c8 - Browse repository at this point
Copy the full SHA 5ab40c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for e6bc0ac - Browse repository at this point
Copy the full SHA e6bc0acView commit details -
Configuration menu - View commit details
-
Copy full SHA for 268ae9a - Browse repository at this point
Copy the full SHA 268ae9aView commit details -
Apply suggestions from code review
Use "(associated) function" terminology instead of "method". Co-authored-by: Daniel Henry-Mantilla <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 96b2f8a - Browse repository at this point
Copy the full SHA 96b2f8aView commit details -
rustc_metadata: Stop passing
CrateMetadataRef
by referenceIt's already a (fat) reference. Double referencing it creates lifetime issues for its methods that want to return iterators.
Configuration menu - View commit details
-
Copy full SHA for c4471b0 - Browse repository at this point
Copy the full SHA c4471b0View commit details
Commits on Jan 10, 2022
-
Fix
#[rustc_must_implement_one_of]
This adds the old, pre 90639 `is_implemented` that previously only was true if the implementation of the item was from the given impl block and not from the trait default.
Configuration menu - View commit details
-
Copy full SHA for f64daff - Browse repository at this point
Copy the full SHA f64daffView commit details -
Ignore
unused_mod.rs
file in code coverage resultsAs discussed in rust-lang#92142 (comment), tests that contain multiple files order their results differently on Windows and Linux which the test runner currently can't handle correctly. For now, ignore the "bin" part of the test and only include the unused library dependency which is what the test really cares about anyway.
Configuration menu - View commit details
-
Copy full SHA for e9cac4c - Browse repository at this point
Copy the full SHA e9cac4cView commit details
Commits on Jan 11, 2022
-
Add a test for ungated
#[rustc_must_implement_one_of]
This test checks that `#[rustc_must_implement_one_of]` is gated behind `#![feature(rustc_attrs)]`.
Configuration menu - View commit details
-
Copy full SHA for 4ccfa97 - Browse repository at this point
Copy the full SHA 4ccfa97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4193f2d - Browse repository at this point
Copy the full SHA 4193f2dView commit details
Commits on Jan 12, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 66f1e32 - Browse repository at this point
Copy the full SHA 66f1e32View commit details -
Configuration menu - View commit details
-
Copy full SHA for 232f4b4 - Browse repository at this point
Copy the full SHA 232f4b4View commit details -
Rollup merge of rust-lang#90001 - Fearyncess:master, r=alexcrichton
Make rlib metadata strip works with MIPSr6 architecture Because MIPSr6 has many differences with previous MIPSr2 arch, the previous rlib metadata stripping code in `rustc_codegen_ssa` is only for MIPSr2/r3/r5 (which share the same elf e_flags). This commit fixed this problem. It makes `rustc_codegen_ssa` happy when compiling rustc for MIPSr6 target or hosts. e_flags REF: https://github.com/llvm/llvm-project/blob/e356027016c6365b3d8924f54c33e2c63d931492/llvm/include/llvm/BinaryFormat/ELF.h#L562
Configuration menu - View commit details
-
Copy full SHA for 4c95c6e - Browse repository at this point
Copy the full SHA 4c95c6eView commit details -
Rollup merge of rust-lang#91673 - ChrisDenton:path-absolute, r=Mark-S…
…imulacrum `std::path::absolute` Implements rust-lang#59117 by adding a `std::path::absolute` function that creates an absolute path without reading the filesystem. This is intended to be a drop-in replacement for [`std::fs::canonicalize`](https://doc.rust-lang.org/std/fs/fn.canonicalize.html) in cases where it isn't necessary to resolve symlinks. It can be used on paths that don't exist or where resolving symlinks is unwanted. It can also be used to avoid circumstances where `canonicalize` might otherwise fail. On Windows this is a wrapper around [`GetFullPathNameW`](https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfullpathnamew). On Unix it partially implements the POSIX [pathname resolution](https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13) specification, stopping just short of actually resolving symlinks.
Configuration menu - View commit details
-
Copy full SHA for 5d977c1 - Browse repository at this point
Copy the full SHA 5d977c1View commit details -
Rollup merge of rust-lang#91687 - euclio:tuple-variant-field-section,…
… r=GuillaumeGomez rustdoc: do not emit tuple variant fields if none are documented Fixes rust-lang#90824. Before: ![2021-12-15T22:26:41](https://user-images.githubusercontent.com/1372438/146302871-4d265433-b9aa-4e53-adfb-e7cb92107180.png) After: ![2021-12-15T22:27:01](https://user-images.githubusercontent.com/1372438/146302872-e39eda3d-2fb2-4fb9-aae7-2008e4e1b4dd.png)
Configuration menu - View commit details
-
Copy full SHA for 35b66a7 - Browse repository at this point
Copy the full SHA 35b66a7View commit details -
Rollup merge of rust-lang#91938 - yaahc:error-reporter, r=m-ou-se
Add `std::error::Report` type This is a continuation of rust-lang#90174, split into a separate PR since I cannot push to `````@seanchen1991````` 's fork
Configuration menu - View commit details
-
Copy full SHA for 9bcfb54 - Browse repository at this point
Copy the full SHA 9bcfb54View commit details -
Rollup merge of rust-lang#92006 - oli-obk:welcome_opaque_types_into_t…
…he_fold, r=nikomatsakis Welcome opaque types into the fold r? `@nikomatsakis` because idk who else to bug on the type_op changes The commits have explanations in them. The TLDR is that * 5c46002 stops the "recurse and replace" scheme that replaces opaque types with their canonical inference var by just doing that ahead of time * bdeeb07 does not affect anything on master afaict, but since opaque types generate obligations when instantiated, and lazy TAIT instantiates opaque types *everywhere*, we need to properly handle obligations here instead of just hoping no problematic obligations ever come up.
Configuration menu - View commit details
-
Copy full SHA for ccfcf42 - Browse repository at this point
Copy the full SHA ccfcf42View commit details -
Rollup merge of rust-lang#92142 - wesleywiser:fix_codecoverage_partit…
…ioning, r=tmandry [code coverage] Fix missing dead code in modules that are never called The issue here is that the logic used to determine which CGU to put the dead function stubs in doesn't handle cases where a module is never assigned to a CGU (which is what happens when all of the code in the module is dead). The partitioning logic also caused issues in rust-lang#85461 where inline functions were duplicated into multiple CGUs resulting in duplicate symbols. This commit fixes the issue by removing the complex logic used to assign dead code stubs to CGUs and replaces it with a much simpler model: we pick one CGU to hold all the dead code stubs. We pick a CGU which has exported items which increases the likelihood the linker won't throw away our dead functions and we pick the smallest to minimize the impact on compilation times for crates with very large CGUs. Fixes rust-lang#91661 Fixes rust-lang#86177 Fixes rust-lang#85718 Fixes rust-lang#79622 r? `@tmandry` cc `@richkadel` This PR is not urgent so please don't let it interrupt your holidays! 🎄 🎁
Configuration menu - View commit details
-
Copy full SHA for 219c5d3 - Browse repository at this point
Copy the full SHA 219c5d3View commit details -
Rollup merge of rust-lang#92164 - WaffleLapkin:rustc_must_implement_o…
…ne_of_attr, r=Aaron1011 Implement `#[rustc_must_implement_one_of]` attribute This PR adds a new attribute — `#[rustc_must_implement_one_of]` that allows changing the "minimal complete definition" of a trait. It's similar to GHC's minimal `{-# MINIMAL #-}` pragma, though `#[rustc_must_implement_one_of]` is weaker atm. Such attribute was long wanted. It can be, for example, used in `Read` trait to make transitions to recently added `read_buf` easier: ```rust #[rustc_must_implement_one_of(read, read_buf)] pub trait Read { fn read(&mut self, buf: &mut [u8]) -> Result<usize> { let mut buf = ReadBuf::new(buf); self.read_buf(&mut buf)?; Ok(buf.filled_len()) } fn read_buf(&mut self, buf: &mut ReadBuf<'_>) -> Result<()> { default_read_buf(|b| self.read(b), buf) } } impl Read for Ty0 {} //^ This will fail to compile even though all `Read` methods have default implementations // Both of these will compile just fine impl Read for Ty1 { fn read(&mut self, buf: &mut [u8]) -> Result<usize> { /* ... */ } } impl Read for Ty2 { fn read_buf(&mut self, buf: &mut ReadBuf<'_>) -> Result<()> { /* ... */ } } ``` For now, this is implemented as an internal attribute to start experimenting on the design of this feature. In the future we may want to extend it: - Allow arbitrary requirements like `a | (b & c)` - Allow multiple requirements like - ```rust #[rustc_must_implement_one_of(a, b)] #[rustc_must_implement_one_of(c, d)] ``` - Make it appear in rustdoc documentation - Change the syntax? - Etc Eventually, we should make an RFC and make this (or rather similar) attribute public. --- I'm fairly new to compiler development and not at all sure if the implementation makes sense, but at least it passes tests :)
Configuration menu - View commit details
-
Copy full SHA for faf8d66 - Browse repository at this point
Copy the full SHA faf8d66View commit details -
Rollup merge of rust-lang#92277 - petrochenkov:cmrval2, r=jackh726
rustc_metadata: Stop passing `CrateMetadataRef` by reference (step 1) It's already a (fat) reference. Double referencing it creates lifetime issues for its methods that want to return iterators. --- Extracted from rust-lang#92245 for a perf run. The PR changes a lot of symbol names due to function signature changes, so it's hard to do differential profiling, let's spend some machine time instead.
Configuration menu - View commit details
-
Copy full SHA for 801a3b6 - Browse repository at this point
Copy the full SHA 801a3b6View commit details -
Rollup merge of rust-lang#92334 - dtolnay:rustdocmatcher, r=camelid,G…
…uillaumeGomez rustdoc: Preserve rendering of macro_rules matchers when possible Fixes rust-lang#92331. This approach restores the behavior prior to rust-lang#86282 **if** the matcher token held by the compiler **and** the matcher token found in the source code are identical TokenTrees. Thus rust-lang#86208 remains fixed, but without regressing formatting for the vast majority of macros which are not macro-generated.
Configuration menu - View commit details
-
Copy full SHA for 770f532 - Browse repository at this point
Copy the full SHA 770f532View commit details -
Rollup merge of rust-lang#92807 - ehuss:update-cargo, r=ehuss
Update cargo 6 commits in 358e79fe56fe374649275ca7aebaafd57ade0e8d..06b9d31743210b788b130c8a484c2838afa6fc27 2022-01-04 18:39:45 +0000 to 2022-01-11 23:47:29 +0000 - Port cargo to clap3 (rust-lang/cargo#10265) - feat: support rustflags per profile (rust-lang/cargo#10217) - Make bors ignore the PR template so it doesn't end up in merge messages (rust-lang/cargo#10267) - Be resilient to most IO error and filesystem loop while walking dirs (rust-lang/cargo#10214) - Remove the option to disable pipelining (rust-lang/cargo#10258) - Always ask rustc for messages about artifacts, and always process them (rust-lang/cargo#10255)
Configuration menu - View commit details
-
Copy full SHA for 89bf361 - Browse repository at this point
Copy the full SHA 89bf361View commit details