aboutsummaryrefslogblamecommitdiff
path: root/tests/neg/t6663.scala
blob: aa4ab08ed21672864ee62168d010782ac8952dd8 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15














                                                                         
                                                 


            
import language.dynamics

class C(v: Any) extends Dynamic {
  def selectDynamic[T](n: String): Option[T] = Option(v.asInstanceOf[T])
  def applyDynamic[T](n: String)(): Option[T] = Option(v.asInstanceOf[T])
}

object Test extends App {
  // this should be converted to
  // C(42).selectDynamic[String]("foo").get
  // causing a compile error.

  // but, before fixing SI-6663, became
  // C(42).selectDynamic("foo").get, ignoring
  // the [String] type parameter
  var v = new C(42).foo[String].get :Int // error
  println(v)
}