Corrects a typo in rustdoc documentation.
Fixes rust-lang#70856
Sorry, I am just learning git and I think I may have accidentally done some wacky stuff that closed my last PR. Here it is again.
wf: refactor `compute_trait_ref`
moves `extend_cause_with_original_assoc_item_obligation` out of `compute_trait_ref` and
changes `trait_assoc_items` to an iterator. This saves us from building an unnecessary `Vec<_>`
r? @eddyb i guess
ci: move /var/lib/docker to /mnt on GHA
There are some builders that are running out of disk space while building the Docker images, such as arm-android. This moves and symlinks `/var/lib/docker` to the `/mnt` partition on Linux GHA.
Example of a build failing because of this: https://github.com/rust-lang-ci/rust/runs/564628621
remove false positives of unused_braces
fixes#70717
We could potentially be more aggressive when linting let bindings by checking if there are any explicit `ref`s.
I have been unable to create a snippet which compiles when using braces but has a borrowck error
without them. The closes I've gotten is [the following (playground)](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=4a1552ebe9648cb13fcb8dd969189a6c).
r? @eddyb
This was a relic from when we had "nominal flags" and "cached
properties." The latter no longer exists, so nominal flags are no
longer necessary. In fact, every flag is considered a nominal flag. I
went ahead and removed all references to NOMINAL_FLAGS.
Fixes rust-lang#70836
The iterators are now "fused" with `Option` so we don't need separate
state to track which part is already exhausted, and we may also get
niche layout for `None`. We don't use the real `Fuse` adapter because
its specialization for `FusedIterator` unconditionally descends into the
iterator, and that could be expensive to keep revisiting stuff like
nested chains. It also hurts compiler performance to add more iterator
layers to `Chain`.
Remove rustc version from LLVM version suffix on dev channel, avoiding
the need for full rebuilds when moving between commits with different
LLVM submodule & rustc version.
Don't import integer and float modules, use assoc consts 2
Follow up to #70777. I missed quite a lot of places. Partially because I wanted to keep the size of the last PR down, and partially because my regexes were not good enough :)
r? @dtolnay
Keep codegen units unmerged when building compiler builtins
Make it possible to control how mono items are partitioned into code generation
units, when compiling the compiler builtins, by retaining the original partitioning.
Helps with #48625, #61063, #67960, #70489.
r? @alexcrichton
Miri leak check: memory reachable through globals is not leaked
Also make Miri memory dump prettier by sharing more code with MIR dumping, and fix a bug where the Miri memory dump would print some allocations twice.
r? @oli-obk
Miri PR: https://github.com/rust-lang/miri/pull/1301
Small tweaks in ToOwned::clone_into
- `<[T]>::clone_into` is slightly more optimized.
- `CStr::clone_into` is new, letting it reuse its allocation.
- `OsStr::clone_into` now forwards to the underlying slice/`Vec`.