त्रुटि संदेश
संदेश में %s उस मान की जगह है जिसे इंजन त्रुटि उठाते समय भरता है।
कहानी
इंजन शुरू होते ही रुका और बताया कि builtins.feml में बिल्ट-इन इतने ज़्यादा हैं कि एक contract set में नहीं समा सकते। मामला यह है। निष्पादन-विधि असल में tungsten का एक contract set है, यानी हर बिल्ट-इन के लिए एक contract। और हर बिल्ट-इन उसमें दो बार जुड़ता है: एक बार अपने नाम से, और एक बार अपने effect के नाम से। तो सेट की क्षमता W_MAX_CONTRACTS है, और बिल्ट-इन की सीमा उसका आधा। यह गणित एक ही जगह परिभाषित है, ताकि घोषित और लागू सीमा कभी अलग न हों। जब सीमा पार हो जाती है, तो इंजन चुपके से पंक्तियाँ नहीं गिराता, क्योंकि ऐसी तालिका किसी मौजूद बिल्ट-इन के बारे में कह देती कि वह है ही नहीं, और वह झूठ पकड़ना नामुमकिन होता। इसलिए जन्म अस्वीकार होता है, और संदेश में सीमा और वह बिल्ट-इन लिखा है जहाँ सीमा टूटी। जैसे बस में बीस सीटें हों और इक्कीसवाँ यात्री चढ़ आए। इलाज दो हैं: tungsten का W_MAX_CONTRACTS बढ़ाइए, या घोषणा को एक से अधिक contract set में बाँट दीजिए। Trinity और effect तालिकाओं की अपनी सीमा पार होने पर भी यही संदेश उनकी सीमा का नाम लेकर आता है।
पाठ Rush इंजन की त्रुटि सूची से लिया गया है।
