| Age | Commit message (Collapse) | Author | Lines |
|
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``
|
|
|
|
|
|
Enable reproducible-build-2 for Windows MSVC
Works with MSVC if instructing the linker to avoid timestamps and deleting the PDB between compilations.
Addresses item in rust-lang/rust#128602
---
try-job: x86_64-mingw-*
try-job: x86_64-msvc-*
try-job: i686-msvc-*
|
|
Remove the deprecated unstable `concat_idents!` macro
In [rust-lang/rust#137653], the lang and libs-API teams did a joint FCP to deprecate
and eventually remove the long-unstable `concat_idents!` macro. The
deprecation is landing in 1.88, so do the removal here (target version
1.90).
This macro has been superseded by the more recent `${concat(...)}`
metavariable expression language feature, which avoids some of the
limitations of `concat_idents!`. The metavar expression is unstably
available under the [`macro_metavar_expr_concat`] feature.
History is mildly interesting here: `concat_idents!` goes back to 2011
when it was introduced with 513276e595f8 ("Add #concat_idents[] and
#ident_to_str[]"). The syntax looks a bit different but it still works
about the same:
let asdf_fdsa = "<.<";
assert(#concat_idents[asd,f_f,dsa] == "<.<");
assert(#ident_to_str[use_mention_distinction]
== "use_mention_distinction");
(That test existed from introduction until its removal here.)
Closes: https://github.com/rust-lang/rust/issues/29599
[rust-lang/rust#137653]: https://github.com/rust-lang/rust/pull/137653
[`macro_metavar_expr_concat`]: https://github.com/rust-lang/rust/issues/124225
|
|
Also avoid creating and cloning sysroot unnecessarily.
|
|
|
|
In [137653], the lang and libs-API teams did a joint FCP to deprecate
and eventually remove the long-unstable `concat_idents!` macro. The
deprecation is landing in 1.88, so do the removal here (target version
1.90).
This macro has been superseded by the more recent `${concat(...)}`
metavariable expression language feature, which avoids some of the
limitations of `concat_idents!`. The metavar expression is unstably
available under the [`macro_metavar_expr_concat`] feature.
History is mildly interesting here: `concat_idents!` goes back to 2011
when it was introduced with 513276e595f8 ("Add #concat_idents[] and
about the same:
let asdf_fdsa = "<.<";
assert(#concat_idents[asd,f_f,dsa] == "<.<");
assert(#ident_to_str[use_mention_distinction]
== "use_mention_distinction");
(That test existed from introduction until its removal here.)
Closes: https://www.github.com/rust-lang/rust/issues/29599
[137653]: https://www.github.com/rust-lang/rust/pull/137653
[`macro_metavar_expr_concat`]: https://www.github.com/rust-lang/rust/issues/124225
|
|
These tests were updated in the previous commit; while they are being
cleaned up, move them to a non-issue directory.
|
|
main.createCommands instead
|
|
rustdoc-json: Keep empty generic args if parenthesized
Because in the case of for example
pub fn my_fn3(f: impl FnMut()) {}
we want to keep `()` even if it is empty since that matches e.g. Rust syntax requirements.
This is an amendment to https://github.com/rust-lang/rust/pull/142502, so:
r? ``@aDotInTheVoid``
cc ``@nnethercote``
cc https://github.com/cargo-public-api/cargo-public-api/pull/798
|
|
Fix hang in --print=file-names in bootstrap
In an interactive context, the subprocess inherited a real tty stdin, which lead it it waiting for something to happen, even though nothing happened. By explicitly passing null as stdin we make sure an empty file is passed, which achieves the desired behavior.
Fixes rust-lang/rust#142926 (verified locally by cherry-picking the patch onto beta where I was building).
|
|
Fixes firefox copy paste issue
|
|
compiletest: Improve diagnostics for line annotation mismatches
When some line annotations are missing or misplaced, compiletest reports an error, but the error is not very convenient.
This PR attempts to improve the user experience.
- The "expected ... not found" messages are no longer duplicated.
- The `proc_res.status` and `proc_res.cmdline` message is no longer put in the middle of other messages describing the annotation mismatches, it's now put into the end.
- Compiletest now makes suggestions if there are fuzzy matches between expected and actually reported errors (e.g. the annotation is put on a wrong line).
- Missing diagnostic kinds are no longer produce an error eagerly, but instead treated as always mismatching kinds, so they can produce suggestions telling the right kind.
I'll post screenshots in the thread below, but the behavior shown on the screenshots can be reproduced locally using the new test `tests/ui/compiletest-self-test/line-annotation-mismatches.rs`.
This also fixes https://github.com/rust-lang/rust/issues/140940.
r? ``@jieyouxu``
|
|
Update to literal-escaper 0.0.4
|
|
Cleanup `folding_ranges` and support more things
|
|
|
|
fix: In "Wrap return type" assist, don't wrap exit points if they already have the right type
|
|
Document sysroot_project field in rust-project.json
|
|
Do not default to 'static for trait object lifetimes
|
|
We lack trait object default lifetime elision, so `'static` can be wrong at times, confusing the user
|
|
minor: Don't run doctests
|
|
|
|
fix: Respect `.cargo/config.toml` `build.target-dir`
|
|
It currently reports net size, i.e. size(output) - size(input). After
some use I think this is sub-optimal, and it's better to just report
size(output). Because for derive macros the input size is always 1, and
for attribute macros it's almost always 1.
|
|
Because in the case of for example
pub fn my_fn3(f: impl FnMut()) {}
we want to keep `()` even if it is empty since that matches e.g. Rust
syntax requirements.
|
|
|
|
Fix comment on NoMangle
Fix comment on NoMangle.
This was discussed in comments of https://github.com/rust-lang/rust/pull/142823#discussion_r2162219576 and https://github.com/rust-lang/rust/pull/142921
|
|
Fix install-template.sh for Solaris tr
Allow to run install.sh also on Solaris where tr is not GNU tr.
|
|
Move error code explanation removal check into tidy
Follow-up of https://github.com/rust-lang/rust/pull/142677.
This PR replaces a shell script with rust code.
r? ghost
|
|
test(s) or bin at keyboard cursor
|
|
In an interactive context, the subprocess inherited a real tty stdin,
which lead it it waiting for something to happen, even though nothing
happened. By explicitly passing null as stdin we make sure an empty file
is passed, which achieves the desired behavior.
|
|
Co-authored-by: Folkert de Vries <folkert@folkertdev.nl>
|
|
|
|
docs: Add troubleshooting FAQ to the book
|
|
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
|
|
And one frequently asked question.
|
|
|
|
|
|
Subtree update of `rust-analyzer`
r? `@ghost`
|
|
|
|
|
|
|
|
|
|
`redundant_explicit_links` new API
|
|
|
|
from expansion
|
|
Rollup of 5 pull requests
Successful merges:
- rust-lang/rust#142493 (rework `#[naked]` attribute parser)
- rust-lang/rust#142636 (bootstrap.example.toml: use less contextual format)
- rust-lang/rust#142822 (Make `PartialEq` a `const_trait`)
- rust-lang/rust#142892 (Fix ICE on debug builds where lints are delayed on the crate root)
- rust-lang/rust#142904 (notify me when rdg is touched)
Failed merges:
- rust-lang/rust#142827 (Move error code explanation removal check into tidy)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
fix: Fix cargo project manifest not pointing to the workspace root
|
|
|