rust-analyzer/crates/hir/src
Chayim Refael Friedman 8adcbdcc49 Implement semitransparent hygiene
Or macro_rules hygiene, or mixed site hygiene. In other words, hygiene for variables and labels but not items.

The realization that made me implement this was that while "full" hygiene (aka. def site hygiene) is really hard for us to implement, and will likely involve intrusive changes and performance losses, since every `Name` will have to carry hygiene, mixed site hygiene is very local: it applies only to bodies, and we very well can save it in a side map with minor losses.

This fixes one diagnostic in r-a that was about `izip!()` using hygiene (yay!) but it introduces a huge number of others, because of #18262. Up until now this issue wasn't a major problem because it only affected few cases, but with hygiene identifiers referred by macros like that are not resolved at all. The next commit will fix that.
2024-10-22 21:26:56 +03:00
..
semantics Merge pull request #18254 from ChayimFriedman2/fix-mut 2024-10-22 17:40:52 +00:00
term_search Properly account for editions in names 2024-08-16 16:46:24 +03:00
attrs.rs Properly account for editions in names 2024-08-16 16:46:24 +03:00
db.rs Update per_query_memory_usage query listing 2024-04-17 18:44:50 +02:00
diagnostics.rs Store patterns desugared from destructuring assignments in source map 2024-10-20 19:11:32 +03:00
display.rs fix: use pretty_print_pat for params in fn 2024-09-09 20:59:23 +08:00
from_id.rs Enum variants are not generic def ids 2024-06-24 10:07:31 +02:00
has_source.rs Support more IDE features for asm operands 2024-09-05 13:19:02 +02:00
lib.rs Store patterns desugared from destructuring assignments in source map 2024-10-20 19:11:32 +03:00
semantics.rs Implement semitransparent hygiene 2024-10-22 21:26:56 +03:00
source_analyzer.rs Implement semitransparent hygiene 2024-10-22 21:26:56 +03:00
symbols.rs Properly account for editions in names 2024-08-16 16:46:24 +03:00
term_search.rs Increase search depth to account for more granual steps 2024-06-22 15:06:07 +03:00