Fare una migrazione da 2.8.1 a 2.9.1 ha trovato una cosa interessante. provato a scrivere questo in console:Strano comportamento di Set4 in scala 2.9.1?
>>import collection.immutable.Set.Set4
>>new Set4[Int](1,2,3,4)
Dà:
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]?
Sto usando Scala versione 2.9.1.final (Java HotSpot (TM) client VM, Java 1.6.0_26).
E le stesse cose accadono con le classi Set3 e Set2.
Questi problemi noti sono noti?
O, forse, sto facendo qualcosa di sbagliato?
a Scala console 2.8.1 funziona, e ritorna:
res0: collection.immutable.Set.Set4[Int] = Set(1,2,3,4)
devo riferire su questi come bug?
C'è un motivo per cui usi 'Set4' direttamente? – soc
Sì, voglio avere una chiave con quattro numeri interi, che saranno frequentemente usati con le operazioni Set (come |, &, & ~), perché volevano avere un oggetto con implementazione ottimizzata. –
'Set (1,2,3,4) .isInstanceOf [collection.immutable.Set.Set4 [Int]] == true' questo succede già automaticamente. – soc