aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/kindprojector-example/Main.scala10
-rw-r--r--examples/kindprojector-example/build/build.scala11
-rw-r--r--stage2/plugins/KindProjector.scala4
-rw-r--r--test/test.scala5
4 files changed, 29 insertions, 1 deletions
diff --git a/examples/kindprojector-example/Main.scala b/examples/kindprojector-example/Main.scala
new file mode 100644
index 0000000..3da3aaf
--- /dev/null
+++ b/examples/kindprojector-example/Main.scala
@@ -0,0 +1,10 @@
+package kindprojector_example
+
+object Main {
+
+ def parametric[F[_]]: Unit = ()
+
+ def main(args: Array[String]): Unit = {
+ parametric[Either[String, ?]]
+ }
+}
diff --git a/examples/kindprojector-example/build/build.scala b/examples/kindprojector-example/build/build.scala
new file mode 100644
index 0000000..e5ad8b4
--- /dev/null
+++ b/examples/kindprojector-example/build/build.scala
@@ -0,0 +1,11 @@
+package kindprojector_example_build
+
+import cbt._
+
+class Build(val context: Context) extends BaseBuild with KindProjectorPlugin {
+
+ override def scalacOptions: Seq[String] =
+ super.scalacOptions ++
+ Seq("-language:higherKinds")
+
+}
diff --git a/stage2/plugins/KindProjector.scala b/stage2/plugins/KindProjector.scala
index 1e04a08..cb8a776 100644
--- a/stage2/plugins/KindProjector.scala
+++ b/stage2/plugins/KindProjector.scala
@@ -1,5 +1,7 @@
package cbt
+import java.io.File
+
trait KindProjectorPlugin extends BaseBuild {
def kindProjectorVersion = "0.9.4"
@@ -11,7 +13,7 @@ trait KindProjectorPlugin extends BaseBuild {
object KindProjector {
def dependencies(
- scalaMajorVersion: String, kindProjectorVersion: String, cbtLastModified: Long, mavenCache: java.io.File
+ scalaMajorVersion: String, kindProjectorVersion: String, cbtLastModified: Long, mavenCache: File
)(
implicit logger: Logger, transientCache: java.util.Map[AnyRef,AnyRef], classLoaderCache: ClassLoaderCache
) =
diff --git a/test/test.scala b/test/test.scala
index 74177c5..81a164f 100644
--- a/test/test.scala
+++ b/test/test.scala
@@ -459,6 +459,11 @@ object Main{
lib.write(sourceFile, sourceBefore)
}
+ {
+ val res = runCbt("../examples/kindprojector-example", Seq())
+ assert(res.exit0)
+ }
+
/*
// currently fails with
// java.lang.UnsupportedOperationException: scalafix.rewrite.ScalafixMirror.fromMirror $anon#typeSignature requires the semantic api