From 66c3d62ebb08eb0054ade9b98dc7a477976117b7 Mon Sep 17 00:00:00 2001 From: Eric Torreborre Date: Wed, 14 Jun 2017 17:20:42 +0200 Subject: added an example --- examples/kindprojector-example/Main.scala | 10 ++++++++++ examples/kindprojector-example/build/build.scala | 11 +++++++++++ stage2/plugins/KindProjector.scala | 4 +++- test/test.scala | 5 +++++ 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 examples/kindprojector-example/Main.scala create mode 100644 examples/kindprojector-example/build/build.scala 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 -- cgit v1.2.3