- Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Labels
Description
minimized code
import scala.annotation.infix import scala.annotation.alpha trait MultiSet[T] { @alpha("intersection") def *(other: MultiSet[T]): MultiSet[T] } def test() = { val s1, s2: MultiSet[Int] = ??? // comment out and the last statement fails with @alpha annotation "intersection" clashes with other definition is same scope //s1 * s2 //s1 * s2 s1.*(s2) }
see for more details https://scastie.scala-lang.org/rnMia7lzSY2V9iLOya0w0Q
Note that it also happens if there is a top-level operator defined where the operator defined in the trait does not even need to be used (enough if it is in scope I guess)
see https://scastie.scala-lang.org/m40Jbs3nRMm3Dgb4RYRqcQ for more details.
Compilation output
@alpha annotation "foo" clashes with other definition is same scope
expectation
Should work