It's about the next line:
def setDesc[B >: T](d: B) {_desc = d.asInstanceOf[T]}.

I expected it would work as "def setDesc(d: T) {_desc=d}", but it wont compile.