blob: 6760c1424fde2fb834ccf6bdd9ab6cd947a17ca6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
object Foo {
// spurious error if:
// - this definition precedes that of apply (which is overloaded with the synthetic one derived from the case class)
// - AND `Foo.apply` is explicitly applied to `[A]` (no error if `[A]` is inferred)
//
def referToPolyOverloadedApply[A]: Foo[A] = Foo.apply[A]("bla")
// ^
// found : String("bla")
// required: Int
def apply[A](x: Int): Foo[A] = ???
}
case class Foo[A](x: String) // must be polymorphic
|