ariáveis mais baixas na correspondência de padrões

Este código funciona bem:

val StringManifest = manifest[String]
val IntManifest = manifest[Int]

def check[T: Manifest] = manifest[T] match {
    case StringManifest => "string"
    case IntManifest => "int"
    case _ => "something else"
}

Mas se minúsculas a primeira letra das variáveis:

val stringManifest = manifest[String]
val intManifest = manifest[Int]

def check[T: Manifest] = manifest[T] match {
    case stringManifest => "string"
    case intManifest => "int"
    case _ => "something else"
}

bteremos o erro "código inacessível"

Quais são as razões desse comportamento?

questionAnswers(2)

yourAnswerToTheQuestion