Chayim Refael Friedman
b1914e420f
Support cfg_select!
2025-07-20 11:56:45 +03:00
Shoyu Vanilla
953e9d1c36
Backport new sized-hierarchy trait bounds in old ways
2025-06-26 23:22:26 +09:00
Chayim Refael Friedman
de312d0c71
Don't run doctests
2025-06-23 00:50:22 +03:00
Shoyu Vanilla
4f8767d790
Minic rustc's new format_args!
expansion
2025-06-22 13:22:28 +09:00
Lukas Wirth
23712aea06
cargo upgrade
2025-06-13 10:08:20 +02:00
Trevor Gross
e6e5e3cc41
chore: Remove support for concat_idents!
...
`concat_idents!` was deprecated in [1] and will be removed in the near
future. rust-analyzer's support is independent of rustc's, so drop RA
support now to make syncing easier.
[1]: https://github.com/rust-lang/rust/pull/137653
2025-05-28 03:59:32 +00:00
Matthias Krüger
573c47c9ba
remove a couple of clones
2025-05-01 11:41:42 +02:00
Chayim Refael Friedman
4d95ae52f8
Upgrade dashmap and hashbrown
...
And adapt `intern` to the changes in the API.
2025-04-25 12:47:26 +03:00
Lukas Wirth
34e7d60e30
Merge pull request #19644 from ChayimFriedman2/const-syms
...
internal: Make predefined symbols `const` instead of `static`
2025-04-21 12:34:59 +00:00
Lukas Wirth
d16b862ea5
fix: Support unstable UnsafePinned
struct in type layout calc
2025-04-21 09:35:30 +02:00
Chayim Refael Friedman
9477e46bec
Get rid of static predefined symbols
...
Make them all `const`.
2025-04-21 03:07:35 +03:00
Lukas Wirth
e7ce86ddea
fix: Fix format_args
lowering for >=1.87
2025-04-06 10:05:56 +02:00
BenjaminBrienen
2462624a7d
prefer default over new
2025-04-04 15:49:50 +02:00
Chayim Refael Friedman
7b584ef9bf
Allow crate authors to control completion of their things
...
Via the new `#[rust_analyzer::completions(...)]` attribute.
Also fix a bug with existing settings for that where the paths wouldn't resolve correctly.
2025-03-27 14:01:26 +02:00
Lukas Wirth
c96421ecf4
ci: run intern
tests via cargo miri
2025-03-25 07:26:43 +01:00
Lukas Wirth
c28b80c321
internal: Symbol
is not PartialOrd
2025-03-16 16:06:06 +01:00
BenjaminBrienen
7535bb4661
cargo fmt
2025-03-15 21:32:01 +01:00
Chayim Refael Friedman
c94e9efbef
Salsify the crate graph
...
I.e. make it not one giant input but multiple, for incrementality and decreased memory usage for Salsa 3 reasons.
2025-03-12 21:02:30 +02:00
Lukas Wirth
af7f89cc9d
Fix path
macro hygiene
2025-03-10 09:29:27 +01:00
Thalia Archibald
0811ca0a61
Use size_of from the prelude instead of imported
...
Use `std::mem::{size_of, size_of_val, align_of, align_of_val}` from the
prelude instead of importing or qualifying them.
These functions were added to all preludes in Rust 1.80.
2025-03-05 00:48:44 -08:00
BenjaminBrienen
bd7375a58f
enable doctest
2025-02-27 14:58:46 +01:00
Lukas Wirth
09db657439
Merge pull request #19127 from ChayimFriedman2/different-generic-args
...
feat: Refactor path lowering and serve a new path diagnostic
2025-02-17 08:30:10 +00:00
Chayim Refael Friedman
55c04ab371
Refactor path lowering
...
And add a new diagnostic for non-`Fn` parenthesized generic args.
Path lowering started to look like a mess, with each function carrying additional parameters for the diagnostic callback (since paths can occur both in type and in expression/pattern position, and their diagnostic handling is different) and the segment index, for the diagnostics report. So I refactored it from stateless functions on `TyLoweringContext` into stateful struct, `PathLoweringContext`, that tracks the process of lowering a path from resolution til assoc types selection.
2025-02-16 19:44:50 +02:00
Laurențiu Nicola
bf51af1a6d
Merge from rust-lang/rust
2025-02-10 07:49:43 +02:00
Lukas Wirth
0fd4fc3522
Merge pull request #19084 from Veykril/push-muworpzpzqup
...
Split cache priming into distinct phases
2025-02-04 13:57:39 +00:00
Lukas Wirth
ab5e821d97
Expose symbol of CrateName
2025-02-04 14:38:58 +01:00
Lukas Wirth
d6645d11da
Fix some mir eval/lowerings
2025-02-03 14:42:41 +01:00
Bastian Kersting
8196d260e8
Insert null checks for pointer dereferences when debug assertions are enabled
...
Similar to how the alignment is already checked, this adds a check
for null pointer dereferences in debug mode. It is implemented similarly
to the alignment check as a MirPass.
This is related to a 2025H1 project goal for better UB checks in debug
mode: https://github.com/rust-lang/rust-project-goals/pull/177 .
2025-01-31 11:13:34 +00:00
Chayim Refael Friedman
791b1ebfd4
Support RFC 2396
...
AKA. target_feature 1.1, or non unsafe target_feature.
2025-01-26 23:31:58 +02:00
Lukas Wirth
090a145d44
Use strict_provenance
2025-01-25 13:47:07 +01:00
Shoyu Vanilla
f4dfbc38c8
feat: Implement arbitrary-self-types
2025-01-24 22:50:59 +09:00
Lukas Wirth
2c040c03cf
Merge pull request #18986 from Veykril/push-zlwvwlowpzqm
...
Goto `Display::fmt` when invoked on `to_string`
2025-01-21 09:25:05 +00:00
Lukas Wirth
76585539f5
Cleanup Name
string rendering
2025-01-21 10:05:32 +01:00
Lukas Wirth
a3eee10638
Goto Display::fmt
when invoked on to_string
2025-01-20 17:00:28 +01:00
Lukas Wirth
0fdab1be36
Bring back goto def redirect for parse -> FromStr
2025-01-20 16:32:17 +01:00
Lukas Wirth
03ea40369f
Move dual blanket impl logic from source analyzer to goto_def
2025-01-20 16:24:42 +01:00
1hakusai1
5384dd8947
Use Semantics::resolve_method_call_as_callable to find implementation
2025-01-20 21:17:48 +09:00
Lukas Wirth
f209d50dcf
Implement #[rust_analyzer::skip]
for bodies
2025-01-10 14:41:27 +01:00
Chayim Refael Friedman
ce323627c5
Support the new CoercePointee
derive
2025-01-04 18:35:53 +02:00
Lukas Wirth
f748eb510e
internal: Implement naked_asm!
builtin
2024-12-12 17:43:27 +01:00
Lukas Wirth
abc7147bb7
Merge pull request #18594 from ChayimFriedman2/async-closures
...
feat: Support `AsyncFnX` traits
2024-12-06 12:48:47 +00:00
Lukas Wirth
f3d7415bd6
Parse lifetime bounds in lifetime param into TypeBoundList
...
This mainly aids in error recovery but also makes it a bit easier to handle lifetime resolution.
While doing so it also came apparent that we were not actually lowering lifetime outlives relationships within lifetime parameter declaration bounds, so this fixes that.
2024-12-05 17:52:02 +01:00
Laurențiu Nicola
c195d843f4
Merge pull request #18595 from markmurphydev/remove_platform_intrinsic
...
Remove references to platform-intrinsic ABI
2024-12-04 04:07:25 +00:00
Chayim Refael Friedman
3aeb5e66c4
Improve soundness a bit by making TaggedArcPtr::try_as_arc_owned()
unsafe
...
Since the `ManuallyDrop` it returns can be safely used to consume the `Arc`, which is can cause UB if done incorrectly. See #18499 .
2024-12-04 03:38:37 +02:00
Mark Murphy
1dbe681757
Remove references to platform-intrinsic ABI
2024-12-03 17:30:17 -05:00
Chayim Refael Friedman
4049c3b6a9
Support AsyncFnX
traits
...
Only in calls, because to support them in bounds we need support from Chalk. However we don't yet report error from bounds anyway, so this is less severe.
The returned future is shown in its name within inlay hints instead of as a nicer `impl Future`, but that can wait for another PR.
2024-12-03 21:26:26 +02:00
Lukas Wirth
36d68c5d0f
Support new #[rustc_intrinsic] attribute and fallback bodies
2024-11-04 13:33:55 +01:00
Lukas Wirth
78f3112626
Allow interpreting consts and statics with interpret function command
2024-11-03 15:35:45 +01:00
Laurențiu Nicola
37f7190b3e
Merge from rust-lang/rust
2024-09-25 09:00:53 +03:00
Folkert de Vries
02f677372b
add C-cmse-nonsecure-entry
ABI
2024-09-21 13:04:14 +02:00