Commit Graph

2889 Commits

Author SHA1 Message Date
lcnr db0e7e2569
Merge pull request #2249 from marxin/workaround-borked-link
Remove reference to enum.Reveal
2025-02-07 17:43:05 +01:00
Martin Liska dc919f8296 Remove reference to enum.Reveal 2025-02-07 09:03:22 +01:00
León Orell Valerian Liehr 1fc725f5c6
Merge pull request #2248 from notriddle/notriddle/typescrpt2
Update links to type schemas
2025-02-06 16:37:37 +01:00
Michael Howell 9143d8d6c8 Update links to type schemas
What used to be in externs.js is now in rustdoc.d.ts.
2025-02-06 08:29:10 -07:00
Marco Ieni 4e55c24537
Merge pull request #2247 from marcoieni/ci-cache
improve CI cache docs
2025-02-06 15:01:30 +01:00
MarcoIeni 8a6fd47a85
improve CI cache docs 2025-02-06 14:59:43 +01:00
许杰友 Jieyou Xu (Joe) 03a1548373
Merge pull request #2245 from marxin/fix-link-2
Replace link with a https based one
2025-02-06 16:17:51 +08:00
Martin Liska aba092fd08 Replace link with a https based one 2025-02-06 09:12:42 +01:00
许杰友 Jieyou Xu (Joe) 4ff0d406f9
Merge pull request #2243 from Kobzol/pull-cron 2025-02-04 16:57:19 +08:00
Jakub Beránek 6a5c177e46 Make the rustc-pull workflow run less often 2025-02-03 23:41:48 +01:00
许杰友 Jieyou Xu (Joe) b6a1fa4401
Merge pull request #2242 from DuskyElf/master 2025-02-04 04:30:57 +08:00
许杰友 Jieyou Xu (Joe) 95b2d3c095
Merge pull request #2241 from rust-lang/tshepang-patch-1 2025-02-04 04:18:51 +08:00
Tshepang Mbambo b3c5e9c734
overlong line 2025-02-03 22:07:10 +02:00
Rehmatpal Singh 2790e9aed6
Remove "Port run-make tests from Make to Rust" tracking issue from Recurring work 2025-02-04 01:26:15 +05:30
Yuki Okushi 3b8d88dcd3
Merge pull request #2240 from rust-lang/rustc-pull 2025-02-03 18:03:55 +09:00
The rustc-dev-guide Cronjob Bot 37fe574d04 Merge from rustc 2025-02-03 04:02:12 +00:00
The rustc-dev-guide Cronjob Bot 40ec7e6349 Preparing for merge from rustc 2025-02-03 04:02:09 +00:00
bors 43dd8e2d9f Auto merge of #136454 - matthiaskrgr:rollup-ewejzmp, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #136145 (Test validity of pattern types)
 - #136339 (CompileTest: Add Directives to Ignore `arm-unknown-*` Targets)
 - #136403 (Fix malformed error annotations in a UI test)
 - #136414 (Shorten error message for callable with wrong return type)
 - #136425 (Move `rustc_middle::infer::unify_key`)
 - #136426 (Explain why we retroactively change a static initializer to have a different type)
 - #136445 (Couple of cleanups to DiagCtxt and EarlyDiagCtxt)
 - #136452 (Miri subtree update)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-02-02 23:15:58 +00:00
Matthias Krüger cce8d5c68c
Rollup merge of #136452 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`

Unblocks https://github.com/rust-lang/rust/pull/122408 from the Miri side
2025-02-02 23:06:58 +01:00
Matthias Krüger 5bf40464d0
Rollup merge of #136445 - bjorn3:diag_ctxt_cleanup, r=oli-obk
Couple of cleanups to DiagCtxt and EarlyDiagCtxt
2025-02-02 23:06:57 +01:00
Matthias Krüger da2bb39562
Rollup merge of #136426 - oli-obk:push-nkpuulwurykn, r=compiler-errors
Explain why we retroactively change a static initializer to have a different type

I keep getting confused about it and in turn confused `@GuillaumeGomez` while trying to explain it badly
2025-02-02 23:06:57 +01:00
Matthias Krüger 5fb7fdb103
Rollup merge of #136414 - estebank:expected-return-type, r=oli-obk
Shorten error message for callable with wrong return type

```
error: expected `{closure@...}` to return `Ret`, but it returns `Other`
```
instead of
```
error: expected `{closure@...}` to be a closure that returns `Ret`, but it returns `Other`
```
2025-02-02 23:06:55 +01:00
Matthias Krüger 4b41bfa8a3
Rollup merge of #136403 - fmease:fix-a-ui-test, r=oli-obk
Fix malformed error annotations in a UI test

The compiletest DSL still features a historical remnant from the time when its directives were merely prefixed with `//` instead of `//`@`` when unknown directive names weren't rejected since they could just as well be part of prose:

