Commit Graph

265028 Commits

Author SHA1 Message Date
ranger-ross
24ad26db3b
Fixed some typos in the standard library documentation/comments 2024-08-31 14:41:01 +09:00
bors
fa72f0763d Auto merge of #129797 - workingjubilee:cleanup-apple-ci, r=workingjubilee
Try to reduce space usage in dist CI

We have had recurrent CI problems as a result of GitHub adding a new version of Xcode to its runners[^0], which has consumed ~40GB of space which served as padding. Try to reduce the number of Xcodes on our systems, because we only use Xcode 14 in actual practice. Also, try to move files instead of pointlessly copy them when we're at the end of the job.

I could not resist addressing a few shellcheck lints while I was at it.

[^0]: https://github.com/actions/runner-images/issues/10511
2024-08-31 03:54:22 +00:00
Jubilee Young
8da1c0049a ci: Take tail instead of head to avoid broken pipes 2024-08-30 20:51:52 -07:00
Jubilee Young
6cb4768ddd ci: Avoid legacy backticks in upload-artifacts.sh 2024-08-30 20:51:52 -07:00
Jubilee Young
fe7c97c2e7 ci: Use mv instead of cp in upload step 2024-08-30 20:51:52 -07:00
Jubilee Young
06f49f6d53 ci: Try to remove unused Xcode dirs 2024-08-30 20:51:52 -07:00
Weihang Lo
6c393b1e15
Update cargo 2024-08-31 09:30:22 +08:00
Josh Stone
99e14e3c80 Remove the relnote for rustdoc's *unstable* --remap-path-prefix 2024-08-30 17:56:17 -07:00
Josh Stone
27873f8052 Mention sort perf, and add its panics in compat notes 2024-08-30 17:54:36 -07:00
Josh Stone
dd9fcffb20 Drop the edition relnote about ! fallback 2024-08-30 17:18:54 -07:00
Josh Stone
8c19c14c3f Add release notes for 1.81.0 2024-08-30 17:18:54 -07:00
joboet
f51289214c
mark joboet as on vacation 2024-08-30 21:28:42 +02:00
Boxy
4d272b18b9 Bump to 1.83 2024-08-30 19:58:04 +01:00
Strophox
7fde02ea53 enable Miri to pass const pointers through FFI
Co-authored-by: Ralf Jung <post@ralfj.de>
2024-08-30 16:05:53 +02:00
cyrgani
fff063ee77 add crashtests for several old unfixed ICEs 2024-08-30 12:50:07 +02:00
Matthias Krüger
355d7c9ecd couple more crash tests 2024-08-30 12:38:22 +02:00
Ralf Jung
f6b7727605 enumerate the two parts of the NaN rules 2024-08-30 11:31:36 +02:00
Nicholas Nethercote
c5e4ff17a6 Remove #[macro_use] extern crate tracing from rustc_hir_typeck. 2024-08-30 17:14:59 +10:00
Nicholas Nethercote
4b3fa8e9f0 Remove #[macro_use] extern crate tracing from rustc_trait_selection. 2024-08-30 17:14:59 +10:00
Nicholas Nethercote
cc16c902f1 Remove #[macro_use] extern crate tracing from rustc_hir_analysis. 2024-08-30 17:14:59 +10:00
Nicholas Nethercote
67556eca99 Remove #[macro_use] extern crate tracing from rustc_borrowck. 2024-08-30 17:14:53 +10:00
Rémy Rakic
dff3d3588d add borrows to NLL MIR dumps
explicitly disable `-Zmir-include-spans` in mir-opt tests

This will override the NLL default of true, and keep the blessed dumps
easier to work with.
2024-08-30 07:14:31 +00:00
Rémy Rakic
f3f5b4dcf2 refactor NLL MIR dump entry point 2024-08-30 07:14:31 +00:00
Rémy Rakic
92e1046502 enable extra comments in NLL MIR dumps 2024-08-30 07:14:31 +00:00
Rémy Rakic
e0bb1c7291 make -Z mir-include-spans a dedicated enum
We want to allow setting this on the CLI, override it only in MIR
passes, and disable it altogether in mir-opt tests.

