Closed
Description
Compiler version
3.0.0-RC1
Minimized code
package example
trait Ord[T]:
def compare(x: T, y: T): Int
given intOrd: Ord[Int] with
def compare(x: Int, y: Int) =
if x < y then -1 else if x > y then +1 else 0
Output
package example
trait Ord/*example.Ord#*/[T/*example.Ord#[T]*/]:
def compare/*example.Ord#compare().*/(x/*example.Ord#compare().(x)*/: T/*example.Ord#[T]*/, y/*example.Ord#compare().(y)*/: T/*example.Ord#[T]*/): Int/*scala.Int#*/
/*example.Ord$package.*/given intOrd/*example.Ord$package.intOrd.*/: Ord/*example.Ord#*/[Int/*scala.Int#*/] with
def compare/*example.Ord$package.intOrd.compare().*/(x/*example.Ord$package.intOrd.compare().(x)*/: Int/*scala.Int#*/, y/*example.Ord$package.intOrd.compare().(y)*/: Int/*scala.Int#*/) =
if x/*example.Ord$package.intOrd.compare().(x)*/ </*scala.Int#`<`(+3).*/ y/*example.Ord$package.intOrd.compare().(y)*/ then -1 else if x/*example.Ord$package.intOrd.compare().(x)*/ >/*scala.Int#`>`(+3).*/ y/*example.Ord$package.intOrd.compare().(y)*/ then +1/*scala.Int#`unary_+`().*/ else 0
It seems that example.Ord$package.
does not exist in the code but it shown in occurrences nvertheless.
Expectation
package example
trait Ord/*example.Ord#*/[T/*example.Ord#[T]*/]:
def compare/*example.Ord#compare().*/(x/*example.Ord#compare().(x)*/: T/*example.Ord#[T]*/, y/*example.Ord#compare().(y)*/: T/*example.Ord#[T]*/): Int/*scala.Int#*/
given intOrd/*example.Ord$package.intOrd.*/: Ord/*example.Ord#*/[Int/*scala.Int#*/] with
def compare/*example.Ord$package.intOrd.compare().*/(x/*example.Ord$package.intOrd.compare().(x)*/: Int/*scala.Int#*/, y/*example.Ord$package.intOrd.compare().(y)*/: Int/*scala.Int#*/) =
if x/*example.Ord$package.intOrd.compare().(x)*/ </*scala.Int#`<`(+3).*/ y/*example.Ord$package.intOrd.compare().(y)*/ then -1 else if x/*example.Ord$package.intOrd.compare().(x)*/ >/*scala.Int#`>`(+3).*/ y/*example.Ord$package.intOrd.compare().(y)*/ then +1/*scala.Int#`unary_+`().*/ else 0