2011-09-15 20 views
9

2.8.1'den 2.9.1'e geçiş yapmak ilginç bir şeydi. konsolunda bunu yazmak için çalıştı:Scala 2.9.1'de Set4'ün garip davranışı?

>>import collection.immutable.Set.Set4 
>>new Set4[Int](1,2,3,4) 

O verir:

java.lang.Error: Unexpected New 
    at scala.tools.nsc.symtab.SymbolTable.abort(SymbolTable.scala:34) 
    at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$bac 
.......................... 
That entry seems to have slain the compiler. Shall I replayscala:660) 
your session? I can re-run each line except the last one.reach(ListBuffer.scala: 
[y/n]? 

Ben Scala versiyonu 2.9.1.final kullanıyorum (Java HotSpot (TM) Client VM, Java 1.6.0_26).
Ve aynı şeyler Set3 ve Set2 sınıfları ile olur.
Bu bilinen sorunlar mı?
Ya da, bir şeyleri yanlış mı yapıyorum? Çalışır scala 2.8.1 konsolunda
ve iadeler: Ben hata olarak bunlar hakkında

res0: collection.immutable.Set.Set4[Int] = Set(1,2,3,4) 

rapor olmalı?

+0

'Set4'ü doğrudan kullanmanın bir nedeni var mı? – soc

+0

Evet, en iyi duruma getirilmiş bir uygulamaya sahip olmak istediğinden, Set işlemleriyle (|, &, & ~) sık olarak kullanılabilecek dört tamsayıya sahip bir anahtar istiyorum. –

+2

'Set (1,2,3,4) .isInstanceOf [collection.immutable.Set.Set4 [Int]] == true' bu zaten otomatik olarak gerçekleşir. – soc

cevap

7

Evet. Bu bir derleyici hatası, devam et ve rapor et.

+0

(Verified on 2.10. Sorun numarasını buraya tekrar göndermeyi unutmayın: D) – soc

+1

Sorun [SI-4999] (https: // issue. scala-lang.org/browse/SI-4999). –

+0

Teşekkürler! SI hatalarının çözümüne katılmak istersam, nasıl başlamalıyım? –