aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Torreborre <etorreborre@yahoo.com>2017-06-14 17:20:42 +0200
committerEric Torreborre <etorreborre@yahoo.com>2017-06-14 17:21:39 +0200
commit66c3d62ebb08eb0054ade9b98dc7a477976117b7 (patch)
tree1055e0214964fb5e50348c55525b0394045820ca
parent72c4a8d33528f924d4623eb204539455b82c4e01 (diff)
downloadcbt-66c3d62ebb08eb0054ade9b98dc7a477976117b7.tar.gz
cbt-66c3d62ebb08eb0054ade9b98dc7a477976117b7.tar.bz2
cbt-66c3d62ebb08eb0054ade9b98dc7a477976117b7.zip
added an example
-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