1
Fork 0
Commit graph

283048 commits

Author SHA1 Message Date
Philipp Krones
063d6aef0e
macro_use_import: Don't check is attribute comes from expansion
It is not possible to write a declarative macro, that produces an attribute w/o
an item attached to it. This means that the `check_item` will already insert the
span in the map, if it came from an expansion. So additionally checking if the
macro came from an expansion doesn't add anything here. So the
`check_attribute` function, and with that the problematic `attr.span()` call can
be completely removed.

Fixes #14303
2025-02-27 20:42:56 +01:00
Mu001999
d504f70ec9 Unconditionally lower match arm even if it's unneeded for never pattern in match 2025-02-28 01:29:58 +08:00
Lukas Wirth
f19b205df4 Warn when the used toolchain looks too old for rust-analyzer 2025-02-27 17:59:39 +01:00
Laurențiu Nicola
239a6864c7
Merge pull request #19237 from BenjaminBrienen/doc-tests
Doc tests
2025-02-27 16:53:59 +00:00
Lukas Wirth
66368aa629 Allow unsetting default cfgs 2025-02-27 17:34:29 +01:00
Eric Huss
6cc6b86e40 Update E0133 docs for 2024 edition 2025-02-27 08:33:44 -08:00
BenjaminBrienen
1b6c4b7770 ignore another test that fails on windows 2025-02-27 16:09:00 +01:00
BenjaminBrienen
0404156654 ignore doc test that only fails on windows 2025-02-27 15:57:08 +01:00
Alex Macleod
4a9b8c6415
fix: map_entry FP inside closure (#14307)
Closes #11976

changelog: [`map_entry`]: fix FP inside closure
2025-02-27 14:42:00 +00:00
Ralf Jung
31388f5280 checked_ilog tests: deal with a bit of float imprecision 2025-02-27 15:38:22 +01:00
Vayun Biyani
c85f038307 switch #[cfg(not(llvm_enzyme))] to cfg!(llvm_enzyme) 2025-02-27 19:32:30 +05:30
BenjaminBrienen
df903a55dd fix doc tests 2025-02-27 14:58:46 +01:00
BenjaminBrienen
8c16ded966 enable doctest 2025-02-27 14:58:46 +01:00
yanglsh
329acde93e fix: map_entry FP inside closure 2025-02-27 21:28:00 +08:00
Yotam Ofek
0881dba5d3 Move "unused_exter_crate" test from rustdoc-ui to rustdoc 2025-02-27 13:22:46 +00:00
Yotam Ofek
660241d1d4 Fix test directives that were accidentally ignored 2025-02-27 13:22:16 +00:00
Lukas Wirth
494192b12e
Merge pull request #19241 from Veykril/push-lqumoruvuyvo
Fix sysroot crate-graph construction not mapping crate-ids for proc-macros
2025-02-27 12:34:03 +00:00
Lukas Wirth
cabb08ded5 Fix sysroot crate-graph construction not mapping crate-ids for proc-macros 2025-02-27 13:20:19 +01:00
Laurențiu Nicola
d4b92f4b68
Merge pull request #19230 from lnicola/zig
internal: set up Zig on CI and start using it in rust-analyzer
2025-02-27 11:34:41 +00:00
Folkert de Vries
038f4e2ff6
use the right feature in codegen tests 2025-02-27 12:23:00 +01:00
Folkert de Vries
4e961dc015
make simd_insert and simd_extract const fns 2025-02-27 12:23:00 +01:00
Folkert de Vries
a837e9966b
simplify some imports with simd::* 2025-02-27 12:22:59 +01:00
Folkert de Vries
d8a067b931
remove most simd_ intrinsic declaration in tests
instead, we can just import the intrinsics from core
2025-02-27 12:22:59 +01:00
Lukas Wirth
e162475e7c
Merge pull request #19096 from darichey/rust-project-sysroot
Allow rust-project.json to specify sysroot workspace
2025-02-27 11:22:41 +00:00
Guillaume Gomez
4747bb6017 Add missing case explanation for doc inlined re-export of doc hidden item 2025-02-27 11:53:30 +01:00
Jakub Beránek
f20dd49b74 Use original command for showing sccache stats 2025-02-27 11:45:37 +01:00
dswij
527ab050fa
fix: Avoid ICE in doc_nested_refdefs check by checking range (#14308)
The `looks_like_refdef` function was assuming the range was valid, this
just adds a check to ensure that is the case. It also works around a
subtraction underflow due to the same invalid range.

changelog: [`doc_nested_refdefs`]: Fix #14287 by avoiding invalid ranges
2025-02-27 10:45:31 +00:00
Laurențiu Nicola
230ce20d56
Merge pull request #19239 from LuuuXXX/add-support-for-ohos
Cofigurate out ohos target to avoid compilation crashes
2025-02-27 10:19:23 +00:00
Fridtjof Stoldt
f50266a423
Split needless_lifetime '_ suggestions into elidable_lifetime_names (#13960)
Fixes https://github.com/rust-lang/rust-clippy/issues/13514

changelog: Added [`elidable_lifetime_names`] to `pedantic` (Split off
from [`needless_lifetime`] for suggestions with `'_`)
[#13960](https://github.com/rust-lang/rust-clippy/pull/13960)

changelog: Enhancement: [`needless_lifetime`] No longer lints for
elidable lifetimes `'_`, use [`elidable_lifetime_names`] to lint these.
[#13960](https://github.com/rust-lang/rust-clippy/pull/13960)
2025-02-27 09:21:50 +00:00
Maja Kądziołka
5765005a7f
Clean up TypeckResults::extract_binding_mode
- Remove the `Option` from the result type, as `None` is never returned.
- Document the difference from the `BindingMode` in `PatKind::Binding`.
2025-02-27 10:19:12 +01:00
Jake Shadle
e399e152e8 Fix ICE 2025-02-27 10:18:44 +01:00
Nikita Popov
3a715798bc Update to LLVM 20 rc 3 2025-02-27 09:34:19 +01:00
Matthias Krüger
89a202d179
Rollup merge of #137694 - aDotInTheVoid:aDotInTheVoid-patch-1, r=jdonszelmann
Spruce up `AttributeKind` docs

- Remove dead link to `rustc_attr` crate.
- Add link to `rustc_attr_parsing` crate.
- Split up first paragraph so it looks better at crate-level summary

r? `@jdonszelmann`
2025-02-27 08:56:40 +01:00
Matthias Krüger
f19d4b5f97
Rollup merge of #137480 - fuzzypixelz:fix/124466, r=workingjubilee
Return unexpected termination error instead of panicing in `Thread::join`

There is a time window during which the OS can terminate a thread before stdlib can retreive its `Packet`. Currently the `Thread::join` panics with no message in such an event, which makes debugging difficult; fixes #124466.
2025-02-27 08:56:39 +01:00
Matthias Krüger
25db95ec4a
Rollup merge of #137455 - compiler-errors:drop-lint-dtor, r=oli-obk
Reuse machinery from `tail_expr_drop_order` for `if_let_rescope`

Namely, it defines its own `extract_component_with_significant_dtor` which is a bit more accurate than `Ty::has_significant_drop`, since it has a hard-coded list of types from the ecosystem which are opted out of the lint.[^a]

Also, since we extract the dtors themselves, adopt the same *label* we use in `tail_expr_drop_order` to point out the destructor impl. This makes it much clear what's actually being dropped, so it should be clearer to know when it's a false positive.

This conflicts with #137444, but I will rebase whichever lands first.

[^a]: Side-note, it's kinda a shame that now there are two functions that presumably do the same thing. But this isn't my circus, nor are these my monkeys.
2025-02-27 08:56:39 +01:00
Matthias Krüger
3499846073
Rollup merge of #137304 - pitaj:rangebounds-is_empty-intersect, r=ibraheemdev
add `IntoBounds::intersect` and `RangeBounds::is_empty`

- ACP: https://github.com/rust-lang/libs-team/issues/539
- Tracking issue for `is_empty`: #137300
- Tracking issue for `IntoBounds`: #136903
2025-02-27 08:56:38 +01:00
Matthias Krüger
4ecca4c09c
Rollup merge of #136846 - nnethercote:make-AssocOp-more-like-ExprKind, r=spastorino
Make `AssocOp` more like `ExprKind`

This is step 1 of [MCP 831](https://github.com/rust-lang/compiler-team/issues/831).

r? ``@estebank``
2025-02-27 08:56:37 +01:00
Matthias Krüger
88dcab75b0
Rollup merge of #136688 - fee1-dead-contrib:push-nppsusmpokqo, r=compiler-errors
require trait impls to have matching const stabilities as the traits

This resolves https://github.com/rust-lang/project-const-traits/issues/5 by implementing the suggested solution in the given thread

r? ``@RalfJung``
cc ``@rust-lang/project-const-traits``
2025-02-27 08:56:36 +01:00
Matthias Krüger
18c47ad639
Rollup merge of #136579 - bjorn3:fix_thinvec_ext_ub, r=BoxyUwU
Fix UB in ThinVec::flat_map_in_place

`thin_vec.as_ptr()` goes through the `Deref` impl of `ThinVec`, which will not allow access to any memory as we did call `set_len(0)` first.

Found in the process of investigating https://github.com/rust-lang/rust/issues/135870.
2025-02-27 08:56:36 +01:00
Matthias Krüger
f435138da9
Rollup merge of #136542 - jieyouxu:build-base, r=onur-ozkan
[`compiletest`-related cleanups 4/7] Make the distinction between root build directory vs test suite specific build directory in compiletest less confusing

Reference for overall changes: https://github.com/rust-lang/rust/pull/136437
Part **4** of **7** of the *`compiletest`-related cleanups* PR series.

### Summary

- Remove `--build-base` compiletest flag, and introduce `--build-{root,test-suite-root}` flags instead. `--build-base` previously actually is test suite specific build directory, not the root `build/` directory.
- Feed the root build directory directly from bootstrap to compiletest via `--build-root` instead of doing multiple layers of parent unwrapping[^parent] based on the test suite specific build directory.
- Remove a redundant `to_path_buf()`.

[^parent]: Please do not unwrap the parents.

r? bootstrap
2025-02-27 08:56:35 +01:00
Nicholas Nethercote
a36d8acd83 Optimize empty provenance range checks.
Currently it gets the pointers in the range and checks if the result is
empty, but it can be done faster if you combine those two steps.
2025-02-27 18:10:17 +11:00
DianQK
fbe0075a86
Don't infer unwinding of virtual calls based on the function attributes 2025-02-27 12:58:18 +08:00
DianQK
8089fce101
Don't infer attributes of virtual calls based on the function body 2025-02-27 12:57:26 +08:00
Deadbeef
ef66cbb27b require trait impls to have matching const stabilities as the traits 2025-02-27 04:56:27 +00:00
LuuuXXX
dae664d09a Cofigurate out ohos target to avoid compilation crashes 2025-02-27 11:43:03 +08:00
bors
96cfc75584 Auto merge of #132295 - the8472:remove-randomize-exclusion1, r=onur-ozkan
fixed wast version was released, remove randomization exemption
2025-02-27 01:37:30 +00:00
Nicholas Nethercote
2ac46f6517 Rename AssocOp::As as AssocOp::Cast.
To match `ExprKind::Cast`, and because a semantic name makes more sense
here than a syntactic name.
2025-02-27 09:53:18 +11:00
Nicholas Nethercote
fc8e87b274 Replace AssocOp::DotDot{,Eq} with AssocOp::Range.
It makes `AssocOp` more similar to `ExprKind` and makes things a little
simpler. And the semantic names make more sense here than the syntactic
names.
2025-02-27 09:53:18 +11:00
Nicholas Nethercote
ceafbad81f Introduce AssocOp::Binary.
It mirrors `ExprKind::Binary`, and contains a `BinOpKind`. This makes
`AssocOp` more like `ExprKind`. Note that the variants removed from
`AssocOp` are all named differently to `BinOpToken`, e.g. `Multiply`
instead of `Mul`, so that's an inconsistency removed.

The commit adds `precedence` and `fixity` methods to `BinOpKind`, and
calls them from the corresponding methods in `AssocOp`. This avoids the
need to create an `AssocOp` from a `BinOpKind` in a bunch of places, and
`AssocOp::from_ast_binop` is removed.

`AssocOp::to_ast_binop` is also no longer needed.

Overall things are shorter and nicer.
2025-02-27 09:53:17 +11:00
Manish Goregaokar
52bf26e9ad
Remove obsolete TODO (#14304)
changelog: none
2025-02-26 22:49:03 +00:00