mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 22:02:23 +01:00
Per discussion, makes all symbolic local bindings a TODO. We should implement them more correctly before making them operable. Right now things partially work, but because constants behave mostly right in the symbolic situations under tests. More broadly, it has incorrect behavior and crashes, thus the TODO. This converts most tests using `let` to instead using parameters, but leaves some behind where a conversion either didn't make sense (e.g. in `let` tests) or a conversion was unclear to me (multi-layer `let`, which relies more on planned behavior that seems more bespoke to a local `let`). In let's `fail_generic.carbon`, there's a "// TODO: Should this be valid?" that I'm removing because my understanding is the code in question should be valid (the file is merged into let's `generic.carbon`). Refactoring `HandleAnyBindingPattern` a little because there's a TODO to make it shorter, and it seemed like a reasonable drive-by change (let me know if you think there's more I should do, or if I should remove said TODO even though it's still a bit long). Fixes #5982