Pavel Grigorenko
813ec60744
Port #[type_const] to the new attribute system
2025-07-09 01:06:29 +03:00
Matthias Krüger
bc9b313cb5
Rollup merge of #143402 - GrigorenkoPV:attributes/link_attrs, r=jdonszelmann
...
Port several linking (linkage?) related attributes the new attribute system
This ports:
- `#[export_stable]`
- `#[ffi_const]`
- `#[ffi_pure]`
- `#[rustc_std_internal_symbol]`
Part of rust-lang/rust#131229
r? ``@oli-obk``
2025-07-08 19:29:37 +02:00
bors
f838cbc06d
Auto merge of #134628 - estebank:const-default, r=oli-obk
...
Make `Default` const and add some `const Default` impls
Full list of `impl const Default` types:
- ()
- bool
- char
- std::ascii::Char
- usize
- u8
- u16
- u32
- u64
- u128
- i8
- i16
- i32
- i64
- i128
- f16
- f32
- f64
- f128
- std::marker::PhantomData<T>
- Option<T>
- std::iter::Empty<T>
- std::ptr::Alignment
- &[T]
- &mut [T]
- &str
- &mut str
- String
- Vec<T>
2025-07-08 14:04:40 +00:00
bors
2783fc43fd
Auto merge of #143621 - matthiaskrgr:rollup-p1ce8l7, r=matthiaskrgr
...
Rollup of 7 pull requests
Successful merges:
- rust-lang/rust#142098 (Implement `int_format_into` feature)
- rust-lang/rust#143567 (Point to correct argument in Func Call when Self type fails trait bound)
- rust-lang/rust#143570 (consider nested cases for duplicate RPITIT)
- rust-lang/rust#143571 (remove `has_nested` from builtin candidates)
- rust-lang/rust#143586 (Fix wrong cache event query key)
- rust-lang/rust#143589 (const-block-as-pattern: do not refer to no-longer-existing nightly feature)
- rust-lang/rust#143608 (Fix in std::String docs)
r? `@ghost`
`@rustbot` modify labels: rollup
2025-07-08 03:30:58 +00:00
Matthias Krüger
65dded8387
Rollup merge of #143589 - RalfJung:const-pat, r=compiler-errors
...
const-block-as-pattern: do not refer to no-longer-existing nightly feature
Surely everyone who used this nightly feature has fixed their code by now. So let's not confused people on stable that try to use a const block as a pattern by referring to some dead nightly feature.
2025-07-08 03:09:58 +02:00
Matthias Krüger
a4e05e1f74
Rollup merge of #143570 - bvanjoi:issue-143560, r=compiler-errors
...
consider nested cases for duplicate RPITIT
Fixes rust-lang/rust#143560
r? `@compiler-errors`
cc `@Zoxc`
2025-07-08 03:09:57 +02:00
Matthias Krüger
40e1ccf458
Rollup merge of #143567 - xizheyin:143336, r=compiler-errors
...
Point to correct argument in Func Call when Self type fails trait bound
Fixes rust-lang/rust#143336
When a trait bound fails due to the `Self` type parameter, `adjust_fulfillment_errors` now correctly points to the corresponding function argument instead of incorrectly pointing to other arguments. This is because `Call` may also need to handle the `self` parameter, and not just `MethodCall` needs to be handled, as rust-lang/rust#143336 .
r? compiler
2025-07-08 03:09:56 +02:00
bors
688ea65df6
Auto merge of #143433 - oli-obk:ty_span_qry, r=compiler-errors
...
Add `ty_span` query
r? `@compiler-errors`
fixes diagnostic regressions from https://github.com/rust-lang/rust/pull/142030
Also uses the new query in `check_const_item`
2025-07-08 00:11:13 +00:00
Esteban Küber
c3301503b9
Make Default const and add some const Default impls
...
Full list of `impl const Default` types:
- ()
- bool
- char
- Cell
- std::ascii::Char
- usize
- u8
- u16
- u32
- u64
- u128
- i8
- i16
- i32
- i64
- i128
- f16
- f32
- f64
- f128
- std::marker::PhantomData<T>
- Option<T>
- std::iter::Empty<T>
- std::ptr::Alignment
- &[T]
- &mut [T]
- &str
- &mut str
- String
- Vec<T>
2025-07-07 22:09:37 +00:00
Matthias Krüger
f5df1f562c
Rollup merge of #143583 - folkertdev:loop-match-no-terminator-on-block, r=bjorn3
...
`loop_match`: fix 'no terminator on block'
tracking issue: https://github.com/rust-lang/rust/issues/132306
fixes https://github.com/rust-lang/rust/issues/143435
The argument `block` was not properly closed on an error path.
r? `@bjorn3`
2025-07-07 19:55:35 +02:00
Matthias Krüger
6c8482ee2c
Rollup merge of #143539 - JonathanBrouwer:ice-regression-tests, r=oli-obk
...
Regression tests for repr ICEs
Closes https://github.com/rust-lang/rust/issues/143522
Closes https://github.com/rust-lang/rust/issues/143479
Both issues were already (accidentally) fixed in this PR, but having the tests is nice https://github.com/rust-lang/rust/pull/143252
r? `@jdonszelmann`
2025-07-07 19:55:33 +02:00
Matthias Krüger
2554c424ef
Rollup merge of #143340 - nabijaczleweli:awhile, r=mati865
...
awhile -> a while where appropriate
2025-07-07 19:55:32 +02:00
Matthias Krüger
00a4418158
Rollup merge of #132469 - estebank:issue-132041, r=Nadrieril
...
Do not suggest borrow that is already there in fully-qualified call
When encountering `&str::from("value")` do not suggest `&&str::from("value")`.
Fix #132041 .
2025-07-07 19:55:31 +02:00
Ralf Jung
1a6eff747f
const-block-as-pattern: do not refer to no-longer-existing nightly feature
2025-07-07 16:18:41 +02:00
Pavel Grigorenko
5d7771e50d
Port #[ffi_pure] to the new attribute system
2025-07-07 14:59:01 +03:00
Folkert de Vries
6d58a88c3c
loop_match: fix 'no terminator on block'
2025-07-07 13:55:40 +02:00
Pavel Grigorenko
99a9fe1b22
Port #[ffi_const] to the new attribute system
2025-07-07 14:52:52 +03:00
许杰友 Jieyou Xu (Joe)
fc13c96ca6
Rollup merge of #143464 - workingjubilee:make-debug-rs-cross-compile, r=oli-obk
...
Make tests/ui/abi/debug.rs cross-compile
Resumption of rust-lang/rust#141979 , making the test cross-compile.
2025-07-07 19:45:39 +08:00
Pavel Grigorenko
bb8b741c32
Port #[export_stable] to the new attribute system
2025-07-07 14:33:20 +03:00
bohan
e1720d7396
consider nested cases for duplicate RPITIT
2025-07-07 17:09:39 +08:00
xizheyin
796b4d1fb4
Point to correct argument in Func Call when Self type fails trait bound
...
When a trait bound fails due to the Self type parameter, adjust_fulfillment_errors
now correctly points to the corresponding function argument instead of incorrectly
pointing to other arguments.
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-07-07 16:47:15 +08:00
xizheyin
cf7e896cf8
Add test tests/ui/trait-bounds/false-span-in-trait-bound-label.rs
...
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-07-07 16:30:14 +08:00
Oli Scherer
62929b9420
Add ty_span query
2025-07-07 08:13:12 +00:00
Jacob Pratt
11b24c108d
Rollup merge of #143344 - JonathanBrouwer:path-parser, r=jdonszelmann
...
Port `#[path]` to the new attribute parsing infrastructure
Ports `#[path]` to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971353197
This PR duplicates a change from https://github.com/rust-lang/rust/pull/143237
Draft until that one is merged
2025-07-07 03:26:06 +02:00
Jacob Pratt
d748e70fea
Rollup merge of #143206 - Jules-Bertholet:align-attr-fixes, r=workingjubilee
...
Align attr fixes
- Remove references to the superseded `repr(align)` syntax
- Allow the attribute on fn items in `extern` blocks
- Test attribute in combination with `async fn` and `dyn`
r? workingjubilee
Tracking issue: https://github.com/rust-lang/rust/issues/82232
`@rustbot` label A-attributes F-fn_align T-compiler
2025-07-07 03:26:05 +02:00
Jules Bertholet
8f86c4abec
Skip align tests on wasm
2025-07-06 18:10:52 -04:00
Jules Bertholet
196e3ed943
Add more tests for invalid alignments
2025-07-06 16:56:42 -04:00
Jules Bertholet
a144fd64bb
Add test for dyn alignment
2025-07-06 16:56:42 -04:00
Jules Bertholet
97a7b9b1b4
Remove repr(align) code
2025-07-06 16:56:39 -04:00
Jonathan Brouwer
244d64e60b
Port #[path] to the new attribute parsing infrastructure
...
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-06 22:19:16 +02:00
Jonathan Brouwer
f7046bd32a
Regression tests for repr ICEs
...
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-06 22:07:09 +02:00
bors
a84ab0ce6c
Auto merge of #143509 - cjgillot:copy-prop-noborrow, r=tmiasko
...
Do not unify borrowed locals in CopyProp.
Instead of trying yet another scheme to unify borrowed locals in CopyProp, let's just stop trying. We had already enough miscompilations because of this.
I'm convinced it's possible to have both unification of some borrowed locals and soundness, but I don't have a simple and convincing formulation yet.
Fixes https://github.com/rust-lang/rust/issues/143491
2025-07-06 19:58:07 +00:00
Camille GILLOT
b1fdb4bdc8
Do not optimize stable-mir ui tests.
2025-07-06 16:11:43 +00:00
Matthias Krüger
05146ab802
Rollup merge of #143514 - joshtriplett:macro-test-organization, r=jieyouxu
...
Organize macro tests a bit more
- Move some macro parsing tests from `tests/ui/parser` to `tests/ui/parser/macro`.
- Most macro tests use `macro` in the name, making it easy to find and run tests relevant to macros. However, a few use `mbe` instead. Rename those to say `macro`.
2025-07-06 15:56:13 +02:00
Matthias Krüger
017fe2fb8f
Rollup merge of #143252 - JonathanBrouwer:rewrite_empty_attribute, r=jdonszelmann
...
Rewrite empty attribute lint for new attribute parser
cc `@jdonszelmann`
2025-07-06 15:56:12 +02:00
Matthias Krüger
534c09a779
Rollup merge of #143484 - bvanjoi:issue-140796, r=compiler-errors
...
distinguish the duplicate item of rpitit
Fixes rust-lang/rust#140796
r? compiler
cc `@Zoxc`
2025-07-06 10:03:23 +02:00
Jonathan Brouwer
33f2cc7eda
Fix line break after ":" in unpretty attribute print
...
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-06 09:51:47 +02:00
Jonathan Brouwer
3fa0ec91d8
Rewrite empty attribute lint
...
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-06 09:51:35 +02:00
bohan
5bbab8967d
distinguish the duplicate item of rpitit
2025-07-06 14:04:40 +08:00
bors
febb10d0a2
Auto merge of #143507 - matthiaskrgr:rollup-lpg7t12, r=matthiaskrgr
...
Rollup of 6 pull requests
Successful merges:
- rust-lang/rust#143238 (Port `#[ignore]` to the new attribute parsing infrastructure)
- rust-lang/rust#143441 (Stop using `Key` trait unnecessarily)
- rust-lang/rust#143478 (Miri subtree update)
- rust-lang/rust#143486 (remove armv5te-unknown-linux-gnueabi target maintainer)
- rust-lang/rust#143489 (Complete rustc_ast::mut_visit for spans.)
- rust-lang/rust#143494 (Remove yields_in_scope from the scope tree.)
r? `@ghost`
`@rustbot` modify labels: rollup
2025-07-06 04:09:12 +00:00
Josh Triplett
131cffb6ba
Rename tests named with mbe to use macro instead
...
Most macro tests use `macro` in the name, making it easy to find and run
tests relevant to macros. However, a few use `mbe` instead. Rename those
to say `macro`.
2025-07-05 21:09:10 -07:00
bors
75d5834a6c
Auto merge of #143126 - dianqk:update-llvm, r=nikic
...
Update LLVM submodule
Fixes rust-lang/rust#140686 , fixes rust-lang/rust#141913 , fixes rust-lang/rust#142752 , fixes rust-lang/rust#143399 .
2025-07-06 01:03:18 +00:00
Josh Triplett
6d64306df1
Move macro tests in parser into macro directory
...
The `macro` directory contains most of the macro tests, but not all of
them; move the remainder into `macro`.
2025-07-05 16:52:59 -07:00
Matthias Krüger
0311159e02
Rollup merge of #143441 - compiler-errors:no-key, r=petrochenkov
...
Stop using `Key` trait unnecessarily
Few places where the `Key` trait was being used but not really for a useful reason. This fixes those usages.
Namely, `<Ty as Key>::default_span()` is `DUMMY_SP` anyways.
2025-07-05 22:34:41 +02:00
Matthias Krüger
9a921a32f6
Rollup merge of #143238 - JonathanBrouwer:ignore_parser, r=jdonszelmann
...
Port `#[ignore]` to the new attribute parsing infrastructure
Ports `ignore` to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971353197
This PR duplicates a change from https://github.com/rust-lang/rust/pull/143237
Draft until that one is merged
2025-07-05 22:34:40 +02:00
Jonathan Brouwer
2d8ffff10a
Port #[ignore] to the new attribute parsing infrastructure
...
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-05 21:23:09 +02:00
Michael Goulet
8eb9f70979
Stop using Key trait randomly
2025-07-05 18:37:11 +00:00
bors
fd9ca711a3
Auto merge of #143473 - workingjubilee:rollup-bxie7zg, r=scottmcm
...
Rollup of 11 pull requests
Successful merges:
- rust-lang/rust#142440 (`tests/ui`: A New Order [14/N])
- rust-lang/rust#143040 (Add `const Rem`)
- rust-lang/rust#143086 (Update poison.rs to fix the typo (sys->sync))
- rust-lang/rust#143202 (`tests/ui`: A New Order [18/N])
- rust-lang/rust#143296 (`tests/ui`: A New Order [21/N])
- rust-lang/rust#143297 (`tests/ui`: A New Order [22/N])
- rust-lang/rust#143299 (`tests/ui`: A New Order [24/N])
- rust-lang/rust#143300 (`tests/ui`: A New Order [25/N])
- rust-lang/rust#143397 (test passing a `VaList` from rust to C)
- rust-lang/rust#143410 (Block SIMD in transmute_immediate; delete `OperandValueKind`)
- rust-lang/rust#143452 (Fix CLI completion check in `tidy`)
r? `@ghost`
`@rustbot` modify labels: rollup
2025-07-05 09:37:08 +00:00
bors
f0b67dd97d
Auto merge of #139598 - compiler-errors:no-bound-var-symbol, r=WaffleLapkin
...
Remove `Symbol` from `Named` variant of `BoundRegionKind`/`LateParamRegionKind`
The `Symbol` is redundant, since we already store a `DefId` in the region variant. Instead, load the name via `item_name` when needed (which is almost always on the diagnostic path).
This introduces a `BoundRegionKind::NamedAnon` which is used for giving anonymous bound regions names, but which should only be used during pretty printing and error reporting.
2025-07-05 06:29:56 +00:00
Jubilee
5f415da0b5
Rollup merge of #143300 - Kivooeo:tf25, r=tgross35
...
`tests/ui`: A New Order [25/N]
> [!NOTE]
>
> Intermediate commits are intended to help review, but will be squashed prior to merge.
Some `tests/ui/` housekeeping, to trim down number of tests directly under `tests/ui/`. Part of rust-lang/rust#133895 .
r? `@tgross35`
2025-07-04 23:26:23 -07:00