如何解决在substrate.dev中构建失败油墨!教程 sp-aritmetic缺乏类型?
我的构建失败。
在我使用以下命令测试合同之前,一切看起来都很好:
cargo +nightly test
我收到错误[E0282]
这是整个错误报告:
error[E0282]: type annotations needed
--> /home/mal/.cargo/registry/src/github.com-1ecc6299db9ec823/sp-arithmetic-2.0.0/src/fixed_point.rs:541:9
|
541 | let accuracy = P::ACCURACY.saturated_into();
| ^^^^^^^^ consider giving `accuracy` a type
...
1595 | / implement_fixed!(
1596 | | FixedI64,1597 | | test_fixed_i64,1598 | | i64,... |
1601 | | "_Fixed Point 64 bits signed,range = [-9223372036.854775808,9223372036.854775807]_",1602 | | );
| |__- in this macro invocation
|
= note: this error originates in a macro (in Nightly builds,run with -Z macro-backtrace for more info)
error[E0282]: type annotations needed
--> /home/mal/.cargo/registry/src/github.com-1ecc6299db9ec823/sp-arithmetic-2.0.0/src/fixed_point.rs:541:9
|
541 | let accuracy = P::ACCURACY.saturated_into();
| ^^^^^^^^ consider giving `accuracy` a type
...
1604 | / implement_fixed!(
1605 | | FixedI128,1606 | | test_fixed_i128,1607 | | i128,... |
1611 | | [-170141183460469231731.687303715884105728,170141183460469231731.687303715884105727]_",1612 | | );
| |__- in this macro invocation
|
= note: this error originates in a macro (in Nightly builds,run with -Z macro-backtrace for more info)
error[E0282]: type annotations needed
--> /home/mal/.cargo/registry/src/github.com-1ecc6299db9ec823/sp-arithmetic-2.0.0/src/fixed_point.rs:541:9
|
541 | let accuracy = P::ACCURACY.saturated_into();
| ^^^^^^^^ consider giving `accuracy` a type
...
1614 | / implement_fixed!(
1615 | | FixedU128,1616 | | test_fixed_u128,1617 | | u128,... |
1621 | | [0.000000000000000000,340282366920938463463.374607431768211455]_",1622 | | );
| |__- in this macro invocation
|
= note: this error originates in a macro (in Nightly builds,run with -Z macro-backtrace for more info)
error: aborting due to 3 previous errors
For more information about this error,try `rustc --explain E0282`.
error: could not compile `sp-arithmetic`
这是更广泛的教程的一部分。
我相信铁锈已经更新。
问题似乎是宏sp-aritmetic,但是我不确定如何给它一个“类型”。我的铁锈不存在了...
真的渴望进入Ink!因此我们将不胜感激。
解决方法
该错误的原因是从2020-10-06版本开始的rust night编译器中的regression。您需要rustup toolchain install 2020-10-05
并将其用于构建运行时,直到解决此问题为止。通常,最新的每晚会自动用于构建运行时。您可以通过设置WASM_BUILD_TOOLCHAIN
环境变量来覆盖此行为。在这种情况下:
export WASM_BUILD_TOOLCHAIN='nightly-2020-10-05'
如果要与货运合同订立合同,则应使用:
cargo +nightly-2020-10-05 contract build
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。