मैं अपने सब्सट्रेट 1.0 रनटाइम मॉड्यूल (node-template पर आधारित) में एक बाहरी टोकरा का उपयोग कर रहा हूं, जो एक संकलन त्रुटि देता है

duplicate lang item in crate 'std' (which 'myexternalcrate' depends on): 'panic_impl'.

= note: first defined in crate `sr_io` (which `node_template_runtime` depends on).

अगर मैं संदेश को सही ढंग से समझता हूं तो मुझे लगता है कि यह एक सामान्य समस्या हो सकती है यदि डेवलपर्स बाहरी क्रेट्स को शामिल करना चाहते हैं जो std सुविधाओं पर भरोसा करते हैं जो पहले से ही sr-io में लागू हैं, लेकिन मुझे यकीन नहीं है कि यह है सही।

मैंने इस मुद्दे को यहां देखा है, जो कि sr में ठीक किया गया प्रतीत होता है -io लेकिन यह यहाँ कारण प्रतीत नहीं होता है।

क्या इसे हल करने का उनका दूसरा तरीका है?

संपादित करें: Cargo.toml में परिवर्तन जोड़ना हम nacl . नामक टोकरा खींचने का प्रयास कर रहे हैं

[dependencies]
nacl = {version = "0.3.0", default-features = false}

lib.rs में जोड़ा गया

extern crate nacl;

रनटाइम मॉड्यूल में

use nacl::public_box::*;
5
T9b 18 पद 2019, 12:26

1 उत्तर

सबसे बढ़िया उत्तर

आप जिस क्रेट का उपयोग करने का प्रयास कर रहे हैं (rust-nacl) वह no_std का समर्थन नहीं करता है, और इस प्रकार सब्सट्रेट रनटाइम वातावरण में उपयोग नहीं किया जा सकता है।

विकल्प हैं:

  • एक और टोकरा खोजें जो no_std का समर्थन करता हो और जिसमें समान कार्यक्षमता हो: https://crates.io/keywords/ no_std
  • no_std का समर्थन करने के लिए एक टोकरा अपडेट/लिखें (जो कि टोकरा के आधार पर उतना खराब नहीं हो सकता है)।
3
Shawn Tabrizi 18 पद 2019, 12:49