型パラメータが与えられた型を拡張しないようにgenericを定義したいと思います。例えば型パラメータが与えられた型を継承しない
、
trait myTrait[T <: Throwable] {
// ....
}
は、そのタイプパラメータがのThrowableを拡張形質を定義します。私はスカラーコードではないものを望んでいます:
trait myTrait[T Not(<:) Throwable] {
// ....
}
ここで、型パラメーターはThrowableを拡張しません。 Scalaでそのような概念を構築する方法はありますか?
面白いです。 Miles Sabin _just_は、「関数がユニット以外のものを返すようにする」というスレッドの下のスカラ言語リストに、これに対する答えを投稿しました:http://groups.google.com/group/scala-language/browse_thread/thread/e1242dfa7d65f599 –