The default value is "only for NLL MIR dumps", which is considered off
for all intents and purposes, except for `rustc_borrowck` when an NLL
MIR dump is requested.
2024-08-30 07:14:19 +00:00
Rémy Rakic
c646b46b52 introduce PrettyPrintMirOptions for cosmetic MIR dump options
initially starting with `-Z mir-include-spans` because we want them in
the NLL mir dump pass
2024-08-30 07:07:28 +00:00
Ralf Jung
08fadfd8d8 add hyphen in floating-point 2024-08-30 08:23:12 +02:00
Yuri Astrakhan
f41e0bb41d Squashed aarch64_unknown_nto_qnx700 support 2024-08-30 01:19:55 -04:00
bors
f03c7b2170 Auto merge of #3853 - rust-lang:rustup-2024-08-30, r=saethlin
Automatic Rustup
2024-08-30 05:13:13 +00:00
The Miri Cronjob Bot
23f4eae905 Merge from rustc 2024-08-30 05:09:57 +00:00
The Miri Cronjob Bot
0453d9bee8 Preparing for merge from rustc 2024-08-30 05:02:07 +00:00
Nicholas Nethercote
ac7a293336 Avoid repeated interning in SelfArgVisitor. 2024-08-30 13:35:41 +10:00
Nicholas Nethercote
ee5ec5a196 Remove #[macro_use] extern crate tracing from rustfmt. 2024-08-30 13:35:05 +10:00
Nicholas Nethercote
de02c4af61 Remove #[macro_use] extern crate tracing from rustfmt helpers. 2024-08-30 13:31:05 +10:00
Nicholas Nethercote
37d1ce91b5 Remove #[macro_use] extern crate tracing from rustdoc. 2024-08-30 13:16:08 +10:00
Nicholas Nethercote
8541b0f1f3 Use let/else to reduce some indentation. 2024-08-30 10:30:57 +10:00
Nicholas Nethercote
243109e006 Remove an unnecessary continue. 2024-08-30 10:30:57 +10:00
Nicholas Nethercote
590a02173b Factor out some repetitive code. 2024-08-30 10:30:57 +10:00
Nicholas Nethercote
408481f4d8 Remove some unnecessary constants.
These are just renamings of `CoroutineArgs` constants.
2024-08-30 10:30:57 +10:00
Nicholas Nethercote
d7cb1181dc Merge DerefArgVisitor and PinArgVisitor.
They are almost identical, differing only in the `ProjectionElem` they
insert. This commit merges them into a new type `SelfArgVisitor`.
2024-08-30 10:30:57 +10:00
Nicholas Nethercote
5331280a2b Merge some ifs.
For more concise code.
2024-08-30 10:30:57 +10:00
Nicholas Nethercote
3b6af9a451 Use a local variable. 2024-08-30 10:30:57 +10:00
Nicholas Nethercote
66b3585145 Simplify a pattern. 2024-08-30 10:30:57 +10:00
Nicholas Nethercote
2932e097f4 Simplify creation of a set. 2024-08-30 10:30:57 +10:00
Nicholas Nethercote
fda52b8f63 Simplify a provider definition. 2024-08-30 10:30:57 +10:00
Nicholas Nethercote
016a709b24 Condense use rustc_* declarations.
No reason to have two of them listed separately, after modules.
2024-08-30 10:30:56 +10:00
Nicholas Nethercote
016a2e30a9 Remove unused features. 2024-08-30 10:30:56 +10:00
Nicholas Nethercote
04a07dc314 Remove #[macro_use] extern crate tracing from rustc_infer. 2024-08-30 10:01:35 +10:00
Nicholas Nethercote
ed5161c5ac Remove #[macro_use] extern crate tracing from rustc_mir_transform. 2024-08-30 10:01:34 +10:00
Nicholas Nethercote
fa4f8925f1 Remove Option<!> return types.
Several compiler functions have `Option<!>` for their return type.
That's odd. The only valid return value is `None`, so why is this type
used?

Because it lets you write certain patterns slightly more concisely. E.g.
if you have these common patterns:
```
    let Some(a) = f() else { return };
    let Ok(b) = g() else { return };
```
you can shorten them to these:
```
    let a = f()?;
    let b = g().ok()?;
```
Huh.

An `Option` return type typically designates success/failure. How should
I interpret the type signature of a function that always returns (i.e.
doesn't panic), does useful work (modifying `&mut` arguments), and yet
only ever fails? This idiom subverts the type system for a cute
syntactic trick.

Furthermore, returning `Option<!>` from a function F makes things
syntactically more convenient within F, but makes things worse at F's
callsites. The callsites can themselves use `?` with F but should not,
because they will get an unconditional early return, which is almost
certainly not desirable. Instead the return value should be ignored.
(Note that some of callsites of `process_operand`, `process_immedate`,
`process_assign` actually do use `?`, though the early return doesn't
matter in these cases because nothing of significance comes after those
calls. Ugh.)

When I first saw this pattern I had no idea how to interpret it, and it
took me several minutes of close reading to understand everything I've
written above. I even started a Zulip thread about it to make sure I
understood it properly. "Save a few characters by introducing types so
weird that compiler devs have to discuss it on Zulip" feels like a bad
trade-off to me. This commit replaces all the `Option<!>` return values
and uses `else`/`return` (or something similar) to replace the relevant
`?` uses. The result is slightly more verbose but much easier to
understand.
2024-08-30 08:18:41 +10:00