-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Issue to track the parts of the UCS implementation that are still incomplete or wrong – please update with more cases as you find them.
Translation
- Support virtual constructors for pattern matching against tuples. Note as of Jan 2024: We implemented simple tuple pattern in New UCS desugarer and rudimentary
PreTyper#194 and we will support advanced tuple patterns, for example, splice tuple patterns, in the near future. - Do not duplicate default cases and insert local function definitions instead.
- Note as of Jan 2024: We paved the road for this in New UCS desugarer and rudimentary
PreTyper#194 and we will implement this feature in the near future. - Note as of Nov 2025: This has been solved in Unify patterns in UCS and UPS #336. Instead of using local functions, we use
BlockandBreak.
- Note as of Jan 2024: We paved the road for this in New UCS desugarer and rudimentary
Locations
-
Track scrutinee locations with. (Note: it was removed in new desugarer.)Scrutinee.Source -
No location reported in:
fun testF(x) = if x is Foo(a) then a Foo(a) then a //│ ╔══[WARNING] duplicated branch //│ ╙──
Reporting
- Warn when an
istest has a single pattern
Though maybe we shouldn't warn when it's conjuncted with other things, as then theismay be used to bind expressions, as inif xs is x :: xs and mapPartition(f, xs) is (as, bs) and ...
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
🏗 In progress