diff --git a/library/src/scala/reflect/Selectable.scala b/library/src/scala/reflect/Selectable.scala index 0dbdbc293d1b..98f8c2666477 100644 --- a/library/src/scala/reflect/Selectable.scala +++ b/library/src/scala/reflect/Selectable.scala @@ -8,7 +8,7 @@ class Selectable(val receiver: Any) extends AnyVal with scala.Selectable { fld.get(receiver) } catch { - case ex: NoSuchFieldError => + case ex: NoSuchFieldException => selectDynamicMethod(name).asInstanceOf[() => Any]() } } diff --git a/tests/run/i4496a.scala b/tests/run/i4496a.scala new file mode 100644 index 000000000000..f0d6a1b96aea --- /dev/null +++ b/tests/run/i4496a.scala @@ -0,0 +1,11 @@ +import scala.reflect.Selectable.reflectiveSelectable +class Foo1 { val a: Int = 10 } +class Foo2 { def a: Int = 10 } +class Foo3 { var a: Int = 10 } +object Test { + def main(args: Array[String]): Unit = { + assert((new Foo1 : {val a: Int}).a == 10) + assert((new Foo2 : {val a: Int}).a == 10) + assert((new Foo3 : {val a: Int}).a == 10) + } +}