summaryrefslogtreecommitdiff
path: root/test/files/pos/t3582.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2010-08-09 11:51:37 +0000
committerAdriaan Moors <adriaan.moors@epfl.ch>2010-08-09 11:51:37 +0000
commit3ac03c3d3f0e21f279ba8c405351e445af623ceb (patch)
treeea405a577a99904525cc9b3042d7c5ac207ae20c /test/files/pos/t3582.scala
parent40aafbdf1a9a52c1236f07e06d48fb24b5fa2169 (diff)
downloadscala-3ac03c3d3f0e21f279ba8c405351e445af623ceb.tar.gz
scala-3ac03c3d3f0e21f279ba8c405351e445af623ceb.tar.bz2
scala-3ac03c3d3f0e21f279ba8c405351e445af623ceb.zip
closes #3582: typedTypeDef needs to run in a ne...
closes #3582: typedTypeDef needs to run in a new typer for TypeDefs with type parameters this was honored when typedTypeDef was called by typed1, but other callers did not this would cause higher-order type parameters to be re-entered in the scope of a method or a class (by the way, should we recycle scopes for higher-order type params? now new scopes are created, symbols entered, and tree's symbols updated) changed some spurious vars to vals review by odersky
Diffstat (limited to 'test/files/pos/t3582.scala')
-rw-r--r--test/files/pos/t3582.scala12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/files/pos/t3582.scala b/test/files/pos/t3582.scala
new file mode 100644
index 0000000000..0ac112efbf
--- /dev/null
+++ b/test/files/pos/t3582.scala
@@ -0,0 +1,12 @@
+trait C[A]
+object Test {
+ def ImplicitParamCA[CC[A], A](implicit ev: C[A]) {implicitly[C[A]]} // must use this exact syntax...
+ // error: could not find implicit value for parameter e: C[A]
+}
+// [[syntax trees at end of typer]]
+// abstract trait C#5[A#9116 >: Nothing#5832 <: Any#52] extends scala#33.AnyRef#2780;
+// final object Test#15 extends java.lang.Object#2485 with ScalaObject#1913 {
+// def ImplicitParamCA#9123[CC#9124[A#10858 >: Nothing#5832 <: Any#52] >: [A#10858]Nothing#5832 <: [A#10858]Any#52,
+// A#9125 >: Nothing#5832 <: Any#52](implicit ev#10856: C#5[A#9127]): Unit#3818
+// = scala#34.this.Predef#1683.implicitly#8816[C#5[A#10858]]()
+// }