scala/scala3
Auf GitHub ansehenDocumentation help needed: `given [T]: CanEqual[T, T]` resolves `CanEqual`s of different types
Open
#18.631 geöffnet am 2. Okt. 2023
area:documentationgood first issueitype:enhancement
Repository-Metriken
- Stars
- (6.247 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 18T 14h) (133 gemergte PRs in 30 T)
Beschreibung
Compiler version: 3.3.1
Compiler option: -language:strictEquality
The following code compiles fine. But why? Where does it finds CanEqual[Test, Test2] of different types?
case class Test(i: Int)
case class Test2(i: Int)
object Eq:
given [T]: CanEqual[T, T] = CanEqual.derived
@main def run(): Unit =
Test(1) == Test2(2)
()
https://scastie.scala-lang.org/X6boEpObQXee5uhESbviuQ
Thanks