summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-01-28 08:42:27 +0100
committerJason Zaugg <jzaugg@gmail.com>2013-01-28 08:42:27 +0100
commitee24807f8706bb91b9d854eaba39f0ddd9c2a054 (patch)
treef690f9838718f0aa4ab9ffea29fa7cb3a7c76443 /test/files/run
parent1a7de4314ac72bca81e31ad3ac0af7bee7eed26b (diff)
downloadscala-ee24807f8706bb91b9d854eaba39f0ddd9c2a054.tar.gz
scala-ee24807f8706bb91b9d854eaba39f0ddd9c2a054.tar.bz2
scala-ee24807f8706bb91b9d854eaba39f0ddd9c2a054.zip
Move a test from pos to run to highlight bytecode deficiencies.
We'll address them in subsequent commits.
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/t6259.scala56
1 files changed, 56 insertions, 0 deletions
diff --git a/test/files/run/t6259.scala b/test/files/run/t6259.scala
new file mode 100644
index 0000000000..a5a7bf9043
--- /dev/null
+++ b/test/files/run/t6259.scala
@@ -0,0 +1,56 @@
+import scala.reflect.runtime.universe._
+
+class A[X](implicit val tt: TypeTag[X]) {}
+object B extends A[String]
+
+object C {
+ object D extends A[String]
+}
+
+trait E {
+ object F extends A[String]
+}
+
+class G {
+ object H extends A[String]
+}
+
+object HasX {
+ val x = {
+ object InVal extends A[String]
+ InVal
+ 5
+ }
+
+}
+
+trait NeedsEarly {
+ val x: AnyRef
+}
+
+object Early extends {
+ // Drops to this.getClass and is not ok...
+ val x = { object EarlyOk extends A[String]; EarlyOk }
+} with NeedsEarly
+
+
+class DoubleTrouble[X](x: AnyRef)(implicit override val tt: TypeTag[X]) extends A[X]
+
+object DoubleOk extends DoubleTrouble[String]({
+ // Drops to this.getClass and is an issue
+ object InnerTrouble extends A[String];
+ InnerTrouble
+})
+
+object Test extends App {
+ B
+ C.D
+ val e = new E {}; e.F
+ val g = new G; g.H
+
+ //locally(HasX.x) TODO sort out VerifyError in HasX$InVal$2$.<init> by accounting for nesting in Namer#inConstructorFlag
+ // locally(Early.x) TODO sort out VerifyError in Early$.<init>
+ // DoubleOk TODO sort out VerifyError in DoubleOk$.<init>
+}
+
+