scala/scala-parser-combinators

Consider providing typesafe structural equality for A ~ B by default

klaeufer opened this issue · 0 comments

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