about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/crates/intern
AgeCommit message (Collapse)AuthorLines
2025-09-24Implement fallback properlyChayim Refael Friedman-0/+1
fallback.rs was ported straight from rustc (minus the lint parts). This fixes the `!` regressions.
2025-09-15Port a bunch of stuff from rustc and fix a bunch of type mismatches/diagnosticsChayim Refael Friedman-0/+1
This started from porting coercion, but ended with porting much more.
2025-08-09Implement next trait solverjackh726-0/+5
2025-07-20Support `cfg_select!`Chayim Refael Friedman-0/+1
2025-06-26Backport new sized-hierarchy trait bounds in old waysShoyu Vanilla-0/+2
2025-06-23Don't run doctestsChayim Refael Friedman-0/+1
2025-06-22Minic rustc's new `format_args!` expansionShoyu Vanilla-0/+1
2025-06-13`cargo upgrade`Lukas Wirth-0/+1
2025-05-28chore: Remove support for `concat_idents!`Trevor Gross-1/+0
`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-01remove a couple of clonesMatthias Krüger-17/+17
2025-04-25Upgrade dashmap and hashbrownChayim Refael Friedman-117/+98
And adapt `intern` to the changes in the API.
2025-04-21Merge pull request #19644 from ChayimFriedman2/const-symsLukas Wirth-26/+9
internal: Make predefined symbols `const` instead of `static`
2025-04-21fix: Support unstable `UnsafePinned` struct in type layout calcLukas Wirth-0/+1
2025-04-21Get rid of static predefined symbolsChayim Refael Friedman-26/+9
Make them all `const`.
2025-04-06fix: Fix `format_args` lowering for >=1.87Lukas Wirth-0/+5
2025-04-04prefer default over newBenjaminBrienen-1/+4
2025-03-27Allow crate authors to control completion of their thingsChayim Refael Friedman-0/+4
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-25ci: run `intern` tests via `cargo miri`Lukas Wirth-1/+0
2025-03-16internal: `Symbol` is not `PartialOrd`Lukas Wirth-13/+1
2025-03-15cargo fmtBenjaminBrienen-6/+6
2025-03-12Salsify the crate graphChayim Refael Friedman-1/+13
I.e. make it not one giant input but multiple, for incrementality and decreased memory usage for Salsa 3 reasons.
2025-03-10Fix `path` macro hygieneLukas Wirth-0/+1
2025-03-05Use size_of from the prelude instead of importedThalia Archibald-19/+12
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-02-27enable doctestBenjaminBrienen-1/+0
2025-02-17Merge pull request #19127 from ChayimFriedman2/different-generic-argsLukas Wirth-6/+27
feat: Refactor path lowering and serve a new path diagnostic
2025-02-16Refactor path loweringChayim Refael Friedman-6/+27
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-10Merge from rust-lang/rustLaurențiu Nicola-0/+1
2025-02-04Merge pull request #19084 from Veykril/push-muworpzpzqupLukas Wirth-0/+1
Split cache priming into distinct phases
2025-02-04Expose symbol of `CrateName`Lukas Wirth-0/+1
2025-02-03Fix some mir eval/loweringsLukas Wirth-0/+1
2025-01-31Insert null checks for pointer dereferences when debug assertions are enabledBastian Kersting-0/+1
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-26Support RFC 2396Chayim Refael Friedman-0/+2
AKA. target_feature 1.1, or non unsafe target_feature.
2025-01-25Use `strict_provenance`Lukas Wirth-31/+7
2025-01-24feat: Implement `arbitrary-self-types`Shoyu Vanilla-0/+1
2025-01-21Merge pull request #18986 from Veykril/push-zlwvwlowpzqmLukas Wirth-0/+1
Goto `Display::fmt` when invoked on `to_string`
2025-01-21Cleanup `Name` string renderingLukas Wirth-0/+1
2025-01-20Goto `Display::fmt` when invoked on `to_string`Lukas Wirth-0/+1
2025-01-20Bring back goto def redirect for parse -> FromStrLukas Wirth-0/+1
2025-01-20Move dual blanket impl logic from source analyzer to goto_defLukas Wirth-0/+6
2025-01-20Use Semantics::resolve_method_call_as_callable to find implementation1hakusai1-0/+4
2025-01-10Implement `#[rust_analyzer::skip]` for bodiesLukas Wirth-0/+1
2025-01-04Support the new `CoercePointee` deriveChayim Refael Friedman-0/+1
2024-12-12internal: Implement `naked_asm!` builtinLukas Wirth-0/+1
2024-12-06Merge pull request #18594 from ChayimFriedman2/async-closuresLukas Wirth-0/+8
feat: Support `AsyncFnX` traits
2024-12-05Parse lifetime bounds in lifetime param into TypeBoundListLukas Wirth-0/+1
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-04Merge pull request #18595 from markmurphydev/remove_platform_intrinsicLaurențiu Nicola-1/+0
Remove references to platform-intrinsic ABI
2024-12-04Improve soundness a bit by making `TaggedArcPtr::try_as_arc_owned()` unsafeChayim Refael Friedman-13/+17
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-03Remove references to platform-intrinsic ABIMark Murphy-1/+0
2024-12-03Support `AsyncFnX` traitsChayim Refael Friedman-0/+8
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-11-04Support new #[rustc_intrinsic] attribute and fallback bodiesLukas Wirth-1/+5