summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/io
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-03-05 21:56:37 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-03-05 22:13:17 -0800
commit67f0694af926a92dba7522488a6d2f3d6eacbeef (patch)
tree26d1374c674b1c196f852dca06a0d8fbc5c49574 /src/compiler/scala/tools/nsc/io
parent45cce6f2d1baf80de6c6e880fe875db5ef43cec8 (diff)
parent889020dfab9f99a3198528fedb699c061027acab (diff)
downloadscala-67f0694af926a92dba7522488a6d2f3d6eacbeef.tar.gz
scala-67f0694af926a92dba7522488a6d2f3d6eacbeef.tar.bz2
scala-67f0694af926a92dba7522488a6d2f3d6eacbeef.zip
Merge 2.10.x into master.
Resurrect some undead code from 373ded2ad3 (tuple2Pickler). Conflicts: src/compiler/scala/tools/nsc/interactive/CompilerControl.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala
Diffstat (limited to 'src/compiler/scala/tools/nsc/io')
-rw-r--r--src/compiler/scala/tools/nsc/io/Pickler.scala6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/io/Pickler.scala b/src/compiler/scala/tools/nsc/io/Pickler.scala
index 43a6ef3c61..0e7da37c52 100644
--- a/src/compiler/scala/tools/nsc/io/Pickler.scala
+++ b/src/compiler/scala/tools/nsc/io/Pickler.scala
@@ -327,6 +327,12 @@ object Pickler {
}
}
+ /** A pickler for pairs, represented as `~`-pairs */
+ implicit def tuple2Pickler[T1: Pickler, T2: Pickler]: Pickler[(T1, T2)] =
+ (pkl[T1] ~ pkl[T2])
+ .wrapped { case x1 ~ x2 => (x1, x2) } { case (x1, x2) => x1 ~ x2 }
+ .labelled ("tuple2")
+
/** A pickler for 3-tuples, represented as `~`-tuples */
implicit def tuple3Pickler[T1, T2, T3](implicit p1: Pickler[T1], p2: Pickler[T2], p3: Pickler[T3]): Pickler[(T1, T2, T3)] =
(p1 ~ p2 ~ p3)