Commit graph

298901 commits

Author SHA1 Message Date
bjorn3
bc02a99f8f Rustup to rustc 1.89.0-nightly (777d37277 2025-05-17) 2025-05-18 14:30:42 +00:00
bjorn3
7b670d243f Sync from rust 777d372772 2025-05-18 14:21:04 +00:00
Mahmoud Mazouz
228a7bb918
Fix typos in "Libraries and Metadata" 2025-05-18 15:37:18 +02:00
Alex Macleod
618ccd7f03
Do not call TyCtxt::type_of() on a trait (#14830)
changelog: [`useless_as_ref`]: fix ICE on trait method

Fixes rust-lang/rust-clippy#14828
2025-05-18 12:22:57 +00:00
Michael Goulet
407fac5479 Fast path for sized pred 2025-05-18 12:18:44 +00:00
Michael Goulet
1d0d258a86 Fast path for processing some obligations in the new solver 2025-05-18 12:18:44 +00:00
Ralf Jung
3c50b9be19
Merge pull request #4322 from tiif/move_test
Add more comments to libc-fs-with-isolation test
2025-05-18 12:07:38 +00: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
tiif
f9a75a00b4 Add more comment to libc-fs-with-isolation test 2025-05-18 13:42:07 +02: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
MarcoIeni
c2792b29c3
ci: split dist-arm-linux job 2025-05-18 12:12:20 +02:00
Folkert de Vries
abbf8fe6e7 fix an if statement that can be collapsed 2025-05-18 12:01:05 +02:00
Ralf Jung
6eb1afa468 tools-aux ci runner: also cross-test doctests 2025-05-18 11:36:59 +02: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
León Orell Valerian Liehr
15859331d0
Rollup merge of #140511 - mathisbot:master, r=dtolnay
Stabilize `#![feature(non_null_from_ref)]`

This PR stabilizes the following:
```rust
impl<T: ?Sized> NonNull<T> {
    pub const fn from_ref(reference: &T) -> NonNull<T>;
    pub const fn from_mut(reference: &mut T) -> NonNull<T>;
}
```
The feature is tracked in [#130823](https://github.com/rust-lang/rust/issues/130823).
2025-05-18 11:03:44 +02:00
León Orell Valerian Liehr
5592f41a00
Rollup merge of #140113 - Urgau:rustc-book-page-toc, r=ehuss
Add per page TOC in the `rustc` book

This PR adds per page Table of Content (TOC) in the `rustc` book (to be extended in the future to our other books).

The goal is to easy the navigation inside the page by providing quick overview of the page content and our position inside that page.

That functionality is unfortunately not available natively in `mdbook`, which prompted community members to create [mdBook-pagetoc](https://github.com/JorelAli/mdBook-pagetoc/) (which this PR is heavily inspired by). It's "only" a JS file (to handle the TOC) and a CSS file (to handle the margin, colors, screen size, ...), there is no "post-processor" needed (in mdbook sense).

![image](https://github.com/user-attachments/assets/9e790bea-059d-414e-b4a5-ac8170f57e27)

Live preview at: http://urgau.rf.gd/book

r? ```@jieyouxu```
2025-05-18 11:03:44 +02:00
bors
7205fc537d Auto merge of #141129 - compiler-errors:register-region-obl, r=oli-obk
Fast path for `register_region_obligation`

If a type has no params, infer, placeholder, or non-`'static` free regions, then we can skip registering outlives obligations since the type has no components which affect lifetime checking in an interesting way.
2025-05-18 08:56:48 +00:00
Lukas Wirth
7e4bbe1f6b
Merge pull request #19687 from gohome001/highlight_unsafe
feat: highlight unsafe operations
2025-05-18 08:44:10 +00:00
Samuel Tardieu
15d47d74bf
Fixing minor typo in book (#14835)
fix minor typo in book: toolcahin => toolchain

changelog: none
2025-05-18 08:42:27 +00:00
Pete LeVasseur
1e3fc3cc46 fix minor typo: toolcahin => toolchain
changelog: none
2025-05-18 17:26:28 +09:00
xizheyin
9de7fff0d8
Suggest use "{}", self.x instead of {self.x} when resolve x as field of self
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-05-18 16:14:48 +08:00
xizheyin
fe0663c33d
Add test sugg-field-in-format-string-issue-141136
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-05-18 15:53:03 +08:00
Samuel Tardieu
b7caa1b3e0
Do not call TyCtxt::type_of() on a trait 2025-05-18 09:38:19 +02:00
Fluid
0dec3fee34 replace try_reserve_exact with try_with_capacity in std::fs::read 2025-05-18 09:54:57 +03:00
Ralf Jung
0abf62f692
Merge pull request #4327 from rust-lang/rustup-2025-05-18
Automatic Rustup
2025-05-18 06:35:03 +00:00
Ralf Jung
48093fd695 attempt to make doctests work properly with old and new cargo 2025-05-18 08:10:09 +02:00
sayantn
2898680ebd
Remove uses of #[feature(avx512_target_feature)] 2025-05-18 11:12:25 +05:30
sayantn
cf7caded0b
Stabilize avx512_target_feature 2025-05-18 11:12:15 +05:30
The Miri Cronjob Bot
84506c64ff fmt 2025-05-18 05:02:46 +00:00
The Miri Cronjob Bot
789d1a4fc3 Merge from rustc 2025-05-18 05:01:38 +00:00
The Miri Cronjob Bot
4320e6f474 Preparing for merge from rustc 2025-05-18 04:54:45 +00:00
bors
ae3b909a32 Auto merge of #141063 - dianqk:llvm-20.1.5, r=cuviper
Update to LLVM 20.1.5

`@rustbot` label A-LLVM T-compiler
2025-05-18 04:54:07 +00:00
bors
ac17c3486c Auto merge of #141039 - lqd:expensive-sanity, r=compiler-errors
move expensive layout sanity check to debug assertions

It is [hard to fix](https://github.com/rust-lang/rust/issues/141006#issuecomment-2883415000) the slowness in the uninhabitedness computation for very big types but we can fix the very specific case of them being called during the layout sanity checks, as described in #140944.

So this PR moves this uninhabitedness check to the other expensive layout sanity checks that are ran under `debug_assertions`.

It makes building the `lemmy_api_routes` crate's self-profile `layout_of` query go from

```
+--------------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| Item                                                   | Self time | % of total time | Time     | Item count | Incremental result hashing time |
+--------------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
| layout_of                                              | 63.02s    | 41.895          | 244.26s  | 123703     | 50.30ms                         |
+--------------------------------------------------------+-----------+-----------------+----------+------------+---------------------------------+
```

on master (2m17s total), to

```
| layout_of                                              | 330.21ms  | 0.372           | 26.90s   | 123703     | 53.19ms                         |
```

with this PR (1m15s total).

(Note that the [perf run results](https://github.com/rust-lang/rust/pull/141039#issuecomment-2884688756) below look a bit better than [an earlier run](https://perf.rust-lang.org/compare.html?start=4eca99a18eab3d4e28ed1ce3ee620d442955a470&end=c4a00993f8ee02c7565e7be652608817ea2fb97d&stat=instructions:u) I did in another PR. There may be some positive noise there, or post-merge results could differ a bit)

Since we discussed this today, r? `@compiler-errors` — and cc `@lcnr` and `@RalfJung.`
2025-05-18 01:30:48 +00:00
bors
16244bc37a Auto merge of #140856 - oli-obk:merge-queries2, r=nnethercote
Merge mir query analysis invocations

r? `@ghost`

same thing as https://github.com/rust-lang/rust/pull/140854 just a different set of queries

Doing this in general has some bad cache coherence issues because the query caches are laid out in Vec<QueryResult> lists per query where each index refers to a DefId in the same order as we're iterating. Iterating two or more lists at the same time does have cache issues, so I want to poke a bit at it to see if we can't merge just a few of them at a time.
2025-05-17 22:31:43 +00:00
Folkert de Vries
5af9652e5c
extract operand parser 2025-05-17 23:06:11 +02:00
Folkert de Vries
cd22c1b883
determine later whether an explicit reg was used 2025-05-17 23:06:10 +02:00
Michael Goulet
98cdb829a8 Fast path for register_region_obligation 2025-05-17 19:35:05 +00:00
bors
777d372772 Auto merge of #138087 - tgross35:core-float-math, r=Amanieu
Initial implementation of `core_float_math`

Since [1], `compiler-builtins` makes a certain set of math symbols
weakly available on all platforms. This means we can begin exposing some
of the related functions in `core`, so begin this process here.

It is not possible to provide inherent methods in both `core` and `std`
while giving them different stability gates, so standalone functions are
added instead. This provides a way to experiment with the functionality
while unstable; once it is time to stabilize, they can be converted to
inherent.

For `f16` and `f128`, everything is unstable so we can move the inherent
methods.

The following are included to start:

* floor
* ceil
* round
* round_ties_even
* trunc
* fract
* mul_add
* div_euclid
* rem_euclid
* powi
* sqrt
* abs_sub
* cbrt

These mirror the set of functions that we have in `compiler-builtins`
since [1], with the exception of `powi` that has been there longer.

Details for each of the changes is in the commit messages.

Tracking issue: https://github.com/rust-lang/rust/issues/137578

[1]: https://github.com/rust-lang/compiler-builtins/pull/763

try-job: aarch64-gnu
tru-job: armhf-gnu
try-job: i686-msvc-1
try-job: test-various
try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
2025-05-17 19:31:39 +00:00
GrantBirki
4358a1c05e
remove extra tests that really might not be all that useful 2025-05-17 10:49:15 -07:00