| Age | Commit message (Collapse) | Author | Lines |
|
Rollup of 6 pull requests
Successful merges:
- #137077 (Postprocess bootstrap metrics into GitHub job summary)
- #137373 (Compile run-make-support and run-make tests with the bootstrap compiler)
- #137634 (Update `compiler-builtins` to 0.1.149)
- #137667 (Add `dist::Gcc` build step)
- #137722 (`librustdoc`: 2024 edition! 🎊)
- #137947 (Do not install rustup on Rust for Linux job)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
warns on fewer ABIs now
|
|
no functional changes
|
|
no functional changes.
|
|
|
|
|
|
When we initially created `CrateItem`, it would only represent items
that contain a body.
That is no longer the case, for now, make this explicit by expanding
the APIs to retrieve the item body.
This is related to https://github.com/rust-lang/project-stable-mir/issues/34
|
|
|
|
|
|
No smallvecs here.
|
|
|
|
`librustdoc`: 2024 edition! 🎊
Like #137333 , but for rustdoc 😁
|
|
Update `compiler-builtins` to 0.1.149
Includes a change to make a subset of math symbols available on all platforms [1], and disables `f16` on aarch64 without neon [2].
[1]: https://github.com/rust-lang/compiler-builtins/pull/763
[2]: https://github.com/rust-lang/compiler-builtins/pull/775
try-job: aarch64-gnu
try-job: aarch64-gnu-debug
try-job: armhf-gnu
try-job: dist-various-1
try-job: dist-various-2
try-job: dist-aarch64-linux
try-job: dist-arm-linux
try-job: dist-armv7-linux
try-job: dist-x86_64-linux
try-job: test-various
|
|
Currently it is called twice, once with `allow_unstable` set to true and
once with it set to false. This results in some duplicated work. Most
notably, for the LLVM backend, `LLVMRustHasFeature` is called twice for
every feature, and it's moderately slow. For very short running
compilations on platforms with many features (e.g. a `check` build of
hello-world on x86) this is a significant fraction of runtime.
This commit changes `target_features_cfg` so it is only called once, and
it now returns a pair of feature sets. This halves the number of
`LLVMRustHasFeature` calls.
|
|
mgca: Lower all const paths as `ConstArgKind::Path`
When `#![feature(min_generic_const_args)]` is enabled, we now lower all
const paths in generic arg position to `hir::ConstArgKind::Path`. We
then lower assoc const paths to `ty::ConstKind::Unevaluated` since we
can no longer use the anon const expression lowering machinery. In the
process of implementing this, I factored out `hir_ty_lowering` code that
is now shared between lowering assoc types and assoc consts.
This PR also introduces a `#[type_const]` attribute for trait assoc
consts that are allowed as const args. However, we still need to
implement code to check that assoc const definitions satisfy
`#[type_const]` if present (basically is it a const path or a
monomorphic anon const).
r? `@BoxyUwU`
|
|
Currently its argument is an iterator, but in practice it's always a
singleton.
|
|
Also improve some comments.
|
|
bounds hack
|
|
|
|
|
|
Support raw-dylib link kind on ELF
raw-dylib is a link kind that allows rustc to link against a library without having any library files present.
This currently only exists on Windows. rustc will take all the symbols from raw-dylib link blocks and put them in an import library, where they can then be resolved by the linker.
While import libraries don't exist on ELF, it would still be convenient to have this same functionality. Not having the libraries present at build-time can be convenient for several reasons, especially cross-compilation. With raw-dylib, code linking against a library can be cross-compiled without needing to have these libraries available on the build machine. If the libc crate makes use of this, it would allow cross-compilation without having any libc available on the build machine. This is not yet possible with this implementation, at least against libc's like glibc that use symbol versioning. The raw-dylib kind could be extended with support for symbol versioning in the future.
This implementation is very experimental and I have not tested it very well. I have tested it for a toy example and the lz4-sys crate, where it was able to successfully link a binary despite not having a corresponding library at build-time.
I was inspired by Björn's comments in https://internals.rust-lang.org/t/bundle-zig-cc-in-rustup-by-default/22096/27
Tracking issue: #135694
r? bjorn3
try-job: aarch64-apple
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: test-various
|
|
When `#![feature(min_generic_const_args)]` is enabled, we now lower all
const paths in generic arg position to `hir::ConstArgKind::Path`. We
then lower assoc const paths to `ty::ConstKind::Unevaluated` since we
can no longer use the anon const expression lowering machinery. In the
process of implementing this, I factored out `hir_ty_lowering` code that
is now shared between lowering assoc types and assoc consts.
This PR also introduces a `#[type_const]` attribute for trait assoc
consts that are allowed as const args. However, we still need to
implement code to check that assoc const definitions satisfy
`#[type_const]` if present (basically is it a const path or a
monomorphic anon const).
|
|
|
|
This is error-prone. Explicitly write down which cases don't need
anything substituted. Turn the `OpaqueType` case, which currently
seems to be unreachable, into a `bug!`.
|
|
At first glance, the extra casework seems pointless and needlessly
error-prone. Clarify that there is a reason for it being there.
|
|
"unsafe impl Sync""
This reverts commit 02406903b0c26440428580a4bbaf30da973c5b23.
|
|
The situation described in the comment does arise in practice now and
described panic is long gone.
|
|
Get rid of the `Captures` hack
|
|
|
|
|
|
|
|
Rollup of 12 pull requests
Successful merges:
- #135767 (Future incompatibility warning `unsupported_fn_ptr_calling_conventions`: Also warn in dependencies)
- #137852 (Remove layouting dead code for non-array SIMD types.)
- #137863 (Fix pretty printing of unsafe binders)
- #137882 (do not build additional stage on compiler paths)
- #137894 (Revert "store ScalarPair via memset when one side is undef and the other side can be memset")
- #137902 (Make `ast::TokenKind` more like `lexer::TokenKind`)
- #137921 (Subtree update of `rust-analyzer`)
- #137922 (A few cleanups after the removal of `cfg(not(parallel))`)
- #137939 (fix order on shl impl)
- #137946 (Fix docker run-local docs)
- #137955 (Always allow rustdoc-json tests to contain long lines)
- #137958 (triagebot.toml: Don't label `test/rustdoc-json` as A-rustdoc-search)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rollup of 9 pull requests
Successful merges:
- #132388 (Implement `#[cfg]` in `where` clauses)
- #134900 (Fix parsing of ranges after unary operators)
- #136938 (Remove `:` from `stack-protector-heuristics-effect.rs` Filecheck Pattern)
- #137054 (Make phantom variance markers transparent)
- #137525 (Simplify parallelization in test-float-parse)
- #137618 (Skip `tidy` in pre-push hook if the user is deleting a remote branch)
- #137741 (Stop using `hash_raw_entry` in `CodegenCx::const_str`)
- #137849 (Revert "Remove Win SDK 10.0.26100.0 from CI")
- #137862 (ensure we always print all --print options in help)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
Remove manual `Default` impl from `config::ErrorOutputType`.
|
|
Use default field values to avoid manual `Default` impl.
|
|
|
|
A few cleanups after the removal of `cfg(not(parallel))`
I noticed a few small things that are no longer needed after the removal of `cfg(not(parallel))` in #132282.
One of the later changes adjusts several imports, so viewing the changes individually is recommended.
r? SparrowLii (or reroll)
|