scala 2.8.0.RC2 compiler problem on pattern matching statement?
- by gruenewa
Why does the following module not compile on Scala 2.8.RC[1,2]?
object Test {
import util.matching.Regex._
val pVoid = """\s*void\s*""".r
val pVoidPtr = """\s*(const\s+)?void\s*\*\s*""".r
val pCharPtr = """\s*(const\s+)GLchar\s*\*\s*""".r
val pIntPtr = """\s*(const\s+)?GLint\s*\*\s*""".r
val pUintPtr = """\s*(const\s+)?GLuint\s*\*\s*""".r
val pFloatPtr = """\s*(const\s+)?GLfloat\s*\*\s*""".r
val pDoublePtr = """\s*(const\s+)?GLdouble\s*\*\s*""".r
val pShortPtr = """\s*(const\s+)?GLshort\s*\*\s*""".r
val pUshortPtr = """\s*(const\s+)?GLushort\s*\*\s*""".r
val pInt64Ptr = """\s*(const\s+)?GLint64\s*\*\s*""".r
val pUint64Ptr = """\s*(const\s+)?GLuint64\s*\*\s*""".r
def mapType(t: String): String = t.trim match {
case pVoid() => "Unit"
case pVoidPtr() => "ByteBuffer"
case pCharPtr() => "CharBuffer"
case pIntPtr() | pUintPtr() => "IntBuffer"
case pFloatPtr() => "FloatBuffer"
case pShortPtr() | pUshortPtr() => "ShortBuffer"
case pDoublePtr() => "DoubleBuffer"
case pInt64Ptr() | pUint64Ptr() => "LongBuffer"
case x => x
}
}