Commit graph

289633 commits

Author SHA1 Message Date
Jakub Beránek
346ef86a58
Remove mentions of rust-lang-ci/rust
Now that CI has been finally migrated to `rust-lang/rust`.
2025-05-23 13:27:17 +02:00
Boxy
f499cd0000
Merge pull request #2400 from smanilov/patch-13
Make it clear we talk about early bound params
2025-05-20 16:36:21 +01:00
Boxy
1710217ebe
Merge pull request #2398 from smanilov/patch-12
Update links between ty-module and binders
2025-05-20 16:18:22 +01:00
Stan Manilov
50211e008e
Make it clear we talk about early bound params 2025-05-20 16:25:11 +03:00
León Orell Valerian Liehr
1944bce61a
Merge pull request #2399 from steffahn/fix-tenv-link
Fix misdirected link for `TypingEnv`
2025-05-20 13:57:50 +02:00
Frank Steffahn
a611f5016a Fix misdirected link for TypingEnv 2025-05-20 13:26:22 +02:00
Stan Manilov
2754f18199 Update links between ty-module and binders
The order might have been reversed at some point, leading to the two
chapters talking about each other in the wrong order.
2025-05-20 13:52:33 +03:00
nora
33aa48c1f3
Merge pull request #2396 from smanilov/patch-11
Small typo and style fixes in  binders.md
2025-05-20 11:10:30 +02:00
Stan Manilov
0653799745
Small typo and style fixes in binders.md
Normally I refrain from nit picking, but this seamed worth it.
2025-05-20 11:41:55 +03:00
Tshepang Mbambo
86662dced5
Merge pull request #2392 from rust-lang/rustc-pull
Rustc pull update
2025-05-20 04:37:19 +02:00
许杰友 Jieyou Xu (Joe)
bcf2b59833
Merge pull request #2395 from smanilov/patch-10 2025-05-19 22:36:58 +08:00
Stan Manilov
4f45f0442b
Update link to Forge guide on new flags 2025-05-19 17:32:29 +03:00
nora
f42a6e3012
Merge pull request #2394 from smanilov/patch-9
Make run instructions first
2025-05-19 14:34:27 +02:00
nora
44b91dd50c
Merge pull request #2393 from smanilov/patch-8
Remove unused references and simplify one
2025-05-19 14:33:57 +02:00
Stan Manilov
114367587c
Make run instructions first
Better, because then one knows how to run the examples.
2025-05-19 14:44:36 +03:00
Stan Manilov
686f0fa8a2
Remove unused references and simplify one 2025-05-19 14:41:19 +03:00
nora
85379b1d1a
Merge pull request #2389 from fuzzypixelz/typos
Fix typos in "Libraries and Metadata"
2025-05-19 12:39:24 +02:00
The rustc-dev-guide Cronjob Bot
288ca05976 Merge from rustc 2025-05-19 04:16:41 +00:00
The rustc-dev-guide Cronjob Bot
70ead0af5b Preparing for merge from rustc 2025-05-19 04:10:52 +00:00
bors
e42bbfe1f7 Auto merge of #140154 - Berrysoft:cygwin-host, r=jieyouxu
Cygwin support in rustc

This PR builds host rustc targeting cygwin.

- [x] https://github.com/rust-lang/stacker/pull/122
- [x] https://github.com/nagisa/rust_libloading/pull/173
- [x] https://github.com/Detegr/rust-ctrlc/pull/131
- [x] https://github.com/rust-random/getrandom/pull/654
- [x] https://github.com/msys2/MSYS2-packages/issues/5350
- [x] https://github.com/rust-lang/rust/pull/140886
- [x] https://github.com/rust-lang/rust/pull/140921
- [x] https://github.com/rust-lang/rust/pull/140973

Currently supported:
* rustc
* rustdoc
* rustfmt
* clippy

Blocking:
* cargo: blocked by https://github.com/rust-lang/socket2/pull/568
* rust-analyzer: needs `cargo update`, fixed upstream

```
$ rustc --version --verbose
rustc 1.88.0-dev
binary: rustc
commit-hash: unknown
commit-date: unknown
host: x86_64-pc-cygwin
release: 1.88.0-dev
LLVM version: 20.1.4
```
2025-05-18 23:53:04 +00:00
bors
4d051fb306 Auto merge of #127013 - tgross35:f16-format-parse, r=Mark-Simulacrum
Add `f16` formatting and parsing

