2011-09-15 11 views
9

Haciendo una migración de 2.8.1 a 2.9.1 encontró algo interesante. tratado de escribir esto en la consola:¿Comportamiento extraño de Set4 en scala 2.9.1?

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

Da:

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]? 

estoy usando Scala versión 2.9.1.final (Java HotSpot (TM) VM cliente, Java 1.6.0_26).
Y lo mismo sucede con las clases Set3 y Set2.
¿Se conocen estos problemas?
O, tal vez, estoy haciendo algo mal?
en Scala 2.8.1 consola funciona, y devuelve:

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

¿Debo informar acerca de estos como error?

+0

¿Hay alguna razón por la que use 'Set4' directamente? – soc

+0

Sí, deseo tener una clave con cuatro enteros, que se usará con frecuencia con operaciones de configuración (como |, &, y ~), porque quería tener un objeto con implementación optimizada. –

+2

'Set (1,2,3,4) .isInstanceOf [collection.immutable.Set.Set4 [Int]] == true' esto sucede automáticamente. – soc

Respuesta

7

Sí. Este es un error del compilador, adelante e infórmalo.

+0

(verificado el 2.10. No olvide volver a publicar el número de problema aquí) D) – soc

+1

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

+0

Gracias! Si quiero participar en la resolución de errores de SI, ¿cómo debo comenzar? –