2011-09-15 29 views
9

Thực hiện di chuyển từ 2.8.1 đến 2.9.1 đã tìm thấy điều thú vị. Cố gắng viết những dòng này trong giao diện điều khiển:Hành vi lạ lùng của Set4 trong scala 2.9.1?

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

Nó cung cấp cho:

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

Tôi đang sử dụng phiên bản Scala 2.9.1.final (Java HotSpot (TM) Khách hàng VM, Java 1.6.0_26).
Và những điều tương tự cũng xảy ra với các lớp Set3 và Set2.
Có phải những vấn đề đã biết này không?
Hoặc, có thể, tôi đang làm điều gì sai?
Trong scala 2.8.1 giao diện điều khiển nó hoạt động, và lợi nhuận:

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

Tôi Phải báo cáo về những lỗi như?

+0

Có lý do nào bạn sử dụng 'Set4' trực tiếp không? – soc

+0

Có, tôi muốn có một khóa với bốn số nguyên, sẽ được sử dụng thường xuyên với các phép toán Set (như |, &, & ~), vì nó muốn có một đối tượng với việc triển khai tối ưu. –

+2

'Set (1,2,3,4) .isInstanceOf [collection.immutable.Set.Set4 [Int]] == true' điều này xảy ra tự động rồi. – soc

Trả lời

7

Có. Đây là lỗi trình biên dịch, hãy tiếp tục và báo cáo lỗi đó.

+0

(Đã xác minh ngày 2.10. Đừng quên đăng số phát hành ở đây một lần nữa: D) – soc

+1

Phát hành [SI-4999] (https: // issue). scala-lang.org/browse/SI-4999). –

+0

Cảm ơn! Nếu tôi muốn tham gia giải quyết các lỗi SI, tôi phải bắt đầu như thế nào? –