Use the same algorithms as for `f32` and `f64` to implement `f16` parsing and printing.

try-job: x86_64-gnu-aux
2025-05-18 20:38:01 +00:00
León Orell Valerian Liehr
46aad859c8
Merge pull request #2391 from fmease/excl-iss-w-pr
Exclude issues with an associated PR from the "What should I work on" GH query
2025-05-18 20:05:13 +02:00
León Orell Valerian Liehr
34ee7e206f
Exclude issues with an associated PR from the "What should I work on" GH query 2025-05-18 20:01:47 +02:00
Trevor Gross
250869e909 float: Add f16 to test-float-parse
This requires a fix to the subnormal test to cap the maximum allowed
value within the maximum mantissa.
2025-05-18 16:51:28 +00:00
Trevor Gross
977d841869 float: Add tests for f16 conversions to and from decimal
Extend the existing tests for `f32` and `f64` with versions that include
`f16`'s new printing and parsing implementations.

Co-authored-by: Speedy_Lex <alex.ciocildau@gmail.com>
2025-05-18 16:51:28 +00:00
bors
4455c89370 Auto merge of #141232 - fmease:rollup-qr9mobf, r=fmease
Rollup of 8 pull requests

Successful merges:

 - #138940 (Stabilize the avx512 target features)
 - #140490 (split `asm!` parsing and validation)
 - #140628 (std: stop using TLS in signal handler)
 - #140746 (name resolution for guard patterns)
 - #140926 (Return value of coroutine_layout fn changed to Result with LayoutError)
 - #141127 (bump windows crate for compiler,bootstrap and tools)
 - #141214 (Miri subtree update)
 - #141218 (gvn: avoid creating overlapping assignments)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-05-18 16:46:11 +00:00
León Orell Valerian Liehr
50b20b73da
Rollup merge of #141218 - dianqk:gvn-overlapping, r=oli-obk
gvn: avoid creating overlapping assignments

Quick fix #141038, as I couldn't find a way to avoid in-place modification. I'm considering handling all `ravlue` modifications within the `visit_statement` function.

r? mir-opt
2025-05-18 18:44:14 +02:00
León Orell Valerian Liehr
cf3b1b1d92
Rollup merge of #141214 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? ``@ghost``

Fixes https://github.com/rust-lang/miri/issues/4328
2025-05-18 18:44:13 +02:00
León Orell Valerian Liehr
20bd5977ed
Rollup merge of #141127 - klensy:windows-bump-61, r=albertlarsan68,jieyouxu
bump windows crate for compiler,bootstrap and tools

This dedupes crate versions. For `x86_64-pc-windows-msvc` stage1 cuts few kb from `rustc_driver.dll`, nice.
2025-05-18 18:44:13 +02:00
León Orell Valerian Liehr
3af0c43f06
Rollup merge of #140926 - azhogin:azhogin/async-drop-coroutine-layout-returns-layout-error, r=oli-obk
Return value of coroutine_layout fn changed to Result with LayoutError

Continue of https://github.com/rust-lang/rust/pull/140902:
`coroutine_layout` fn is now returns `Result` with `LayoutError` to have consistent error with `layout_of_uncached`.
`async_drop_coroutine_layout` fn is now return `LayoutError::TooGeneric` in case of not-fully-specialized `async_drop_in_place<T>::{closure}` coroutine.
2025-05-18 18:44:12 +02:00
León Orell Valerian Liehr
4e5b1aa055
Rollup merge of #140746 - dianne:guard-pat-res, r=oli-obk
name resolution for guard patterns

