| Age | Commit message (Collapse) | Author | Lines |
|
Rollup of 8 pull requests
Successful merges:
- #137931 (Add remark for missing `llvm-tools` component re. `rustc_private` linker failures related to not finding LLVM libraries)
- #138138 (Pass `InferCtxt` to `InlineAsmCtxt` to properly taint on error)
- #138223 (Fix post-merge workflow)
- #138268 (Handle empty test suites in GitHub job summary report)
- #138278 (Delegation: fix ICE with invalid `MethodCall` generation)
- #138281 (Fix O(tests) stack usage in edition 2024 mergeable doctests)
- #138305 (Subtree update of `rust-analyzer`)
- #138306 (Revert "Use workspace lints for crates in `compiler/` #138084")
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Revert "Use workspace lints for crates in `compiler/` #138084"
Revert <https://github.com/rust-lang/rust/pull/138084> to buy time to consider options that avoids breaking downstream usages of cargo on distributed `rustc-src` artifacts, where such cargo invocations fail due to inability to inherit `lints` from workspace root manifest's `workspace.lints` (this is only valid for the source rust-lang/rust workspace, but not really the distributed `rustc-src` artifacts). The problem is that the `rustc-src` component doesn't include the root `Cargo.toml` manifest.
This breakage was reported in https://github.com/rust-lang/rust/issues/138304.
This reverts commit 48caf81484b50dca5a5cebb614899a3df81ca898, reversing changes made to c6662879b27f5161e95f39395e3c9513a7b97028.
cc `@RalfJung`
r? `@nnethercote` (sorry, I didn't consider this being a thing 💀)
|
|
Subtree update of `rust-analyzer`
r? `@ghost`
|
|
r=GuillaumeGomez
Fix O(tests) stack usage in edition 2024 mergeable doctests
Fixes https://github.com/rust-lang/rust/issues/138248
The important change here is that we are not passing a potentially-large array by value. Between the fact that `TestFn` cannot be `Clone` and `test_main` takes a `Vec<TestDescAndFn>`, the only way to call `test::test_main` without O(tests) stack use is to call `Vec::push` many times.
The normal test harness does not have this problem because it calls `test_main_static` or `test_main_static_abort`, which take `&[TestDescAndFn]`. Changing `test::test_main` to take a slice is not a simple change, so I'm avoiding doing it here.
|
|
Delegation: fix ICE with invalid `MethodCall` generation
`ExprKind::MethodCall` is now generated instead of `ExprKind::Call` if
- the resolved function has a `&self` argument
- the resolved function is an associated item <- was missed before
Fixes https://github.com/rust-lang/rust/issues/128190
Fixes https://github.com/rust-lang/rust/issues/128119
Fixes https://github.com/rust-lang/rust/issues/127916
r? `@petrochenkov`
|
|
Handle empty test suites in GitHub job summary report
Should fix [NaN](https://github.com/rust-lang-ci/rust/actions/runs/13739044506#summary-38426140405)s being printed.
r? `@jieyouxu`
|
|
Fix post-merge workflow
I forgot that `actions/checkout` only checks out a single commit by default. I also forgot to set the environment variable required for the `gh` CLI commands.
I did a few more tests on my fork and hopefully now it should work properly. I also tested it with fake rollup PRs and the comment was sent only to the merged rollup, as it should be.
r? `@marcoieni`
|
|
Pass `InferCtxt` to `InlineAsmCtxt` to properly taint on error
Pass an `InferCtxt` into the `InlineAsmCtxt` so that we can use the right dcx to taint the infcx properly, so that we don't try to build invalid MIR for inline asm blocks.
Fixes #138130
Shares the first commit with #137502.
r? oli-obk
|
|
Add remark for missing `llvm-tools` component re. `rustc_private` linker failures related to not finding LLVM libraries
Fixes #137421
|
|
Split up some of the tests bc tainting causes some errors to become
suppressed
|
|
|
|
failures related to not finding LLVM libraries
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
|
|
Revert <https://github.com/rust-lang/rust/pull/138084> to buy time to
consider options that avoids breaking downstream usages of cargo on
distributed `rustc-src` artifacts, where such cargo invocations fail due
to inability to inherit `lints` from workspace root manifest's
`workspace.lints` (this is only valid for the source rust-lang/rust
workspace, but not really the distributed `rustc-src` artifacts).
This breakage was reported in
<https://github.com/rust-lang/rust/issues/138304>.
This reverts commit 48caf81484b50dca5a5cebb614899a3df81ca898, reversing
changes made to c6662879b27f5161e95f39395e3c9513a7b97028.
|
|
minor: Sync from downstream
|
|
|
|
internal: Run proc-macro server tests as separate CI job
|
|
|
|
|
|
Touch tt
|
|
fix: Normalize projections in evaluated const display and layout calculation
|
|
|
|
feat: Warn the user when a rename will change the meaning of the program
|
|
Fix `path` macro hygiene
|
|
|
|
|
|
Update cargo
22 commits in 2622e844bc1e2e6123e54e94e4706f7b6195ce3d..ab1463d632528e39daf35f263e10c14cbe590ce8
2025-02-28 12:33:57 +0000 to 2025-03-08 01:45:05 +0000
- test: redact host target when comparing CARGO_ENV path (rust-lang/cargo#15279)
- feat: add completions for install --path (rust-lang/cargo#15266)
- fix(package): report lockfile / workspace manifest is dirty (rust-lang/cargo#15276)
- feat(tree): Add `--depth public` behind `-Zunstable-options` (rust-lang/cargo#15243)
- Don't use `$CARGO_BUILD_TARGET` in `cargo metadata` (rust-lang/cargo#15271)
- feat: show extra build description from bootstrap (rust-lang/cargo#15269)
- Upgrade to `rustc-stable-hash v0.1.2` (rust-lang/cargo#15268)
- fix: Respect --frozen everywhere --offline or --locked is accepted (rust-lang/cargo#15263)
- feat(tree): Color the output (rust-lang/cargo#15242)
- fix(vendor): dont remove non-cached source (rust-lang/cargo#15260)
- docs: lockfile is always included since 1.84 (rust-lang/cargo#15257)
- Remove `Cargo.toml` from `package.include` in example (rust-lang/cargo#15253)
- Small cleanup: remove unneeded result (rust-lang/cargo#15256)
- Fix typo in build-scripts.md (rust-lang/cargo#15254)
- chore(deps): update rust crate pulldown-cmark to 0.13.0 (rust-lang/cargo#15250)
- chore(deps): update compatible (rust-lang/cargo#15249)
- feat(cli): forward bash completions of third party subcommands (rust-lang/cargo#15247)
- feat: add completions for `--lockfile-path` (rust-lang/cargo#15238)
- fix: reset $CARGO if the running program is real `cargo[.exe]` (rust-lang/cargo#15208)
- Get all members as `available targets` even though default-members was specified. (rust-lang/cargo#15199)
- refactor: control byte display precision with std::fmt options (rust-lang/cargo#15246)
- fix(package): Ensure we can package directories ending with '.rs' (rust-lang/cargo#15240)
|
|
|
|
Log build script error output in `load_cargo::load_workspace_at`
|
|
fix(hir): `VariantDef` is `impl HasSource`
|
|
fix: do not apply editorconfig to git commit msg
|
|
Fix syntax fixup producing invalid punctuation
|
|
Bump chalk for built-in supports of async closures
|
|
Rank ADT constructors as constructors for completion scoring
|
|
std: move stdio to `sys`
As per #117276, this moves the platform definitions of `Stdout` and friends into `sys`. This PR also unifies the UNIX and Hermit implementations and moves the `__rust_print_err` function needed by libunwind on SGX into the dedicated module for such helper functions.
|
|
|
|
r=fmease,GuillaumeGomez
doctests: fix merging on stable
Fixes #137898
The generated multi-test harness relies on nightly-only APIs, so the only way to run it on stable is to enable them.
To prevent the executing test case from getting at any of the stuff that the harness uses, they're built as two separate crates. The test bundle isn't built with RUSTC_BOOTSTRAP, while the runner harness is.
|
|
This prevents the included test case from getting at nightly-only
features when run on stable. The harness builds with
RUSTC_BOOTSTRAP, but the bundle doesn't.
|
|
Fixes #137898
The generated multi-test harness relies on nightly-only APIs,
so the only way to run it on stable is to enable them. Since
tests that use crate attrs don't be merged, there's no way to use
nightly-only features on it anyway.
|
|
As per #117276, this moves the platform definitions of `Stdout` and friends into `sys`. This PR also unifies the UNIX and Hermit implementations and moves the `__rust_print_err` function needed by libunwind on SGX into the dedicated module for such helper functions.
|
|
Always inline `query_get_at`.
r? `@saethlin`
|
|
Rollup of 7 pull requests
Successful merges:
- #122790 (Apply dllimport in ThinLTO)
- #137650 (Move `fs` into `sys`)
- #138228 (Use `disjoint_bitor` inside `borrowing_sub`)
- #138233 (Windows: Don't link std (and run-make) against advapi32, except on win7)
- #138253 (Continue to check attr if meet empty repr for adt)
- #138263 (Fix `repr128-dwarf` test)
- #138276 (Lazy load NtOpenFile for UWP)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Lazy load NtOpenFile for UWP
Lazily load `NtOpenFile` to allow libraries targeting UWP to build and link.
Fixes #138257 .
r? `@ChrisDenton`
|
|
Fix `repr128-dwarf` test
The test now correctly ignores enums from `std`.
Fixes #138254
Unblocks #138200
|
|
Continue to check attr if meet empty repr for adt
Fixes #138241
Returning while checking ReprEmpty results in missing the check for the next repr
|
|
Windows: Don't link std (and run-make) against advapi32, except on win7
Std no longer depends on any functionality provided by advapi32, so we can remove it from the list of external libraries we link against. Except, the win7 targets do still rely on advapi32-provided functionality. This PR therefore moves linking against it to only occur on win7 targets, so that no new uses of it slip in without being noticed.
|
|
Use `disjoint_bitor` inside `borrowing_sub`
This makes the definition of `borrowing_sub` consistent with that of `carrying_add`.
|
|
Move `fs` into `sys`
Move platform definitions of `fs` into `std::sys`, as part of https://github.com/rust-lang/rust/issues/117276.
cc `@joboet`
|
|
Apply dllimport in ThinLTO
This partially reverts https://github.com/rust-lang/rust/pull/103353 by properly applying `dllimport` if `-Z dylib-lto` is passed. That PR should probably fully be reverted as it looks quite sketchy. We don't know locally if the entire crate graph would be statically linked.
This should hopefully be sufficient to make ThinLTO work for rustc on Windows.
r? ``@wesleywiser``
---
Edit: This PR is changed to just generally revert https://github.com/rust-lang/rust/pull/103353.
|
|
Split the `Edges` iterator.
Some nice performance wins here, mostly on the `wg-grammar` benchmark.
r? `@lcnr`
|
|
|