Looks like a bug in Slick 2.0.1-RC1.
As a workaround customize the code generator with the following fix.
http://slick.typesafe.com/doc/2.0.1-RC1/code-generation.html#customization
class MyCodeGenerator(model: Model) extends SourceCodeGenerator(model: Model){
protected def mytuple(i: Int) = termName(s"_${i+1}")
override def Table = new Table(_){
override def autoIncLastAsOption = true
override def PlainSqlMapper = new PlainSqlMapper{
override def code = {
val positional = compound(columnsPositional.map(c => (if(c.fakeNullable || c.model.nullable)s"<<?[${c.rawType}]"else s"<<[${c.rawType}]")))
val dependencies = columns.map(_.exposedType).distinct.zipWithIndex.map{ case (t,i) => s"""e$i: GR[$t]"""}.mkString(", ")
val rearranged = compound(desiredColumnOrder.map(i => if(hlistEnabled) s"r($i)" else mytuple(i)))
def result(args: String) = if(mappingEnabled) s"$factory($args)" else args
val body =
if(autoIncLastAsOption && columns.size > 1){
s"""
val r = $positional
import r._
${result(rearranged)} // putting AutoInc last
""".trim
} else
result(positional)
s"""
implicit def ${name}(implicit $dependencies): GR[${TableClass.elementType}] = GR{
prs => import prs._
${indent(body)}
}
""".trim
}
}
}
}