| Age | Commit message (Collapse) | Author | Lines |
|
This brings in a few updates to the bundled `wasm-component-ld`
dependency used by the `wasm32-wasip2` target. This primarily includes
support for upcoming component model async/WASIp3 support which will be
convenient to have native support for a few months from now.
|
|
|
|
|
|
Skip needless calls to get_align in some cases.
|
|
Rollup of 9 pull requests
Successful merges:
- rust-lang/rust#142645 (Also emit suggestions for usages in the `non_upper_case_globals` lint)
- rust-lang/rust#142657 (mbe: Clean up code with non-optional `NonterminalKind`)
- rust-lang/rust#142799 (rustc_session: Add a structure for keeping both explicit and default sysroots)
- rust-lang/rust#142805 (Emit a single error when importing a path with `_`)
- rust-lang/rust#142882 (Lazy init diagnostics-only local_names in borrowck)
- rust-lang/rust#142883 (Add impl_trait_in_bindings tests from rust-lang/rust#61773)
- rust-lang/rust#142943 (Don't include current rustc version string in feature removed help)
- rust-lang/rust#142965 ([RTE-497] Ignore `c-link-to-rust-va-list-fn` test on SGX platform)
- rust-lang/rust#142972 (Add a missing mailmap entry)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There is already panic-unwind to enable it.
|
|
You shouldn't ever need to explicitly depend on it. And we weren't
checking that the panic runtime used the correct panic strategy either.
|
|
This used to be necessary for a correct linker order, but ever since the
introduction of symbols.o adding the symbols in question to symbols.o
would work just as well. We do still add dependencies on the panic runtime
to the local crate, but not for #![needs_panic_runtime] crates.
This also removes the runtime-depends-on-needs-runtime test.
inject_dependency_if used to emit this error, but with symbols.o it is
no longer important that there is no dependency and in fact it may be
nice to have panic_abort and panic_unwind directly depend on libstd in
the future for calling std::process::abort().
|
|
rustc_std_internal_symbol is meant to call functions from crates where
there is no direct dependency on said crate. As they either have to be
added to symbols.o or rustc has to introduce an implicit dependency on
them to avoid linker errors. The latter is done for some things like the
panic runtime, but adding these symbols to symbols.o allows removing
those implicit dependencies.
|
|
Changed "you're" to "your" on line 470.
|
|
|
|
Closes https://www.github.com/rust-lang/rust/issues/142952
|
|
`cargo fix` does not have a way of distinguishing a suggestion with
multiple spans which should all be applied from multiple suggestions
where only one should be applied (see issue 53934). `cargo fix` only
works with `MachineApplicable` suggestions, so downgrading the
applicability will stop `cargo` from suggesting the user run `cargo
fix`. rust-analyzer does work with `MaybeIncorrect`, so interactive
fixes are still available.
|
|
Subtree sync for rustc_codegen_cranelift
The main highlight this time is a Cranelift update.
r? `@ghost`
`@rustbot` label +A-codegen +A-cranelift +T-compiler
|
|
Add a missing mailmap entry
There aren't too many commits with the new emails, but per https://github.com/rust-lang/rust/pull/142470#issuecomment-3000079137 they belong to the same person so we may as well map them.
|
|
raoulstrackx:raoul/rte-497-fix_c-link-to-rust-va-list-fn_test, r=jieyouxu
[RTE-497] Ignore `c-link-to-rust-va-list-fn` test on SGX platform
rust-lang/rust#141856 enables using the runner defined in bootstrap.toml to execute run-make tests. A test was added for this feature that compiles a Rust library and C code, links them together and passes the result to the runner. Unfortunately, that's not sufficient for the SGX platform; x86 machine code cannot be directly executed. This PR fixes the issue by disabling this test for SGX.
|
|
Don't include current rustc version string in feature removed help
The version string is difficult to properly normalize out, and removing it isn't a huge deal (the user can query version info easily through `rustc --version` or `cargo --version`).
The normalization options were all non-ideal (see https://github.com/rust-lang/rust/pull/142940#issuecomment-2998518450):
- Per-test version string normalization is nasty to maintain, and we need to maintain `n` copies of it. See rust-lang/rust#142930 where the regex wasn't robust against different release channels.
- Centralized compiletest normalization (with a directive opt-out) is also not ideal, because `cfg(version(..))` tests can't have those accidentally normalized out (and you'd have to remember to opt-out).
r? `@workingjubilee` (discussed in rust-lang/rust#142940)
|
|
Add impl_trait_in_bindings tests from #61773
This adds the [three test cases](https://github.com/rust-lang/rust/issues/61773#issuecomment-2952638727) from the rust-lang/rust#61773 as was suggested by ``@lcnr.``
I have merged the first two cases into one, named as `region-lifetimes.rs`
r? ``@lcnr``
Closes rust-lang/rust#61773
|
|
Lazy init diagnostics-only local_names in borrowck
`local_names` is not used during successful compilation, so not initializing it saves a little bit of work.
I've also made it accessible only from the diagnostics module to make it clearer that the names are from `var_debug_info` which is technically optional and could be absent.
|
|
Emit a single error when importing a path with `_`
When encountering `use _;`, `use _::*'` or similar, do not emit two errors for that single mistake. This also side-steps the issue of resolve errors suggesting adding a crate named `_` to `Cargo.toml`.
Fix rust-lang/rust#142662.
|
|
rustc_session: Add a structure for keeping both explicit and default sysroots
Also avoid creating and cloning sysroot unnecessarily.
Implements the suggestion from https://github.com/rust-lang/rust/pull/142089#discussion_r2132204079.
r? ``@bjorn3``
|
|
r=petrochenkov
mbe: Clean up code with non-optional `NonterminalKind`
Since [rust-lang/rust#128425], the fragment specifier is unconditionally required in all
editions. This means `NonTerminalKind` no longer needs to be optional,
as we can reject this code during the expansion of `macro_rules!` rather
than handling it throughout the code. Do this cleanup here.
[rust-lang/rust#128425]: https://github.com/rust-lang/rust/pull/128425
|
|
Also emit suggestions for usages in the `non_upper_case_globals` lint
This PR adds suggestions for all the usages of the renamed item in the warning of the `non_upper_case_globals` lint.
Fixes https://github.com/rust-lang/rust/issues/124061
|
|
```
error[E0382]: borrow of moved value: `x`
--> $DIR/moves-based-on-type-capture-clause-bad.rs:9:20
|
LL | let x = "Hello world!".to_string();
| - move occurs because `x` has type `String`, which does not implement the `Copy` trait
LL | thread::spawn(move || {
| ------- value moved into closure here
LL | println!("{}", x);
| - variable moved due to use in closure
LL | });
LL | println!("{}", x);
| ^ value borrowed here after move
|
= note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider cloning the value before moving it into the closure
|
LL ~ let value = x.clone();
LL ~ thread::spawn(move || {
LL ~ println!("{}", value);
|
```
|
|
cc https://www.github.com/rust-lang/rust/issues/140364
|
|
Short circuit a couple hir-ty/lower queries
|
|
|
|
|
|
|
|
|
|
When encountering `use _;`, `use _::*'` or similar, do not emit two errors for that single mistake. This also side-steps the issue of resolve errors suggesting adding a crate named `_` to `Cargo.toml`.
|
|
Violets are red,
Roses are blue,
Summer’s a feeling,
And we’re feeling it too.
<hr>
> (Please ping me when June made it as the cat of the release. I want to
send it to her owner :D)
@xFrednet voila:

Cats for the next release can be traditionally nominated in the comments
:D
Please be more active and cat-minded 😻
<hr>
changelog: none
r? flip1995
|
|
|
|
Rollup of 7 pull requests
Successful merges:
- rust-lang/rust#137268 (Allow comparisons between `CStr`, `CString`, and `Cow<CStr>`.)
- rust-lang/rust#142704 (Remove the deprecated unstable `concat_idents!` macro)
- rust-lang/rust#142742 ([win][aarch64] Fix linking statics on Arm64EC, take 2)
- rust-lang/rust#142843 (Enable reproducible-build-2 for Windows MSVC)
- rust-lang/rust#142916 (rustdoc-json: Add test for `#[optimize(..)]`)
- rust-lang/rust#142919 (rustdoc-json: Add test for `#[cold]`)
- rust-lang/rust#142944 (Stats output tweaks)
Failed merges:
- rust-lang/rust#142825 (Port `#[track_caller]` to the new attribute system)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
The version string is difficult to properly normalize out, and removing
it isn't a huge deal (the user can query version info easily through
`rustc --version` or `cargo --version`).
The normalization options were all non-ideal:
- Per-test version string normalization is nasty to maintain, and we
need to maintain `n` copies of it.
- Centralized compiletest normalization (with a directive opt-out) is
also not ideal, because `cfg(version(..))` tests can't have those
accidentally normalized out (and you'd have to remember to opt-out).
|
|
|
|
|
|
|
|
Stats output tweaks
Some improvements to `-Zinput-stats` and `-Zmeta-stat` inspired by the new `-Zmacro-stats`.
r? `@lqd`
|
|
rustdoc-json: Add test for `#[cold]`
Follow-up to https://github.com/rust-lang/rust/pull/142491
r? `@GuillaumeGomez`
CC `@jdonszelmann`
|
|
r=GuillaumeGomez
rustdoc-json: Add test for `#[optimize(..)]`
Follow up to https://github.com/rust-lang/rust/pull/138291
CC `@jdonszelmann`
r? `@GuillaumeGomez`
|