scala / scala/scala-parser-combinators
Consider providing typesafe structural equality for A ~ B by default
Nobody has claimed this yet.
- Dominant language
- Scala
- Stars
- 679
- Forks
- 131
- Avg merge
- 8h 25m
- Merged PRs (30d)
- 3
Description
given [A, B](using CanEqual[A, A], CanEqual[B, B]): CanEqual[A ~ B, A ~ B] = CanEqual.derived
This would allow pattern-based productions to compile in the presence of strict equality.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the proposed CanEqual[A ~ B, A ~ B] definition and the linked CombinatorParser.scala example. Trace how strict equality affects pattern-based productions and identify the appropriate implementation and test locations. Done means the relevant pattern-based productions compile under strict equality without weakening the equality checks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100