Commit graph

16347 commits

Author SHA1 Message Date
Matthias Krüger
d7668d8bf4
Rollup merge of #136199 - purplesyringa:emscripten-tests, r=jieyouxu
Fix a couple Emscripten tests

This fixes a couple Emscripten tests where the correct fix is more or less obvious. A couple UI tests are still broken with this PR:

- `tests/ui/abi/numbers-arithmetic/return-float.rs` (#136197)
- `tests/ui/no_std/no-std-unwind-binary.rs` (haven't debugged yet)
- `tests/ui/test-attrs/test-passed.rs` (haven't debugged this either)

`````@rustbot````` label +T-compiler +O-emscripten
2025-01-30 12:45:35 +01:00
Matthias Krüger
282d8660de
Rollup merge of #133636 - GuillaumeGomez:sans-serif, r=rustdoc
[rustdoc] Add sans-serif font setting

Fixes https://github.com/rust-lang/rust/issues/52449.

This PR adds a new setting introducing the possibility to switch to a sans-serif font (`Fira Sans`) for the text.

Can be tested [here](https://rustdoc.crud.net/imperio/sans-serif/std/index.html).

cc ```@rust-lang/rustdoc-frontend```
r? ```@notriddle```
2025-01-30 12:45:13 +01:00
bors
5e5567993d Auto merge of #136035 - SpecificProtagonist:miri-zeroed-alloc, r=oli-obk
miri: optimize zeroed alloc

When allocating zero-initialized memory in MIR interpretation, rustc allocates zeroed memory, marks it as initialized and then re-zeroes it. Remove the last step.

I don't expect this to have much of an effect on performance normally, but in my case in which I'm creating a large allocation via mmap it gets in the way.
2025-01-30 01:27:21 +00:00
bors
4a5f1cc52b Auto merge of #135818 - jieyouxu:migrate-translation, r=compiler-errors
tests: Port `translation` to rmake.rs

Part of #121876.

This PR partially supersedes #129011 and is co-authored with `@Oneirical.`

## Summary

This PR ports `tests/run-make/translation` to rmake.rs. Notable changes from the Makefile version include:

- We now actually fail if the rustc invocations fail... The Makefile did not have `SHELL=/bin/bash -o pipefail`, so all the piped rustc invocations to grep vacuously succeeded, even if the broken ftl test case actually regressed over time and ICEs on current master.
    - That test case is converted to assert it fails with a FIXME backlinking to #135817.
- The test coverage is expanded to not ignore windows. Instead, the test now uses symlink capability detection to gate test execution.
- Added some backlinks to relevant tracking issues and the initial translation infra implementation PR.

## Review advice

Best reviewed commit-by-commit.

r? compiler

try-job: aarch64-apple
try-job: i686-mingw
2025-01-29 22:01:53 +00:00
bors
ae5de6c759 Auto merge of #134248 - oli-obk:patkind-path-removal, r=BoxyUwU
Merge `PatKind::Path` into `PatKind::Expr`

Follow-up to #134228

We always had a duplication where `Path`s could be represented as `PatKind::Path` or `PatKind::Lit(ExprKind::Path)`. We had to handle both everywhere, and still do after #134228, so I'm removing it now.
2025-01-29 19:16:29 +00:00
Oli Scherer
f47ad71059 Eliminate PatKind::Path 2025-01-29 15:45:13 +00:00
Matthias Krüger
f614bfa6e2
Rollup merge of #136211 - ehuss:update-mdbook, r=ehuss
Update mdbook to 0.4.44

Updates to mdbook 0.4.44.
Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0444
2025-01-29 15:29:45 +01:00
Guillaume Gomez
91f6e000c2 Fix tidy errors 2025-01-29 11:01:14 +01:00
bors
61cc3e51f8 Auto merge of #136117 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2025-01-29 08:43:30 +00:00
许杰友 Jieyou Xu (Joe)
6f5a1035f8 tests: port translation to rmake.rs
Co-authored-by: Oneirical <manchot@videotron.ca>
2025-01-29 08:11:01 +00:00
许杰友 Jieyou Xu (Joe)
5f513a6a88 run-make-support: improve docs for assert_exit_code 2025-01-29 08:11:01 +00:00
许杰友 Jieyou Xu (Joe)
dd616d6a16 run-make-support: add sysroot helper
Convenience helper for `rustc --print=sysroot`.
2025-01-29 08:10:05 +00:00
León Orell Valerian Liehr
28393070ab
Rollup merge of #136164 - celinval:chores-fnkind, r=oli-obk
Refactor FnKind variant to hold &Fn

Pulling the change suggested in #128045 to reduce the impact of changing `Fn` item.

r? `@oli-obk`
2025-01-29 03:12:22 +01:00
León Orell Valerian Liehr
7e123e4940
Rollup merge of #136147 - RalfJung:required-target-features-check-not-add, r=workingjubilee
ABI-required target features: warn when they are missing in base CPU

Part of https://github.com/rust-lang/rust/pull/135408:
instead of adding ABI-required features to the target we build for LLVM, check that they are already there. Crucially we check this after applying `-Ctarget-cpu` and `-Ctarget-feature`, by reading `sess.unstable_target_features`. This means we can tweak the ABI target feature check without changing the behavior for any existing user; they will get warnings but the target features behave as before.

The test changes here show that we are un-doing the "add all required target features" part. Without the full #135408, there is no way to take a way an ABI-required target feature with `-Ctarget-cpu`, so we cannot yet test that part.

Cc ``@workingjubilee``
2025-01-29 03:12:21 +01:00
León Orell Valerian Liehr
dbb092b671
Rollup merge of #135943 - hkBst:opt_imports, r=estebank
Rename `Piece::String` to `Piece::Lit`

This renames Piece::String to Piece::Lit to avoid shadowing std::string::String and removes "pub use Piece::*;".
2025-01-29 03:12:19 +01:00
León Orell Valerian Liehr
42f46437ba
Rollup merge of #135902 - compiler-errors:item-non-self-bound-in-new-solver, r=lcnr
Do not consider child bound assumptions for rigid alias

r? lcnr

See first commit for the important details. For second commit, I also stacked a somewhat opinionated name change, though I can separate that if needed.

Fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/149
2025-01-29 03:12:19 +01:00
bors
aeba3c60f5 Auto merge of #136209 - flip1995:clippy-subtree-update, r=Manishearth
Clippy subtree update

r? `@Manishearth`

Quite a bit late, as I was on vacation and then we had an issue in MacOS CI after the sync.
2025-01-28 23:11:33 +00:00
Celina G. Val
c22a27130d Refactor FnKind variant to hold &Fn 2025-01-28 11:22:25 -08:00
Michael Goulet
009d68740f Make item self/non-self bound naming less whack 2025-01-28 19:08:50 +00:00
Eric Huss
6fb07164c2 Update mdbook to 0.4.44
Updates to mdbook 0.4.44.
Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0444
2025-01-28 11:01:48 -08:00
Philipp Krones
4288227241
Merge commit '51d49c1ae2' into clippy-subtree-update 2025-01-28 19:33:54 +01:00
Marijn Schouten
3026545ab5 parse_format optimize import use 2025-01-28 19:33:00 +01:00
Alisa Sireneva
5df51930f9 Fix tests/codegen/float/f128 2025-01-28 19:10:24 +03:00
Matthias Krüger
da6d9fdfa2
Rollup merge of #135961 - saethlin:skip-less-in-opt-dist, r=jieyouxu
Fix 2/4 tests skipped by opt-dist

The linker errors were because this one test, strangely, wants itself compiled with `-Ctarget-features=+crt-static`, and yet it looks like the runner image is simply missing static libraries for libc and libm.

Eyeballing the output of
```
rustc +nightly --target=x86_64-pc-windows-msvc -O tests/codegen/vec-shrink-panik.rs --emit=llvm-ir
```
suggests that vec-shrink-panik should pass on Windows. And it's quite disturbing that such a test would have failed only on Windows to start with. Exactly why that was would require some advanced digging, but it looks clean now.
2025-01-28 14:23:24 +01:00
Matthias Krüger
21ddd7ab89
Rollup merge of #135748 - compiler-errors:len-2, r=RalfJung,oli-obk
Lower index bounds checking to `PtrMetadata`, this time with the right fake borrow semantics 😸

Change `Rvalue::RawRef` to take a `RawRefKind` instead of just a `Mutability`. Then introduce `RawRefKind::FakeForPtrMetadata` and use that for lowering index bounds checking to a `PtrMetadata`. This new `RawRefKind::FakeForPtrMetadata` acts like a shallow fake borrow in borrowck, which mimics the semantics of the old `Rvalue::Len` operation we're replacing.

We can then use this `RawRefKind` instead of using a span desugaring hack in CTFE.

cc ``@scottmcm`` ``@RalfJung``
2025-01-28 14:23:22 +01:00
SpecificProtagonist
eee9df43e6
miri: optimize zeroed alloc
Co-authored-by: Ralf Jung <post@ralfj.de>
2025-01-28 12:50:02 +01:00
Ralf Jung
93ee180cfa ABI-required target features: warn when they are missing in base CPU (rather than silently enabling them) 2025-01-28 04:40:42 +01:00
Michael Goulet
eeecb56b73 Represent the raw pointer for a array length check as a new kind of fake borrow 2025-01-28 00:00:33 +00:00
Ben Kimock
1f4309cec4 Fix 2/4 tests skipped by opt-dist 2025-01-27 16:06:30 -05:00
bors
2f348cb7ce Auto merge of #136110 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2025-01-27 20:35:09 +00:00
Guillaume Gomez
f4a5cbd0d8
Rollup merge of #136112 - fmease:clean-up-all-dead-files-in-ui-tests, r=compiler-errors
Clean up all dead files inside `tests/ui/`

While rebasing #135860 I noticed that there are several dead `*.stderr` files inside `tests/ui/`.

When I checked thoroughly, I found 69 dead `*.$revision.stderr` files, 3 other dead `*.stderr` files and one dead `*.rs` file.

Prior to #134808, compiletest's `--bless` didn't remove dead `*.stderr` files when the set of revisions changed in any way (renamings, removals, additions, …) which explains their existence.

Regarding the dead `*.rs` file, that one was located inside an `auxiliary/` directory (together with a `*.stderr` file) despite not being meant to be an auxiliary file (it's not referenced by any `//@ aux-*`, it has an accompanying `*.stderr` file and it's obvious from looking at #111056 which added it). Ideally compiletest or tidy would forbid `*.std{out,err}` files inside `auxiliary/` dirs, that would've caught it. I moved it, updated it and turned it into a proper UI test.

---

How to reproduce:

1. Run `rm tests/ui/**/*.stderr`
2. Run `./x test tests/ui --bless` (or similar)
3. Manually / semi-automatically go through all tests that were ignored (likely due to your OS etc. not matching) and restore any stderr files that were overzealously removed

---

r? compiler
2025-01-27 15:38:29 +01:00
León Orell Valerian Liehr
3c58b2f739
Rollup merge of #126604 - kadiwa4:uplift_double_negation, r=nnethercote
Uplift `clippy::double_neg` lint as `double_negations`

Warns about cases like this:
```rust
fn main() {
    let x = 1;
    let _b = --x; //~ WARN use of a double negation
}
```

The intent is to keep people from thinking that `--x` is a prefix decrement operator. `++x`, `x++` and `x--` are invalid expressions and already have a helpful diagnostic.

I didn't add a machine-applicable suggestion to the lint because it's not entirely clear what the programmer was trying to achieve with the `--x` operation. The code that triggers the lint should always be reviewed manually.

Closes #82987
2025-01-27 04:34:50 +01:00
León Orell Valerian Liehr
c38951b280
Make a previously unreachable UI test reachable 2025-01-27 02:28:49 +01:00
León Orell Valerian Liehr
0b18b4fbbc
Remove all dead files inside tests/ui/ 2025-01-27 02:28:04 +01:00
Ralf Jung
05a2dcdbd0
Merge pull request #4154 from RalfJung/linux-futex
make linux-futex test less flaky
2025-01-26 19:58:43 +00:00
Ralf Jung
37030ac279 make linux-futex test less flaky 2025-01-26 12:33:51 -07:00
Mark Rousskov
07de7a4bf9 Pre-intern name when searching module children
This avoids a good deal of work, since each module child can now just be
compared via u32 comparison, rather than fetching the raw &str
(requiring locking and indexing into the interner) and then comparing
the two strings (also relatively expensive).
2025-01-26 14:28:15 -05:00
Ralf Jung
d7f165690b many-seeds: do not use more than 8 threads 2025-01-26 09:41:57 -07:00
Ralf Jung
4ce50a3977 many-seeds: in keep-going mode, print how many tests failed 2025-01-26 09:40:16 -07:00
Ralf Jung
c688ecf468 prevent weird macOS linker errors from breaking the build 2025-01-26 07:11:43 -07:00
Kalle Wachsmuth
9e316f3472
remove clippy::double_neg 2025-01-26 12:15:12 +01:00
bors
d9b4598d7e Auto merge of #135753 - compiler-errors:from-ty-const, r=oli-obk
Get rid of `mir::Const::from_ty_const`

This function is strange, because it turns valtrees into `mir::Const::Value`, but the rest of the const variants stay as type system consts.

All of the callsites except for one in `instsimplify` (array length simplification of `ptr_metadata` call) just go through the valtree arm of the function, so it's easier to just create a `mir::Const` directly for those.

For the instsimplify case, if we have a type system const we should *keep* having a type system const, rather than turning it into a `mir::Const::Value`; it doesn't really matter in practice, though, bc `usize` has no padding, but it feels more principled.
2025-01-26 09:26:34 +00:00
Lukas Wirth
a7cbe4bedd
Merge pull request #19035 from rust-lang/Veykril-patch-1
Update outdated permissions section in the README.md
2025-01-26 07:12:02 +00:00
Lukas Wirth
9ad59150e6
Update outdated permissions section in the README.md 2025-01-26 07:57:08 +01:00
Lukas Wirth
176852ba85
Merge pull request #19034 from ChayimFriedman2/complete-hidden-variant
fix: Don't complete doc(hidden) enum variants and use trees
2025-01-26 06:47:34 +00:00
Chayim Refael Friedman
bbf9ff69c9
Merge pull request #19033 from ChayimFriedman2/span-1
fix: Make proc_macro span's line & column 1-indexed, as documented
2025-01-26 06:41:54 +00:00
Chayim Refael Friedman
3149e0ff83 Make proc_macro span's line & column 1-indexed, as documented
That is, make the fake number that we return 1 and not 0.
2025-01-26 08:27:24 +02:00
The Miri Cronjob Bot
06db6bba3b Merge from rustc 2025-01-26 05:11:44 +00:00
The Miri Cronjob Bot
7209ae6dd0 Preparing for merge from rustc 2025-01-26 05:04:59 +00:00
Chayim Refael Friedman
9ae0e7bb25 Don't complete doc(hidden) enum variants and use trees
Also refactor the check a bit.
2025-01-26 00:13:11 +02:00