mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-06 10:18:53 +00:00
8f504dc873
11598: feat: Parse destructuring assignment r=Veykril a=ChayimFriedman2 Part of #11532. Lowering is not as easy and may not even be feasible right now as it requires generating identifiers: `(a, b) = (b, a)` is desugared into ```rust { let (<gensym_a>, <gensym_b>) = (b, a); a = <gensym_a>; b = <gensym_b>; } ``` rustc uses hygiene to implement that, but we don't support hygiene yet. However, I think parsing was the main problem as lowering will just affect type inference, and while `{unknown}` is not nice it's much better than a syntax error. I'm still looking for the best way to do lowering, though. Fixes #11454. Co-authored-by: Chayim Refael Friedman <chayimfr@gmail.com> |
||
---|---|---|
.. | ||
handlers | ||
tests | ||
utils | ||
assist_config.rs | ||
assist_context.rs | ||
lib.rs | ||
tests.rs | ||
utils.rs |