Such splits arise from metadata refs into libstd.
This way, we can (in a follow on commit) continue to emit the virtual name into
things like the like the StableSourceFileId that ends up in incremetnal build
artifacts, while still using the devirtualized file path when we want to access
the file.
Note that this commit is intended to be a refactoring; the actual fix to the bug
in question is in a follow-on commit.
[beta] Rollup backports
This includes:
* Fail if I/O error occurs during testing #72089
* Fix hang in lexical_region_resolve #72087
* Fix E0284 to not use incorrect wording #71960
* Bump pulldown-cmark #71682
[beta] backports
This backport rollup includes the following:
* [beta] Update cargo #71967
* Backport 1.43.1 release notes to master #71914
* Update the `cc` crate #71882
* resolve: Relax fresh binding disambiguation slightly to fix regression #71846
* Do not try to find binop method on RHS `TyErr` #71810
* Quick and dirty fix of the unused_braces lint #71517
* Update stdarch submodule #71495
* normalize field projection ty to fix broken MIR issue #71488
* Update openssl-src to 1.1.1g #71430
* fix error code in E0751.md #71426
* Don't fuse Chain in its second iterator #71404
* Remove some `Vec` allocations to improve performance #71268
* [CI] Use the latest Python available on Windows #71995
It also switches the bootstrap compiler to 1.43.1.
This commit changes our Windows CI to always use the latest Python
interpreter available in the GHA tool cache instead of hardcoding Python
3.7.6. This is needed because occasionally GitHub bumps the installed
version, deleting the previous one.
Only the "first" iterator is actually set `None` when exhausted,
depending on whether you iterate forward or backward. This restores
behavior similar to the former `ChainState`, where it would transition
from `Both` to `Front`/`Back` and only continue from that side.
However, if you mix directions, then this may still set both sides to
`None`, totally fusing the iterator.
[beta] fix failing const validation
This is the **beta branch fix** for https://github.com/rust-lang/rust/issues/71353, by reverting https://github.com/rust-lang/rust/pull/70566.
r? @oli-obk
Not sure if there is any extra process for the beta part. This is not a backport; we intend to "properly" fix this on master but for beta a revert is faster and less risky.
This presumably "accidentally" never actually got triggered in the past, but
since we don't actually require shipping miri on beta or stable, this should be
fine.
attempt to recover perf by removing `exports_all_green`
attempt to recover perf by removing `exports_all_green` flag.
cc #71248
(My hypothesis is that my use of this flag was an overly conservative generalization of PR #67020.)
Rollup of 4 pull requests
Successful merges:
- #69362 (Stabilize most common subset of alloc_layout_extras)
- #71174 (Check that main/start is not async)
- #71285 (MIR: use HirId instead of NodeId to avoid cycles while inlining)
- #71346 (Do not build tools if user do not want them)
Failed merges:
r? @ghost