RX0034

डोमेन: इंजन

त्रुटि संदेश

बिल्ट-इन %s कोई heap effect घोषित नहीं करता (%s)

संदेश में %s उस मान की जगह है जिसे इंजन त्रुटि उठाते समय भरता है।

कहानी

इंजन का जन्म रुका, क्योंकि एक बिल्ट-इन ने अपना effect घोषित ही नहीं किया। यानी उसने कहीं नहीं बताया कि वह heap के साथ क्या कर सकता है। पुराने दिनों में यह ठीक था, क्योंकि बिल्ट-इन सिर्फ़ परखे हुए मान पाता और एक मान लौटाता था, heap को छू ही नहीं सकता था। अब बिल्ट-इन को fedex के अपने द्वार मिलते हैं, तो वह लिख भी सकता है। तब चुप्पी खतरनाक हो जाती है: कोई नहीं जानता कि यह लिखेगा या नहीं, और रन की बही के पास जाँचने को कोई घोषित सीमा नहीं बचती। इंजन अपनी तरफ़ से writes none मान लेने का आसान रास्ता भी नहीं लेता, क्योंकि जिस effect को किसी ने घोषित नहीं किया वह पंक्ति की पहचान का हिस्सा नहीं हो सकता। जैसे दवा की शीशी पर कोई लेबल ही न हो। इलाज: उस बिल्ट-इन की पंक्ति में builtin.effect <reads> <writes> <partition> <touches> लिखिए, हर अक्ष के लिए effect.feml में घोषित शब्द के साथ। संदेश में बिल्ट-इन का नाम है।

पाठ Rush इंजन की त्रुटि सूची से लिया गया है।