從2.8.1遷移到2.9.1發現有趣的事情。 試圖在控制檯中這樣寫:Scala 2.9.1中Set4的奇怪行爲?
>>import collection.immutable.Set.Set4
>>new Set4[Int](1,2,3,4)
它提供:
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]?
我使用Scala的版本2.9.1.final(Java的熱點(TM)客戶端虛擬機,Java的1.6.0_26)。
同樣的事情發生在類Set3和Set2上。
這些已知問題?
或者,也許我做錯了什麼?
在斯卡拉2.8.1控制檯它的工作原理,並返回:
res0: collection.immutable.Set.Set4[Int] = Set(1,2,3,4)
我必須對這些作爲錯誤報告?
你有直接使用'Set4'的原因嗎? – soc
是的,我想要一個帶有四個整數的鍵,它將經常用於Set操作(如|,&,&〜),因爲它想要一個具有優化實現的對象。 –
'Set(1,2,3,4).isInstanceOf [collection.immutable.Set.Set4 [Int]] == true'這已經自動發生了。 – soc