As an "optimization", it stops looking for directives once it stumbles upon a line which starts with either `fn` or `mod`. This allowed a malformed error annotation of the form `//`@[…]~^^^`` to go undetected & unexercised (as it's placed below `fn main() {`).

Obviously a character other than ``@`` would've mangled the error annotation, too (but it might've caught the reviewer's eye). I specifically found this file because I ran `rg '^(fn|mod)[\s\S]*?//`@'` tests/ui --multiline -trust` to check how footgun-y that "special feature" of compiletest is.
2025-02-02 23:06:55 +01:00
Matthias Krüger b7794700bd
Rollup merge of #136339 - veera-sivarajan:ignore-arm-unknown-headers, r=jieyouxu
CompileTest: Add Directives to Ignore `arm-unknown-*` Targets

In  #134626, I want to ignore `arm-unknown-*` targets because the LLVM IR for those looks very different compared to other targets: https://rust.godbolt.org/z/ssYMhdv4x.

I can use `ignore-arm` but, I think, it would exclude large number of Apple devices.

So this PR adds a few directives to ignore `arm-unknown-*` targets specifically.
2025-02-02 23:06:54 +01:00
bjorn3 65daf3b01a Replace ParseSess::set_dcx with DiagCtxt::set_emitter
Replacing the error emitter doesn't accidentally clear the error count.
2025-02-02 16:09:39 +00:00
bors c70d1afe80 Auto merge of #136238 - marcoieni:free-disk-refactor, r=Kobzol
ci: refactor how directories are removed in free-disk-space disk

try-job: aarch64-gnu
2025-02-02 10:51:49 +00:00
Yuki Okushi 9350966973
Merge pull request #2236 from rust-lang/rustc-pull 2025-02-02 17:31:01 +09:00
Yuki Okushi 198de243e1
Apply suggestions from code review 2025-02-02 17:30:30 +09:00
nora cccaff7377
Merge pull request #2233 from chiichen/nix-shell-dev
Use a more convinient way of developing rustc on NixOS
2025-02-02 08:52:17 +01:00
Onur Özkan de201379e7
Merge pull request #2235 from Kobzol/docker-tests-rewrite
Rewrite section on executing Docker tests
2025-02-02 09:32:12 +03:00
The rustc-dev-guide Cronjob Bot 986d2e9acb Merge from rustc 2025-02-02 04:02:22 +00:00
The rustc-dev-guide Cronjob Bot bc61b269a5 Preparing for merge from rustc 2025-02-02 04:02:19 +00:00
Jakub Beránek c1b96f0f88 Reword submodule handling 2025-02-01 16:42:28 +01:00
Jakub Beránek 752c0d5706
Merge pull request #2239 from Kobzol/ci-fix-2
Checkout repository sources in rustc-pull CI action
2025-02-01 15:52:25 +01:00
Jakub Beránek f5d66eb2df Checkout repository sources in rustc-pull CI action
This is needed for the `gh` command to work.
2025-02-01 15:50:00 +01:00
bors f1d35ee56b Auto merge of #136136 - marcoieni:ubuntu-24, r=Kobzol
ci: use ubuntu 24 on free runners

try-job: aarch64-gnu
try-job: aarch64-gnu-debug
2025-02-01 11:46:40 +00:00
Ben Kimock cd17f494ae
Merge pull request #4169 from rust-lang/rustup-2025-02-01
Automatic Rustup
2025-02-01 05:39:41 +00:00
The Miri Cronjob Bot fae6d5f873 Merge from rustc 2025-02-01 05:13:09 +00:00
bors 2801ac3f0f Auto merge of #135768 - jieyouxu:migrate-symbol-mangling-hashed, r=Noratrieb
tests: Port `symbol-mangling-hashed` to rmake.rs

Part of #121876.

This PR supersedes #128567 and is co-authored with `@lolbinarycat.`

### Summary

This PR ports `tests/run-make/symbol-mangling-hashed` to rmake.rs. Notable differences when compared to the Makefile version includes:

- It's no longer limited to linux + x86_64 only. In particular, this now is exercised on darwin and windows (esp. msvc) too.
- The test uses `object` crate to be more precise in the filtering, and avoids relying on parsing the human-readable `nm` output for *some* `nm` in the given environment (which isn't really a thing on msvc anyway, and `llvm-nm` doesn't handle msvc dylibs AFAICT).
- Dump the symbols satisfying various criteria on test failure to make it hopefully less of a pain to debug if it ever fails in CI.

### Review advice

- Best reviewed commit-by-commit.
- I'm not *super* sure about the msvc logic, would benefit from a MSVC (PE/COFF) expert taking a look.

---

try-job: x86_64-msvc-1
try-job: i686-msvc-1
try-job: i686-mingw
try-job: x86_64-mingw-1
try-job: x86_64-apple-1
try-job: aarch64-apple
try-job: test-various
2025-02-01 00:19:28 +00:00
bors be693b567c Auto merge of #136350 - matthiaskrgr:rollup-6eqfyvh, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #134531 ([rustdoc] Add `--extract-doctests` command-line flag)
 - #135860 (Compiler: Finalize dyn compatibility renaming)
 - #135992 (Improve documentation when adding a new target)
 - #136194 (Support clobber_abi in BPF inline assembly)
 - #136325 (Delay a bug when indexing unsized slices)
 - #136326 (Replace our `LLVMRustDIBuilderRef` with LLVM-C's `LLVMDIBuilderRef`)
 - #136330 (Remove unnecessary hooks)
 - #136336 (Overhaul `rustc_middle::util`)
 - #136341 (Remove myself from vacation)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-01-31 20:16:46 +00:00
Jakub Beránek d06c3fc3b4
Merge pull request #2237 from Kobzol/ci-fix
Pass `GITHUB_TOKEN` to Zulip CI step
2025-01-31 17:02:21 +01:00
Jakub Beránek 4755a326eb Pass `GITHUB_TOKEN` to Zulip CI step 2025-01-31 17:01:38 +01:00
bors d4719cf293 Auto merge of #134424 - 1c3t3a:null-checks, r=saethlin
Insert null checks for pointer dereferences when debug assertions are enabled

Similar to how the alignment is already checked, this adds a check
for null pointer dereferences in debug mode. It is implemented similarly
to the alignment check as a `MirPass`.

This inserts checks in the same places as the `CheckAlignment` pass and additionally
also inserts checks for `Borrows`, so code like
```rust
let ptr: *const u32 = std::ptr::null();
let val: &u32 = unsafe { &*ptr };
```
will have a check inserted on dereference. This is done because null references
are UB. The alignment check doesn't cover these places, because in `&(*ptr).field`,
the exact requirement is that the final reference must be aligned. This is something to
consider further enhancements of the alignment check.

For now this is implemented as a separate `MirPass`, to make it easy to disable
this check if necessary.

This is related to a 2025H1 project goal for better UB checks in debug
mode: https://github.com/rust-lang/rust-project-goals/pull/177.

r? `@saethlin`
2025-01-31 15:56:53 +00:00
Matthias Krüger f5aeec5e92
Rollup merge of #136341 - jieyouxu:unvac, r=jieyouxu
Remove myself from vacation

r? `@ghost`
2025-01-31 12:28:20 +01:00
Matthias Krüger 5a2b27486a
Rollup merge of #136336 - nnethercote:overhaul-rustc_middle-util, r=jieyouxu
Overhaul `rustc_middle::util`

It's an odd module with some odd stuff in it.

r? `@Noratrieb`
2025-01-31 12:28:20 +01:00
Matthias Krüger 75f7c455da
Rollup merge of #136330 - nnethercote:rm-unnecessary-hooks, r=oli-obk
Remove unnecessary hooks

Some hooks can be downgraded to vanilla functions.

r? `@oli-obk`
2025-01-31 12:28:19 +01:00
Matthias Krüger 0691f71803
Rollup merge of #136326 - Zalathar:llvm-di-builder-ref, r=nikic
Replace our `LLVMRustDIBuilderRef` with LLVM-C's `LLVMDIBuilderRef`

Inspired by trying to split #134009 into smaller steps that are easier to review individually.

This makes it possible to start incrementally replacing our debuginfo bindings with the ones in the LLVM-C API, all of which operate on `LLVMDIBuilderRef`.

There should be no change to compiler behaviour.
2025-01-31 12:28:18 +01:00
Matthias Krüger 9f073e22d5
Rollup merge of #136325 - compiler-errors:indirectly, r=RalfJung
Delay a bug when indexing unsized slices

Fixes #136298

r? RalfJung or reassign
2025-01-31 12:28:18 +01:00
Matthias Krüger 9963ece339
Rollup merge of #136194 - taiki-e:bpf-clobber-abi, r=amanieu
Support clobber_abi in BPF inline assembly

This supports [`clobber_abi`](https://doc.rust-lang.org/nightly/reference/inline-assembly.html#abi-clobbers) which is one of the requirements of stabilization mentioned in the tracking Issue for `asm_experimental_arch` (#93335).

Refs: [Section 1.1 "Registers and calling convention" in BPF ABI Recommended Conventions and Guidelines v1.0](https://github.com/torvalds/linux/blob/v6.13/Documentation/bpf/standardization/abi.rst#11registers-and-calling-convention)
> R0 - R5 are scratch registers and BPF programs needs to spill/fill them if necessary across calls.

cc `@alessandrod` `@dave-tucker` `@tamird` `@vadorovsky` (target maintainers mentioned in platform support document which will be added by https://github.com/rust-lang/rust/pull/135107)

r? `@Amanieu`

`@rustbot` label +O-eBPF +A-inline-assembly
2025-01-31 12:28:17 +01:00
Matthias Krüger 30c56c6e2b
Rollup merge of #135992 - madsmtm:new-target-docs, r=jieyouxu
Improve documentation when adding a new target

https://github.com/rust-lang/rust/pull/133631#issuecomment-2607877936 shows that it can be a bit difficult process-wise to add a new target.

I've added a bit of text to the docs, suggesting that users add the target defintion/spec first, and later work on `std` support.

I also found that we have two places where we document how to add a new target. I've linked these for now, but they should probably be merged somehow in the future.

`@rustbot` label A-docs
r? compiler
CC `@workingjubilee` who's worked a lot on target specs IIRC.
2025-01-31 12:28:16 +01:00