The Problem:
any sub-dependency can break no_std, resulting in an error like this:
error: duplicate lang item in crate `std`: `f32_runtime`.
|
= note: first defined in crate `sgx_tstd`.
error: duplicate lang item in crate `std`: `f64_runtime`.
|
= note: first defined in crate `sgx_tstd`.
error: duplicate lang item in crate `std`: `panic_impl`.
|
= note: first defined in crate `sgx_tstd`.
error: duplicate lang item in crate `std`: `oom`.
|
= note: first defined in crate `sgx_trts`.
The compiler doesn't give me any hint, which (sub)dependency causes this issue. Like this it is very annoying and time-consuming to sort out such errors.
Would it be possible that rustc gives us a hint to colliding crates?
I'm currently porting crates to support
no_std
to use them with https://github.com/baidu/rust-sgx-sdkThe Problem: any sub-dependency can break no_std, resulting in an error like this:
The compiler doesn't give me any hint, which (sub)dependency causes this issue. Like this it is very annoying and time-consuming to sort out such errors.
Would it be possible that rustc gives us a hint to colliding crates?
Maybe something like https://github.com/sfackler/cargo-tree could help visualizing no_std crates automatically?