2011-09-15 30 views
9

2.8.1 से 2.9.1 तक माइग्रेशन बनाना दिलचस्प बात पाई। कंसोल में इस बारे में करने की कोशिश की:स्कैला 2.9.1 में सेट 4 का अजीब व्यवहार?

>>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 उपयोग कर रहा हूँ (जावा हॉटस्पॉट (टीएम) क्लाइंट वी एम, जावा 1.6.0_26)।
और वही चीजें कक्षा 3 और सेट 2 के साथ होती हैं।
क्या ये ज्ञात मुद्दे हैं?
या, शायद, मैं कुछ गलत कर रहा हूं?
स्केला 2.8.1 कंसोल में यह काम करता है, और रिटर्न:

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

मैं बग के रूप में इन के बारे में रिपोर्ट करना होगा?

+0

क्या कोई कारण है कि आप सीधे 'Set4' का उपयोग करते हैं? – soc

+0

हां, मैं चार पूर्णांक के साथ एक कुंजी रखना चाहता हूं, जिसका उपयोग अक्सर सेट ऑपरेशंस (जैसे |, &, & ~) के साथ किया जाएगा, क्योंकि यह अनुकूलित कार्यान्वयन के साथ ऑब्जेक्ट रखना चाहता था। –

+2

'सेट (1,2,3,4) .isInstanceOf [collection.immutable.Set.Set4 [Int]] == true' यह स्वचालित रूप से पहले से ही होता है। – soc

उत्तर

7

हां। यह एक कंपाइलर बग है, आगे बढ़ें और इसकी रिपोर्ट करें।

+0

(2.10 पर सत्यापित किया गया। समस्या संख्या को फिर से पोस्ट करना न भूलें: डी) – soc

+1

समस्या [एसआई -49 99] (https: // मुद्दे। scala-lang.org/browse/SI-4999)। –

+0

धन्यवाद! अगर मैं एसआई बग को हल करने में भाग लेना चाहता हूं, तो मुझे कैसे शुरू करना चाहिए? –