aboutsummaryrefslogtreecommitdiff
path: root/tests/run/structural.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/structural.scala')
-rw-r--r--tests/run/structural.scala16
1 files changed, 4 insertions, 12 deletions
diff --git a/tests/run/structural.scala b/tests/run/structural.scala
index 43f008b5f..0f18f4579 100644
--- a/tests/run/structural.scala
+++ b/tests/run/structural.scala
@@ -1,22 +1,14 @@
-case class Record(elems: (String, Any)*)
-
-object Record {
-
- implicit def projector: Projector[Record] = new Projector[Record] {
- def get(receiver: Record, name: String): Any =
- receiver.elems.find(_._1 == name).get._2
- }
-
+case class Record(elems: (String, Any)*) extends Selectable {
+ def selectDynamic(name: String): Any = elems.find(_._1 == name).get._2
}
object Test {
- import scala.reflect.Projector.reflectiveProjector
- import Record.projector
+ import scala.reflect.Selectable.reflectiveSelectable
def f(closeable: { def close(): Unit }) =
closeable.close()
- type RN = Record { val name: String }
+ type RN = Record { val name: String; val age: Int }
def g(r: RN) = r.name