scala-parser-combinators
scala-parser-combinators copied to clipboard
Consider providing typesafe structural equality for A ~ B by default
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.
Example: https://github.com/lucproglangcourse/expressions-scala/blob/main/src/main/scala/CombinatorParser.scala