This PR provides an initial implementation of name resolution for guard patterns [(RFC 3637)](https://github.com/rust-lang/rfcs/blob/master/text/3637-guard-patterns.md). This does not change the requirement that the bindings on either side of an or-pattern must be the same [(proposal here)](https://github.com/rust-lang/rfcs/blob/master/text/3637-guard-patterns.md#allowing-mismatching-bindings-when-possible); the code that handles that is separate from what this PR touches, so I'm saving it for a follow-up.

On a technical level, this separates "collecting the bindings in a pattern" (which was already done for or-patterns) from "introducing those bindings into scope". I believe the approach used here can be extended straightforwardly in the future to work with `if let` guard patterns, but I haven't tried it myself since we don't allow those yet.

Tracking issue for guard patterns: #129967

cc ``@Nadrieril``
2025-05-18 18:44:11 +02:00
León Orell Valerian Liehr
6f415e0f4c
Rollup merge of #140628 - joboet:async_signal_safe, r=Mark-Simulacrum
std: stop using TLS in signal handler

TLS is not async-signal-safe, making its use in the signal handler used to detect stack overflows unsound (c.f. #133698). POSIX however lists two thread-specific identifiers that can be obtained in a signal handler: the current `pthread_t` and the address of `errno`. Since `pthread_equal` is not AS-safe, `pthread_t` should be considered opaque, so for our purposes, `&errno` is the only option. This however works nicely: we can use the address as a key into a map that stores information for each thread. This PR uses a `BTreeMap` protected by a spin lock to hold the guard page address and thread name and thus fixes #133698.
2025-05-18 18:44:11 +02:00
León Orell Valerian Liehr
2f0c6e217f
Rollup merge of #140490 - folkertdev:asm-parser-changes, r=Amanieu,traviscross
split `asm!` parsing and validation

This PR splits `asm!` parsing and validation into two separate steps.

The parser constructs a `Vec<RawAsmArg>`, with each element corresponding to an argument to one of the `asm!` macros.
The validation then checks things like ordering of arguments or that options are not provided twice.

The motivation is https://github.com/rust-lang/rust/issues/140279, which wants to add `#[cfg(...)]` support to these arguments. This support can now be added in a straightforward way by adding an `attributes: ast::AttrVec` field to `RawAsmArg`.

An extra reason for this split is that `rustfmt` probably wants to format the assembly at some point (currently that appears to be stubbed out, and the formatting is unstable https://github.com/rust-lang/style-team/issues/152).

r? ``@ghost`` (just want to look at CI for now)

cc ``@ytmimi`` we discussed asm formatting a little while ago in https://github.com/rust-lang/rustfmt/issues/6526. Am I correct in assuming that `AsmArgs` does not give enough information for formatting, but that `RawAsmArgs` would (it e.g. does not join information from multiple lines). This must have been an issue before?

try-job: aarch64-apple
2025-05-18 18:44:10 +02:00
León Orell Valerian Liehr
2f6811eff8
Rollup merge of #138940 - sayantn:stabilize-avx512, r=Amanieu,traviscross
Stabilize the avx512 target features

This PR stabilizes the AVX512 target features - see [this comment](https://github.com/rust-lang/rust/issues/111137#issuecomment-2745821279).

Tracking Issue - #44839

The target feature UI tests have been changed to `x87` (chosen because this is very unlikely to stablize ever, please comment if some other feature will be better)

related: #111137
2025-05-18 18:44:10 +02:00
Trevor Gross
6fc60b8b04 float: Add f16 parsing and printing
Use the existing Lemire (decimal -> float) and Dragon / Grisu algorithms
(float -> decimal) to add support for `f16`. This allows updating the
implementation for `Display` to the expected behavior for `Display`
(currently it prints the a hex bitwise representation), matching other
floats, and adds a `FromStr` implementation.

In order to avoid crashes when compiling with Cranelift or on targets
where f16 is not well supported, a fallback is used if
`cfg(target_has_reliable_f16)` is not true.
2025-05-18 16:43:13 +00:00
Mahmoud Mazouz
228a7bb918
Fix typos in "Libraries and Metadata" 2025-05-18 15:37:18 +02:00
bors
b53e5c9db0 Auto merge of #141216 - fmease:rollup-pa5mvx3, r=fmease
Rollup of 8 pull requests

Successful merges:

 - #140113 (Add per page TOC in the `rustc` book)
 - #140511 (Stabilize `#![feature(non_null_from_ref)]`)
 - #140924 (Make some `f32`/`f64` tests also run in const-context)
 - #140966 (Remove #![feature(let_chains)] from library and src/librustdoc)
 - #141045 ([win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test)
 - #141071 (Enable [behind-upstream] triagebot option for rust-lang/rust)
 - #141132 (Use `crate::` prefix for root macro suggestions)
 - #141139 (Fix Rust for Linux ping group label)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-05-18 12:05:55 +00:00
dianne
f0b8ec1d71 name resolution for guard patterns 2025-05-18 04:21:57 -07:00
dianqk
d2e5a3d131
gvn: avoid creating overlapping assignments 2025-05-18 18:42:00 +08:00
Folkert de Vries
26e3a5041a
add AsmOptions with some named fields 2025-05-18 11:28:31 +02:00
Folkert de Vries
85053d1cd1
rename to get rid of the 'raw' concept 2025-05-18 11:28:31 +02:00
Folkert de Vries
e12d675739
delay error for unsupported options 2025-05-18 11:28:31 +02:00
Folkert de Vries
7ec06fc3b1
attempt to have rustfmt use the new logic
apparently it doesn't really use the asm parsing at present, so this may work?
2025-05-18 11:28:31 +02:00
Folkert de Vries
de8e305ba8
a new parser generating the exact same error messages
Co-authored-by: Travis Cross <tc@traviscross.com>
2025-05-18 11:28:19 +02:00
León Orell Valerian Liehr
c7e2e88da0
Rollup merge of #141139 - jieyouxu:fix-rfl, r=Urgau
Fix Rust for Linux ping group label

Noticed in https://github.com/rust-lang/rust/pull/140966#issuecomment-2886704667. Seems like a broken label can cause the triagebot ping message to not be issued.

See https://github.com/rust-lang/triagebot/issues/1992.

```@rustbot``` label: +A-rust-for-linux
2025-05-18 11:03:48 +02:00
León Orell Valerian Liehr
b89118aed8
Rollup merge of #141132 - bvanjoi:issue-141082, r=fmease
Use `crate::` prefix for root macro suggestions

Fixes #141082

I've changed the prefix to `crate` directly, since it's compatible across all editions.
2025-05-18 11:03:47 +02:00
León Orell Valerian Liehr
2aff1d6ab4
Rollup merge of #141071 - xizheyin:behind-upstream, r=Urgau
Enable [behind-upstream] triagebot option for rust-lang/rust

After testing in [rustc-develop-guide](https://github.com/rust-lang/rustc-dev-guide/pull/2384#issuecomment-2876631306), we can turn on `behind-upstream` here.

Doc: https://forge.rust-lang.org/triagebot/behind-upstream.html

r? ```@Urgau```
2025-05-18 11:03:46 +02:00
León Orell Valerian Liehr
e323c64fa4
Rollup merge of #141045 - dpaoliello:noarmhazard, r=jieyouxu
[win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test

PR #140758 added the undocumented `/arm64hazardfree` MSVC linker flag to work around a test failure where LLVM generated code that would trip a hazard in an outdated ARM processor.

Adding this flag caused issues with LLD, as it doesn't recognize it.

Rethinking the issue, using the undocumented flag seems like the incorrect solution: there's no guarantee that the flag won't be removed in the future, or change its meaning.

Instead, I've disabled the problematic test for Arm64 Windows and have filed a bug with the MSVC team to have the check removed: <https://developercommunity.microsoft.com/t/Remove-checking-for-and-fixing-Cortex-A/10905134>

This PR supersedes #140977

r? ```@jieyouxu```
2025-05-18 11:03:46 +02:00
León Orell Valerian Liehr
eb21b252c6
Rollup merge of #140966 - est31:let_chains_library, r=tgross35
Remove #![feature(let_chains)] from library and src/librustdoc

PR https://github.com/rust-lang/rust/pull/132833 has stabilized the `let_chains` feature. This PR removes the last occurences from the library, the compiler, and librustdoc (also because #140887 missed the conditional in one of the crates as it was behind the "rustc" feature).

We keep `core` as exercise for the future as updating it is non-trivial (see PR thread).
2025-05-18 11:03:45 +02:00
León Orell Valerian Liehr
5a55870aa1
Rollup merge of #140924 - Urgau:f32_f64_const_tests, r=Mark-Simulacrum
Make some `f32`/`f64` tests also run in const-context
2025-05-18 11:03:45 +02:00