2011-09-15 4 views
9

2.8.1에서 2.9.1로 마이 그 레이션을하면 흥미로운 점이 발견되었습니다. 콘솔이를 작성하는 시도 :스칼라 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]? 

내가 스칼라 버전 2.9.1.final를 사용하고 (자바 핫스팟 (TM) 클라이언트 VM, 자바 1.6.0_26).
Set3과 Set2 클래스에서도 같은 일이 발생합니다.
이러한 알려진 문제가 있습니까?
아니면 뭔가 잘못하고있는 것일까 요? 작동 스칼라 2.8.1 콘솔에서
, 반환 : 나는 버그로 이들에 대해

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

을보고해야합니까?

+0

'Set4'를 직접 사용하는 이유가 있습니까? – soc

+0

네, 4 개의 정수를 가진 키를 가지고 싶습니다. 그것은 최적화 된 구현을 가진 객체를 원했기 때문에 Set 연산 (|, &, & & ~ 등)과 함께 자주 사용됩니다. –

+2

'Set (1,2,3,4) .isInstanceOf [collection.immutable.Set.Set4 [Int]] == true' 이것은 자동으로 이미 발생합니다. – soc

답변

7

예. 이것은 컴파일러 버그이며, 계속 진행하고보고합니다.

+0

(2.10에서 확인. 여기에서 문제 번호를 다시 게시하는 것을 잊지 마십시오. D) – soc

+1

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

+0

감사합니다. SI 버그를 해결하는 데 참여하려면 어떻게 시작해야합니까? –