diff options
author | Paul Phillips <paulp@improving.org> | 2013-04-19 14:28:07 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-04-19 14:28:07 -0700 |
commit | 2ecd09fe1d79371ea5bcc529066d7bda0146cca3 (patch) | |
tree | 60f8e19490af64ee17fc8ecd4e8cfcdeb3acbe2f /test | |
parent | 14c50279d0771a8f0ec1f7a05b912ed1c84820b1 (diff) | |
parent | ef04619e3032dd513bf2e219a03ecf53e8dc8ce6 (diff) | |
download | scala-2ecd09fe1d79371ea5bcc529066d7bda0146cca3.tar.gz scala-2ecd09fe1d79371ea5bcc529066d7bda0146cca3.tar.bz2 scala-2ecd09fe1d79371ea5bcc529066d7bda0146cca3.zip |
Merge pull request #2370 from retronym/ticket/7319-2
SI-7319 Avoid unflushed error/warning buffers in startContext
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/t7319.check | 38 | ||||
-rw-r--r-- | test/files/run/t7319.scala | 13 |
2 files changed, 51 insertions, 0 deletions
diff --git a/test/files/run/t7319.check b/test/files/run/t7319.check new file mode 100644 index 0000000000..966736915e --- /dev/null +++ b/test/files/run/t7319.check @@ -0,0 +1,38 @@ +Type in expressions to have them evaluated. +Type :help for more information. + +scala> + +scala> class M[A] +defined class M + +scala> implicit def ma0[A](a: A): M[A] = null +warning: there were 1 feature warning(s); re-run with -feature for details +ma0: [A](a: A)M[A] + +scala> implicit def ma1[A](a: A): M[A] = null +warning: there were 1 feature warning(s); re-run with -feature for details +ma1: [A](a: A)M[A] + +scala> def convert[F[X <: F[X]]](builder: F[_ <: F[_]]) = 0 +warning: there were 1 feature warning(s); re-run with -feature for details +convert: [F[X <: F[X]]](builder: F[_ <: F[_]])Int + +scala> convert(Some[Int](0)) +<console>:12: error: no type parameters for method convert: (builder: F[_ <: F[_]])Int exist so that it can be applied to arguments (Some[Int]) + --- because --- +argument expression's type is not compatible with formal parameter type; + found : Some[Int] + required: ?F forSome { type _$1 <: ?F forSome { type _$2 } } + convert(Some[Int](0)) + ^ +<console>:12: error: type mismatch; + found : Some[Int] + required: F[_ <: F[_]] + convert(Some[Int](0)) + ^ + +scala> 0 +res1: Int = 0 + +scala> diff --git a/test/files/run/t7319.scala b/test/files/run/t7319.scala new file mode 100644 index 0000000000..23ffeb977d --- /dev/null +++ b/test/files/run/t7319.scala @@ -0,0 +1,13 @@ +import scala.tools.partest.ReplTest + +object Test extends ReplTest { + // so we can provide the ambiguities, rather than relying in Predef implicits + override def extraSettings = "-Yno-predef" + override def code = """ +class M[A] +implicit def ma0[A](a: A): M[A] = null +implicit def ma1[A](a: A): M[A] = null +def convert[F[X <: F[X]]](builder: F[_ <: F[_]]) = 0 +convert(Some[Int](0)) +0""" // before the fix, this line, and all that followed, re-issued the implicit ambiguity error. +} |