diff --git a/sbt/src/sbt-test/compiler-project/error-in-invalidated/build.sbt b/sbt/src/sbt-test/compiler-project/error-in-invalidated/build.sbt new file mode 100644 index 000000000..f06e1de7d --- /dev/null +++ b/sbt/src/sbt-test/compiler-project/error-in-invalidated/build.sbt @@ -0,0 +1 @@ +incOptions := sbt.inc.IncOptions.Default diff --git a/sbt/src/sbt-test/compiler-project/error-in-invalidated/changes/A1.scala b/sbt/src/sbt-test/compiler-project/error-in-invalidated/changes/A1.scala new file mode 100644 index 000000000..713316bf2 --- /dev/null +++ b/sbt/src/sbt-test/compiler-project/error-in-invalidated/changes/A1.scala @@ -0,0 +1,3 @@ +class A { +// def initialized: Boolean = false +} diff --git a/sbt/src/sbt-test/compiler-project/error-in-invalidated/changes/A2.scala b/sbt/src/sbt-test/compiler-project/error-in-invalidated/changes/A2.scala new file mode 100644 index 000000000..c52c45808 --- /dev/null +++ b/sbt/src/sbt-test/compiler-project/error-in-invalidated/changes/A2.scala @@ -0,0 +1,3 @@ +class A { + def initialized: Boolean = false +} diff --git a/sbt/src/sbt-test/compiler-project/error-in-invalidated/pending b/sbt/src/sbt-test/compiler-project/error-in-invalidated/pending new file mode 100644 index 000000000..5f4cf63f8 --- /dev/null +++ b/sbt/src/sbt-test/compiler-project/error-in-invalidated/pending @@ -0,0 +1,9 @@ +> compile +# comment out `initialized` method in A +$ copy-file changes/A1.scala src/main/scala/A.scala +# compilation of A.scala succeeds but B.scala gets invalidated (properly) and B.scala fails to compile +-> compile +# we change A.scala to its original shape so compilation should succeed again +$ copy-file changes/A2.scala src/main/scala/A.scala +# this fails at the moment due to use of stale class file for A, see #958 for details +> compile diff --git a/sbt/src/sbt-test/compiler-project/error-in-invalidated/src/main/scala/A.scala b/sbt/src/sbt-test/compiler-project/error-in-invalidated/src/main/scala/A.scala new file mode 100644 index 000000000..c52c45808 --- /dev/null +++ b/sbt/src/sbt-test/compiler-project/error-in-invalidated/src/main/scala/A.scala @@ -0,0 +1,3 @@ +class A { + def initialized: Boolean = false +} diff --git a/sbt/src/sbt-test/compiler-project/error-in-invalidated/src/main/scala/B.scala b/sbt/src/sbt-test/compiler-project/error-in-invalidated/src/main/scala/B.scala new file mode 100644 index 000000000..066d5fc59 --- /dev/null +++ b/sbt/src/sbt-test/compiler-project/error-in-invalidated/src/main/scala/B.scala @@ -0,0 +1,3 @@ +class B { + def foo(a: A): Boolean = a.initialized +}