2016-04-01 18 views
1

Şöyle basit bir yardımcı fonksiyonu var olması gerekir:kullanın fonksiyonu parametre: Ek açıklama argümanı sabit

def apply[T: ClassTag](self: T, vid: Long): (T with Serializable) = { 
    self.asInstanceOf[T @SerialVersionUID(vid) with Serializable] 
    } 

o Scala 2.10.x mükemmel derler ama Scala 2.11.x I aşağıdaki hata var: nihai olarak işlev parametresini beyan etme imkansız yana

17: annotation argument needs to be a constant; found: vid 
[ERROR]  self.asInstanceOf[T @SerialVersionUID(vid) with Serializable] 
               ^

, bu beni çok verimsizdir vid, kodlamalısınız sınırlar. Bunu atlamanın bir yolu var mı?

cevap

0

Beyannamede (self: T, val vid: Long) hakkında ne var?

+0

bir işlev :-(Scala-2.11.7 tarafından desteklenmeyen bir sınıf değil. – tribbloid