diff options
-rw-r--r-- | test/files/neg/t8372.check | 7 | ||||
-rw-r--r-- | test/files/neg/t8372.scala | 10 |
2 files changed, 17 insertions, 0 deletions
diff --git a/test/files/neg/t8372.check b/test/files/neg/t8372.check new file mode 100644 index 0000000000..87c27a26cc --- /dev/null +++ b/test/files/neg/t8372.check @@ -0,0 +1,7 @@ +t8372.scala:7: error: tpe T1 is an unresolved spliceable type + def unzip[T1, T2](a: Array[(T1, T2)]) = a.unzip + ^ +t8372.scala:9: error: tpe T1 is an unresolved spliceable type + def unzip3[T1, T2, T3](a: Array[(T1, T2, T3)]): (Array[T1], Array[T2], Array[T3]) = a.unzip3 + ^ +two errors found diff --git a/test/files/neg/t8372.scala b/test/files/neg/t8372.scala new file mode 100644 index 0000000000..60a674f4d8 --- /dev/null +++ b/test/files/neg/t8372.scala @@ -0,0 +1,10 @@ +class t8372 { + // failed with "error: tpe T1 is an unresolved spliceable type"; that was caused by + // misguided type inference of type parameters in ArrayOps.unzip + // the type inference failed because the order of implicit arguments was wrong + // the evidence that T <: (T1, T2) came as last argument so it couldn't guide the + // type inference early enough + def unzip[T1, T2](a: Array[(T1, T2)]) = a.unzip + // the same as above + def unzip3[T1, T2, T3](a: Array[(T1, T2, T3)]): (Array[T1], Array[T2], Array[T3]) = a.unzip3 +} |